I have been trying the same for a few weeks and figured that u-boot is dead-end.
The last example you provided booted though (Thanks)
Code:
% qemu-system-arm --version
QEMU emulator version 4.0.0
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
% qemu-system-arm -M sabrelite -bios "files/u-boot.imx" -kernel "zImage" -dtb "zero-gravitas.dtb" -serial mon:stdio -display none -append "console=ttymxc0 loglevel=8 bootmem-debug"
'[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.1.28-zero-gravitas-01866-ge0b823726ea4-dirty (sandsmark@neruval) (gcc version 5.3.0 (GCC) ) #82 Thu Apr 27 14:27:47 CEST 2017
[ 0.000000] CPU: ARMv7 Processor [410fc090] revision 0 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[ 0.000000] Machine model: reMarkable Prototype 1
I managed to compile and boot the linux kernel from lab126 without u-boot.
Code:
% qemu-system-arm -M sabrelite -kernel "zImage" -dtb "imx6sll-rex.dtb" -serial mon:stdio -display none -append "console=ttymxc0 loglevel=8 bootmem-debug"
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.1.15-lab126 (root@drama) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP PREEMPT Tue Oct 1 17:03:51 EEST 2019
[ 0.000000] CPU: ARMv7 Processor [410fc090] revision 0 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[ 0.000000] Machine model: Lab126 i.MX6SLL Board
Here are my steps if you are willing to reproduce (Host is CentOS, Cross Compilation TC is what the host provided)
Code:
# wget https://kindledownloads.s3.amazonaws.com/Kindle_src_5.12.1_3552180044.tar.gz
tar xvf Kindle_src_5.12.1_3552180044.tar.gz
# cd gplrelease/
# tar xzvf linux-4.1.15.tar.gz
# export ARCH=arm
# export CROSS_COMPILE=arm-linux-gnu-
# make imx_rex_defconfig
# make -j2 all
# cp ./arch/arm/boot/zImage /root/drama/
# cp ./arch/arm/boot/dts/imx6sll-rex.dtb /root/drama/
Good luck, Man.