1# Hafnium RAM disk 2 3Hafnium expects to find the following files in the root directory of its RAM 4disk: 5 6* `manifest.dtb` -- configuration file in DeviceTree format (required) 7* kernels for the VMs, whose names are described in the manifest (optional) 8* initrd of the primary VM, whose name is described in the manifest (optional) 9 10The `manifest.dtb` must be the first file in the RAM disk, to ensure that it is 11properly aligned. Hafnium will not be able to read it if it is not aligned to a 124 byte boundary. 13 14Follow the [preparing Linux](PreparingLinux.md) instructions to produce 15`vmlinuz` and `initrd.img` for a basic Linux primary VM. 16 17## Create a RAM disk for Hafnium 18 19Assuming that a subdirectory called `initrd` contains the files listed in the 20previous section, we can build `initrd.img` with the following command: 21 22```shell 23cd initrd; echo -e "./manifest.dtb\n$(find . -type f -not -name manifest.dtb)" | cpio -o -v > ../initrd.img; cd - 24``` 25