Kernel
Download kernel, unzip and compile
Make Arch=arm cross_compile=arm-linux-gnueabi-o=. /tl Distclean
Make Vexpress_defconfig arch=arm cross_compile=arm-linux-gnueabi-o=. /tl
Make Arch=arm cross_compile=arm-linux-gnueabi--j8 o=. /tl
Rootfs
Download the BusyBox code,
Make Arch=arm Menuconfig is configured under the compiler, configured as static BusyBox.
Make
Make install
Install under the _intall directory
Make Rootfs Image:
sudo mkdir tmpfs
sudo mount-t ext3 a9rootfs.ext3 tmpfs/-O loop
Cp-r busybox/_install/* tmpfs/
Download Fstab inittab RCS file from Https://github.com/mahadevvinay/Embedded_Linux_Files.git
CD TMPFS
Mkdir-p etc etc/init.d mkdir proc sys home Dev tmp root var mnt
Cd..
CP Fstab TMPFS/ETC
CP Inittab TMPFS/ETC
CP RcS TMPFS/ETC/INIT.D
sudo chmod a+x Tmpfs/etc/init.d/rcs
sudo umount tmpfs
Run
Qemu-system-arm-m vexpress-a9-m 512m-nographic-append "Root=/dev/mmcblk0 console=ttyama0"-kernel. /tl/arch/arm/boot/zimage-dtb. /tl/arch/arm/boot/dts/vexpress-v2p-ca9.dtb-sd. /a9rootfs.ext3
Reference article:
https://learningfromyoublog.wordpress.com/2016/04/05/131/
http://blog.csdn.net/kevin_mr/article/details/52754757
Http://abiaog.github.io/jekyll/update/2017/01/18/QEMU.html
vexpress ca9 Linux kernel qemu environment build record