I'm studying about the boot loader.
I aim to build the Linux kernel and boot the zImage on qemu-system-arm. First, I installed a cross-compiler for vexpress-a9. Using crosstool-ng, I installed arm-cortexa9_neon-linux-gnueabihf, but I changed the target vendor name from cortexa9_neon to hello. After building, the following executable files were created in x-tools/bin.
arm-hello-linux-uclibcgnueabihf-addr2line arm-linux-addr2line
arm-hello-linux-uclibcgnueabihf-ar arm-linux-ar
arm-hello-linux-uclibcgnueabihf-as arm-linux-as
arm-hello-linux-uclibcgnueabihf-c++ arm-linux-c++
arm-hello-linux-uclibcgnueabihf-c++filt arm-linux-c++filt
arm-hello-linux-uclibcgnueabihf-cc arm-linux-cc
arm-hello-linux-uclibcgnueabihf-cpp arm-linux-cpp
arm-hello-linux-uclibcgnueabihf-ct-ng.config arm-linux-ct-ng.config
arm-hello-linux-uclibcgnueabihf-dwp arm-linux-dwp
arm-hello-linux-uclibcgnueabihf-elfedit arm-linux-elfedit
arm-hello-linux-uclibcgnueabihf-g++ arm-linux-g++
arm-hello-linux-uclibcgnueabihf-gcc arm-linux-gcc
arm-hello-linux-uclibcgnueabihf-gcc-13.2.0 arm-linux-gcc-13.2.0
arm-hello-linux-uclibcgnueabihf-gcc-ar arm-linux-gcc-ar
arm-hello-linux-uclibcgnueabihf-gcc-nm arm-linux-gcc-nm
arm-hello-linux-uclibcgnueabihf-gcc-ranlib arm-linux-gcc-ranlib
arm-hello-linux-uclibcgnueabihf-gcov arm-linux-gcov
arm-hello-linux-uclibcgnueabihf-gcov-dump arm-linux-gcov-dump
arm-hello-linux-uclibcgnueabihf-gcov-tool arm-linux-gcov-tool
arm-hello-linux-uclibcgnueabihf-gprof arm-linux-gprof
arm-hello-linux-uclibcgnueabihf-ld arm-linux-ld
arm-hello-linux-uclibcgnueabihf-ld.bfd arm-linux-ld.bfd
arm-hello-linux-uclibcgnueabihf-ld.gold arm-linux-ld.gold
arm-hello-linux-uclibcgnueabihf-ldd arm-linux-ldd
arm-hello-linux-uclibcgnueabihf-lto-dump arm-linux-lto-dump
arm-hello-linux-uclibcgnueabihf-nm arm-linux-nm
arm-hello-linux-uclibcgnueabihf-objcopy arm-linux-objcopy
arm-hello-linux-uclibcgnueabihf-objdump arm-linux-objdump
arm-hello-linux-uclibcgnueabihf-populate arm-linux-populate
arm-hello-linux-uclibcgnueabihf-ranlib arm-linux-ranlib
arm-hello-linux-uclibcgnueabihf-readelf arm-linux-readelf
arm-hello-linux-uclibcgnueabihf-size arm-linux-size
arm-hello-linux-uclibcgnueabihf-strings arm-linux-strings
arm-hello-linux-uclibcgnueabihf-strip arm-linux-strip
Next, I downloaded Linux version 6.6.33 and built it using the following commands.
make ARCH=arm CROSS_COMPILE=arm-hello-linux-uclibcgnueabihf-
I then attempted to boot using the zImage with the following qemu command. However, the outcome was as follows.
qemu-system-arm -M vexpress-a9 -m 128M -kernel zImage -nographic -append "console=ttyAMA0 root=/dev/mmcblk0 ro"
There is no progress at all. I expected the kernel to load and potentially produce a panic log, but nothing is being outputted.
Thanks for your helps!...
ps. I tried another command to build the kernel.
make ARCH=arm CROSS_COMPILE=arm-hello-linux-
But there is no output log too.