#!/bin/sh # Copy this file to /etc/grub.d/40_custom_sysresccd with mode 0755 and run grub-mkconfig -o /boot/grub/grub.cfg exec tail -n +3 $0 # System Rescue CD # Project: https://www.system-rescue.org/ # Details: # https://www.system-rescue.org/manual/Installing_SystemRescue_on_the_disk/#first-approach-using-grub2-with-isoloop # https://www.system-rescue.org/manual/Booting_SystemRescueCd/ submenu 'System Rescue CD' { menuentry 'Default options' { load_video insmod gzio insmod part_gpt insmod part_msdos insmod ext2 insmod loopback search --no-floppy --fs-uuid {{ disk_uuid }} --set=root set isofile='{{ iso_path }}' probe -u ${root} --set=imgdevuuid set imgdevpath="/dev/disk/by-uuid/${imgdevuuid}" loopback loop (${root})/${isofile} linux (loop)/sysresccd/boot/x86_64/vmlinuz archisobasedir=sysresccd img_dev=${imgdevpath} img_loop=${isofile} earlymodules=loop initrd (loop)/sysresccd/boot/intel_ucode.img (loop)/sysresccd/boot/amd_ucode.img (loop)/sysresccd/boot/x86_64/sysresccd.img } menuentry 'Run from RAM' { load_video insmod gzio insmod part_gpt insmod part_msdos insmod ext2 insmod loopback search --no-floppy --fs-uuid {{ disk_uuid }} --set=root set isofile='{{ iso_path }}' probe -u ${root} --set=imgdevuuid set imgdevpath="/dev/disk/by-uuid/${imgdevuuid}" loopback loop (${root})/${isofile} linux (loop)/sysresccd/boot/x86_64/vmlinuz archisobasedir=sysresccd img_dev=${imgdevpath} img_loop=${isofile} earlymodules=loop copytoram initrd (loop)/sysresccd/boot/intel_ucode.img (loop)/sysresccd/boot/amd_ucode.img (loop)/sysresccd/boot/x86_64/sysresccd.img } menuentry 'Confirm/verify checksum' { load_video insmod gzio insmod part_gpt insmod part_msdos insmod ext2 insmod loopback search --no-floppy --fs-uuid {{ disk_uuid }} --set=root set isofile='{{ iso_path }}' probe -u ${root} --set=imgdevuuid set imgdevpath="/dev/disk/by-uuid/${imgdevuuid}" loopback loop (${root})/${isofile} linux (loop)/sysresccd/boot/x86_64/vmlinuz archisobasedir=sysresccd img_dev=${imgdevpath} img_loop=${isofile} earlymodules=loop checksum initrd (loop)/sysresccd/boot/intel_ucode.img (loop)/sysresccd/boot/amd_ucode.img (loop)/sysresccd/boot/x86_64/sysresccd.img } menuentry 'Use basic display drivers' { load_video insmod gzio insmod part_gpt insmod part_msdos insmod ext2 insmod loopback search --no-floppy --fs-uuid {{ disk_uuid }} --set=root set isofile='{{ iso_path }}' probe -u ${root} --set=imgdevuuid set imgdevpath="/dev/disk/by-uuid/${imgdevuuid}" loopback loop (${root})/${isofile} linux (loop)/sysresccd/boot/x86_64/vmlinuz archisobasedir=sysresccd img_dev=${imgdevpath} img_loop=${isofile} earlymodules=loop nomodeset initrd (loop)/sysresccd/boot/intel_ucode.img (loop)/sysresccd/boot/amd_ucode.img (loop)/sysresccd/boot/x86_64/sysresccd.img } menuentry 'Find and boot a locally installed Linux' { load_video insmod gzio insmod part_gpt insmod part_msdos insmod ext2 insmod loopback search --no-floppy --fs-uuid {{ disk_uuid }} --set=root set isofile='{{ iso_path }}' probe -u ${root} --set=imgdevuuid set imgdevpath="/dev/disk/by-uuid/${imgdevuuid}" loopback loop (${root})/${isofile} linux (loop)/sysresccd/boot/x86_64/vmlinuz archisobasedir=sysresccd img_dev=${imgdevpath} img_loop=${isofile} earlymodules=loop findroot initrd (loop)/sysresccd/boot/intel_ucode.img (loop)/sysresccd/boot/amd_ucode.img (loop)/sysresccd/boot/x86_64/sysresccd.img } menuentry 'Stop during boot before the root filesystem is mounted' { load_video insmod gzio insmod part_gpt insmod part_msdos insmod ext2 insmod loopback search --no-floppy --fs-uuid {{ disk_uuid }} --set=root set isofile='{{ iso_path }}' probe -u ${root} --set=imgdevuuid set imgdevpath="/dev/disk/by-uuid/${imgdevuuid}" loopback loop (${root})/${isofile} linux (loop)/sysresccd/boot/x86_64/vmlinuz archisobasedir=sysresccd img_dev=${imgdevpath} img_loop=${isofile} earlymodules=loop break initrd (loop)/sysresccd/boot/intel_ucode.img (loop)/sysresccd/boot/amd_ucode.img (loop)/sysresccd/boot/x86_64/sysresccd.img } }