1# A simple Busybox Ramdisk 2 3A simple RAM disk is required at a minimum to boot Linux in a VM. 4 5The following instructions create a RAM disk using Busybox 1.33.0. 6 7## Build Busybox 1.33.0 8 9Build Busybox cross compiled for AArch64: 10 11```bash 12wget -c https://busybox.net/downloads/busybox-1.33.0.tar.bz2 13tar xf busybox-1.33.0.tar.bz2 14cd busybox-1.33.0 15make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- defconfig 16make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- menuconfig 17sed -i '/# CONFIG_STATIC is not set/c\CONFIG_STATIC=y' .config 18ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make -j4 19ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make install 20``` 21 22## Create a RAM disk 23 24Create a RAM disk using the Busybox build and place it in an output directory: 25 26```bash 27cd _install 28mkdir proc sys dev etc etc/init.d 29cat <<EOF > etc/init.d/rcS 30#!bin/sh 31mount -t proc none /proc 32mount -t sysfs none /sys 33EOF 34chmod u+x etc/init.d/rcS 35grep -v tty ../examples/inittab > ./etc/inittab 36find . | cpio -o -H newc | gzip > <path-to-output-dir>/initrd.img 37``` 38