Next: LVM cache booting, Previous: General boot methods, Up: Booting [Contents][Index]
GRUB is able to read from an image (be it one of CD or HDD) stored on
any of its accessible storages (refer to see loopback command).
However the OS itself should be able to find its root. This usually
involves running a userspace program running before the real root
is discovered. This is achieved by GRUB loading a specially made
small image and passing it as ramdisk to the kernel. This is achieved
by commands kfreebsd_module
, knetbsd_module_elf
,
kopenbsd_ramdisk
, initrd
(see initrd),
initrd16
(see initrd), multiboot_module
,
multiboot2_module
or xnu_ramdisk
depending on the loader. Note that for knetbsd the image must be put
inside miniroot.kmod and the whole miniroot.kmod has to be loaded. In
kopenbsd payload this is disabled by default. Aditionally behaviour of
initial ramdisk depends on command line options. Several distributors provide
the image for this purpose or it’s integrated in their standard ramdisk and
activated by special option. Consult your kernel and distribution manual for
more details. Other loaders like appleloader, chainloader (BIOS, EFI, coreboot),
freedos, ntldr and plan9 provide no possibility of loading initial ramdisk and
as far as author is aware the payloads in question don’t support either initial
ramdisk or discovering loopback boot in other way and as such not bootable this
way. Please consider alternative boot methods like copying all files
from the image to actual partition. Consult your OS documentation for
more details