I am trying to boot linux kernel through U-Boot commandline.
Linux Compilation :
git clone https://github.com/suihkulokki/linux.git
git checkout -t origin/hikey-v4.15
export ARCH=arm64
export CROSS_COMPILE=/opt/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
make -j112
This gives me vmlinux. Now I did the following to generate a uImage :
${CROSS_COMPILE}-objcopy -O binary -R .note -R .comment -S vmlinux linux.bin
gzip -9 linux.bin
mkimage -A arm64 -O linux -T kernel -C gzip -a 0x80080000 -e 0x80080000 -n “Linux Kernel Image” -d linux.bin.gz uImage
Now I create 1 FAT32 partition (having uImgae) and 1 ext4 partition (having busybox rootfs)
Now in U-Boot console :
usb start
fatload usb 0:1 0x80080000 uImage
bootm 0x80080000
I get the following error :
“Synchronous Abort” handler, esr 0x96000210
elr: 0000000035019510 lr : 00000000350117cc (reloc)
elr: 000000003ef56510 lr : 000000003ef4e7cc
x0 : 0000000080080000 x1 : 0000000000000000
x2 : 0000000000000002 x3 : 0000000080080000
x4 : 000000003ef872e3 x5 : 0000000000000008
x6 : 0000000000000000 x7 : 0000000000000010
x8 : 0000000000000044 x9 : 0000000000000008
x10: 000000003e73d270 x11: 000000003e73e8a8
x12: 0000000000000000 x13: 0000000000000200
x14: 0000000000000000 x15: 00000000ffffffff
x16: 0000000000001110 x17: 0000000000000000
x18: 000000003e73ada8 x19: 000000003efa2f70
x20: 000000000000071f x21: 0000000000000001
x22: 000000003e73d3e8 x23: 0000000080080000
x24: 000000003ef98288 x25: 0000000000000000
x26: 000000003efa2000 x27: 0000000080080000
x28: 000000003efa2f70 x29: 000000003e738980
Resetting CPU …
I am not sure if the address 0x80080000 I am using is correct or not…