Я бы использовал initramfs. ( http://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt )
Многие дистрибутивы Linux используют initramfs (не путать с initrd, они разные) во время процесса загрузки, в основном, чтобы иметь возможность запускать программы пользовательского пространства очень рано в процессе загрузки. Тем не менее, вы можете использовать его для чего угодно.
Преимущество initramfs перед initrd состоит в том, что initramfs использует файловую систему tmpfs, в то время как initrd использует блочное устройство. Ключевое отличие здесь состоит в том, что для initrd вы должны предварительно выделить все пространство для файловой системы, даже если вы не собираетесь использовать все это пространство. Поэтому, если вы не используете пространство файловой системы, вы теряете оперативную память, которая на встроенном устройстве часто является дефицитным ресурсом. Tmpfs - это файловая система, в которой заканчивается оперативная память, но используется только столько оперативной памяти, сколько используется в настоящее время в файловой системе. Так что, если вы удалите файл из tmpfs, этот оперативный диск будет немедленно освобожден.
Теперь обычно initramfs является временным, используется только для запуска некоторых программ в самом начале процесса загрузки. После запуска этих программ управление передается реальной файловой системе, работающей на физическом диске. Однако вам не нужно этого делать. Ничто не остановит вас от бесконечного исчерпания initramfs.