I followed the following steps to build and flash my kernel on QEMU
:
make ARCH=arm distclean
make ARCH=arm versatile_defconfig
make ARCH=arm menuconfig
here you need to enable below feature.
Kernel Features ---> [*] Use theARM EABI
to compile the kernel. (enable this).make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage
qemu-system-arm -M versatilepb -m 128M -kernel arch/arm/boot/uImage -append "console=tty1"
Here you will get console saying that kernel panic. To avoid this pass yourrootfs
parameter.
I guess you built rootfs from busybox if so try below command to boot system completelyqemu-system-arm -M versatilepb -m 128M -kernel arch/arm/boot/uImage -initrd rootfs.img -append "root=/dev/ram mem=128M rdinit=/sbin/init" -serial stdio
On runtime, is kernel using a device tree to load the devices? If yes, how to confirm and where is the device tree located? (I need to make changes to the device tree file (.dts), but unable to find where is the file located) Please help