		BusyBox RootFS for ARM64 Guest

BusyBox provides several stripped-down Unix tools in a single executable. It 
runs in a variety of POSIX environments such as Linux, Android,[6] FreeBSD[7] 
and others, such as proprietary kernels, although many of the tools it provides
are designed to work with interfaces provided by the Linux kernel. It was 
created for embedded operating systems with very limited resources. It is 
released under the terms of the GNU General Public License. For more info
read the BusyBox wiki page http://en.wikipedia.org/wiki/BusyBox

Please follow the steps below to build a RAMDISK using BusyBox, to be used as 
RootFS for ARM64 Linux guest:

  [1. Build environment for Xvisor]
  # CROSS_COMPILE=aarch64-linux-gnu-

  [2. GoTo Busybox source directory]
  # cd <busybox_source_directory>

  [3. Copy defconfig to Busybox source directory]
  # cp <xvisor_source_directory>/tests/arm64/busybox/busybox-<busybox_version>_defconfig .config

  [4. Configure Busybox source]
  # make oldconfig

  [5. Build Busybox RootFS]
  # make install

  [6. Change ownership of installed RootFS]
  # sudo chown -R root:root ./_install

  [7. Create RootFS image]
  # fakeroot /bin/bash -c "genext2fs -b 5120 -N 1024 -D <xvisor_source_directory>/tests/arm64/common/busybox/busybox_dev.txt -d ./_install <busybox_rootfs_directory>/rootfs64.ext2"

  [8. Create RootFS CPIO image]
  # mkdir -p <busybox_rootfs_directory>/tmp
  # sudo mount -o loop <busybox_rootfs_directory>/rootfs64.ext2 <busybox_rootfs_directory>/tmp
  # cd <busybox_rootfs_directory>/tmp; sudo find ./ | cpio -o -H newc > <busybox_rootfs_directory>/rootfs64.img; cd -
  # sudo umount <busybox_rootfs_directory>/tmp
  OR
  # mkdir -p <busybox_rootfs_directory>/tmp
  # sudo mount -o loop <busybox_rootfs_directory>/rootfs64.ext2 <busybox_rootfs_directory>/tmp
  # cd <busybox_rootfs_directory>/tmp; sudo find ./ | cpio -o -H newc | gzip -9 > <busybox_rootfs_directory>/rootfs64.img; cd -
  # sudo umount <busybox_rootfs_directory>/tmp

  (Note: <busybox_rootfs_directory>/rootfs64.img is our final INITRAMFS RootFS)
  (Note: you can also use <busybox_rootfs_directory>/rootfs64.ext2 as your final INITRD RootFS)
  (Note: replace all <> brackets based on your workspace)
  (Note: you are free to the change ordering of above steps based on your workspace)

