I am recently trying to bootup the linux kernel to play and have fun with it. But I dont have a physical development board. I am interested to learn secure boot. In the end, I decided to use qemu for virtualization and busybox for root file system to boot the linux kernel. I am not expert in all of the below tools and hence wanted to document the steps and procedures I followed to make it easy and useful in latter times.
The steps I walked through is as below..
- Cross Compiling
- Building GNU ARM cross compiler Toolchain for development
- Bare Metal Programming for ARM
- Building and booting u-Boot in qemu
- Connecting Qemu to network
- TFTP Setup in ubuntu
- NFS Server setup in ubuntu
- Building Linux kernel for ARM Versatile PB and booting
- Building Busybox to get root file system to Linux kernel
- Booting Linux using u-boot through TFTP
- Using NFS Root file system for Booted kernel
I will be documenting all of the above process one by one