Gentoo má balíček app-admin/systemrescuecd-x86, který do systému „nainstaluje“ (uloží) ISO obraz SystemRescueCD. Je to trochu nezvyklé, ale u SystemRescueCD to jistý smysl dává – je to druh software a chcete ho mít stažený a připravený k použití předem, ne ho začít shánět teprve v okamžiku, kdy ho budete potřebovat.
Mně to naopak dává dobrý smysl. Že mi nebootuje Gentoo kvůli rozbitým knihovnám nebo špatně zkompilovanému jádru ještě neznamená, že mi GRUB na stejném počítači nezavede nějaký záchranný systém. Nemusím pak hledat flešku a jiný počítač na kterém si stáhnu z internetu další operační systém. Můžu to mít připravené a jen při bootu vybrat jinou položku.
ano, bez problemu, "pouze" je potreba podpora na strane initramfs, coz vetsina z tech pouzivanejch dister ma(s tim ze "kazde" do ma jinak)...
bezne to pouzivam na USBFlash kde mam GPT+GrubPartisnu(simulace LegacyBoot)+EFI a nainstalovan Grub-EFI i Grub-PC(Legacy), takze to startuje jak na Legacy tak EFI strojich... v menu pak hromadu polozek pro boot z ulozenych ISO(v adresari /iso, jadro i init neni treba vytahovat rucne, bere se primo z iso)...
priklad Xubuntu, i s ukazkou pouziti definovani funkce a promenych a blokovani nekterych SyStEmD sluzeb nevhodnych pro live:
probe -u $root --set=rootuuid
# pro tohle konkretni ISO (resp. *buntu) netraba, ale ponechavam pro pripad kdy bys narazil na distro co pozaduje uvedeni konkretniho zarizeni z ktereho ma iso brat
set device="/dev/disk/by-uuid/$rootuuid"
export device
function mount_x18041_amd64_t {
set isofile="/iso/xubuntu-18041-amd64.t.iso"
loopback loop $isofile
set defbuntu="iso-scan/filename=$isofile locale=en_US.UTF-8 forcepae net.ifnames=0 file=/cdrom/preseed/xubuntu.seed boot=casper i8042.noloop=1 i8042.nomux=1 reboot=c"
export deftester
set systemdmask="systemd.mask=dev-hugepages.mount systemd.mask=dev-mqueue.mount systemd.mask=sys-fs-fuse-connections.mount systemd.mask=sys-kernel-config.mount systemd.mask=sys-kernel-debug.mount systemd.mask=tmp.mount"
export systemdmask
}
menuentry "Xubuntu 18.04.1 AMD64" {
mount_x18041_amd64_t
linux (loop)/casper/vmlinuz quiet splash $defbuntu $systemdmask
initrd (loop)/casper/initrd
}