grub.cfg automatically loads all *_default and *_options.cfg files.
This requires the regexp module for grub. Thanks to Jordan Uggla for his
input.
bitmap boot btrfs cat chain cmp configfile cpio echo efi_gop \
efi_uga elf ext2 fat gfxmenu gfxterm gzio help iso9660 jpeg linux \
loopback lvm minicmd multiboot normal part_gpt part_msdos png \
- probe raid reiserfs search search_fs_file search_fs_uuid \
+ probe raid regexp reiserfs search search_fs_file search_fs_uuid \
search_label squash4 terminal test video videoinfo xfs
if ! [ -r "${target}/${GRUB_EFI_IMAGE}" ] ; then
--- /dev/null
+menuentry "%GRML_NAME% - release %VERSION% (default)" {
+ set gfxpayload=keep
+ linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% "${loopback}" "${kernelopts}" nomce
+ initrd /boot/%SHORT_NAME%/initrd.img
+}
--- /dev/null
+submenu "%GRML_NAME% - advanced options ->" --class=submenu {
+menuentry "%GRML_NAME% - enable persistent mode" {
+ set gfxpayload=keep
+ linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" persistent=nofiles
+ initrd /boot/%SHORT_NAME%/initrd.img
+}
+
+menuentry "%GRML_NAME% - copy Grml to RAM" {
+ set gfxpayload=keep
+ linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" toram=%GRML_NAME%.squashfs
+ initrd /boot/%SHORT_NAME%/initrd.img
+}
+
+menuentry "%GRML_NAME% - copy whole medium to RAM" {
+ set gfxpayload=keep
+ linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" toram
+ initrd /boot/%SHORT_NAME%/initrd.img
+}
+
+menuentry "%GRML_NAME% - start X by default" {
+ set gfxpayload=keep
+ linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" startx
+ initrd /boot/%SHORT_NAME%/initrd.img
+}
+
+menuentry "%GRML_NAME% - disable framebuffer" {
+ set gfxpayload=text
+ linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" video=ofonly radeon.modeset=0 i915.modeset=0 nouveau.modeset=0 nomodeset
+ initrd /boot/%SHORT_NAME%/initrd.img
+}
+
+menuentry "%GRML_NAME% - disable Kernel Mode-Setting" {
+ set gfxpayload=keep
+ linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" radeon.modeset=0 i915.modeset=0 nouveau.modeset=0 nomodeset
+ initrd /boot/%SHORT_NAME%/initrd.img
+}
+
+menuentry "%GRML_NAME% - forensic mode" {
+ set gfxpayload=keep
+ linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" readonly nofstab noraid nodmraid nolvm noautoconfig noswap raid=noautodetect
+ initrd /boot/%SHORT_NAME%/initrd.img
+}
+
+menuentry "%GRML_NAME% - debug mode" {
+ set gfxpayload=keep
+ linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" initcall verbose debug=vc
+ initrd /boot/%SHORT_NAME%/initrd.img
+}
+
+menuentry "%GRML_NAME% - serial mode" {
+ set gfxpayload=text
+ linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" video=vesafb:off console=tty1 console=ttyS0,9600n8
+ initrd /boot/%SHORT_NAME%/initrd.img
+}
+}
--- /dev/null
+submenu "Addons ->" --class=submenu {
+menuentry "Memory test (memtest86+)" {
+ linux16 /boot/addons/memtest
+}
+
+menuentry "iPXE - boot via network/PXE" {
+ linux16 /boot/addons/ipxe.lkrn
+}
+
+menuentry "GRUB - all in one image" {
+ linux16 /boot/addons/memdisk
+ initrd16 /boot/addons/allinone.img
+}
+
+menuentry "FreeDOS" {
+ linux16 /boot/addons/memdisk
+ initrd16 /boot/addons/balder10.imz
+}
+
+if [ ${iso_path} ] ; then
+ # assume loopback.cfg boot
+ menuentry "MirOS bsd4grml (via loopback)" {
+ multiboot /boot/addons/bsd4grml/ldbsd.com
+ module /boot/addons/bsd4grml/bsd.rd bsd
+ module /boot/addons/bsd4grml/loopback.0 boot.cfg
+ module /boot/addons/bsd4grml/loopback.1 boot.1
+ module /boot/addons/bsd4grml/loopback.2 boot.2
+ module /boot/addons/bsd4grml/loopback.3 boot.3
+ module /boot/addons/bsd4grml/loopback.4 boot.4
+ module /boot/addons/bsd4grml/loopback.5 boot.5
+ module /boot/addons/bsd4grml/loopback.6 boot.6
+ }
+else
+ # assume grub.cfg boot
+ menuentry "MirOS bsd4grml (regular method)" {
+ multiboot /boot/addons/bsd4grml/ldbsd.com
+ }
+
+ menuentry "MirOS bsd4grml (fallback method)" {
+ multiboot /boot/addons/bsd4grml/ldbsd.com
+ module /boot/addons/bsd4grml/bsd.rd bsd.rd
+ module /boot/addons/bsd4grml/boot.1 boot.1
+ module /boot/addons/bsd4grml/boot.2 boot.2
+ module /boot/addons/bsd4grml/boot.3 boot.3
+ module /boot/addons/bsd4grml/boot.4 boot.4
+ module /boot/addons/bsd4grml/boot.5 boot.5
+ module /boot/addons/bsd4grml/boot.6 boot.6
+ module /boot/addons/bsd4grml/boot.cfg boot.cfg
+ module /boot/grub/core.img core.img
+ }
+fi
+
+}
+
+menuentry "Boot OS of first partition on first disk" {
+ set root=(hd0,1)
+ chainloader +1
+}
set loopback="findiso=${iso_path}"
fi
-menuentry "%GRML_NAME% - release %VERSION% (default)" {
- set gfxpayload=keep
- linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% "${loopback}" "${kernelopts}" nomce
- initrd /boot/%SHORT_NAME%/initrd.img
-}
-
-menuentry "Memory test (memtest86+)" {
- linux16 /boot/addons/memtest
-}
-
-menuentry "iPXE - boot via network/PXE" {
- linux16 /boot/addons/ipxe.lkrn
-}
-
-menuentry "GRUB - all in one image" {
- linux16 /boot/addons/memdisk
- initrd16 /boot/addons/allinone.img
-}
-
-menuentry "FreeDOS" {
- linux16 /boot/addons/memdisk
- initrd16 /boot/addons/balder10.imz
-}
-
-if [ ${iso_path} ] ; then
- # assume loopback.cfg boot
- menuentry "MirOS bsd4grml (via loopback)" {
- multiboot /boot/addons/bsd4grml/ldbsd.com
- module /boot/addons/bsd4grml/bsd.rd bsd
- module /boot/addons/bsd4grml/loopback.0 boot.cfg
- module /boot/addons/bsd4grml/loopback.1 boot.1
- module /boot/addons/bsd4grml/loopback.2 boot.2
- module /boot/addons/bsd4grml/loopback.3 boot.3
- module /boot/addons/bsd4grml/loopback.4 boot.4
- module /boot/addons/bsd4grml/loopback.5 boot.5
- module /boot/addons/bsd4grml/loopback.6 boot.6
- }
-else
- # assume grub.cfg boot
- menuentry "MirOS bsd4grml (regular method)" {
- multiboot /boot/addons/bsd4grml/ldbsd.com
- }
-
- menuentry "MirOS bsd4grml (fallback method)" {
- multiboot /boot/addons/bsd4grml/ldbsd.com
- module /boot/addons/bsd4grml/bsd.rd bsd.rd
- module /boot/addons/bsd4grml/boot.1 boot.1
- module /boot/addons/bsd4grml/boot.2 boot.2
- module /boot/addons/bsd4grml/boot.3 boot.3
- module /boot/addons/bsd4grml/boot.4 boot.4
- module /boot/addons/bsd4grml/boot.5 boot.5
- module /boot/addons/bsd4grml/boot.6 boot.6
- module /boot/addons/bsd4grml/boot.cfg boot.cfg
- module /boot/grub/core.img core.img
- }
-fi
-
-menuentry "Boot OS of first partition on first disk" {
- set root=(hd0,1)
- chainloader +1
-}
-
-menuentry "%GRML_NAME% - enable persistent mode" {
- set gfxpayload=keep
- linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" persistent=nofiles
- initrd /boot/%SHORT_NAME%/initrd.img
-}
-
-menuentry "%GRML_NAME% - copy Grml to RAM" {
- set gfxpayload=keep
- linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" toram=%GRML_NAME%.squashfs
- initrd /boot/%SHORT_NAME%/initrd.img
-}
-
-menuentry "%GRML_NAME% - copy whole medium to RAM" {
- set gfxpayload=keep
- linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" toram
- initrd /boot/%SHORT_NAME%/initrd.img
-}
-
-menuentry "%GRML_NAME% - start X by default" {
- set gfxpayload=keep
- linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" startx
- initrd /boot/%SHORT_NAME%/initrd.img
-}
-
-menuentry "%GRML_NAME% - disable framebuffer" {
- set gfxpayload=text
- linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" video=ofonly radeon.modeset=0 i915.modeset=0 nouveau.modeset=0 nomodeset
- initrd /boot/%SHORT_NAME%/initrd.img
-}
-
-menuentry "%GRML_NAME% - disable Kernel Mode-Setting" {
- set gfxpayload=keep
- linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" radeon.modeset=0 i915.modeset=0 nouveau.modeset=0 nomodeset
- initrd /boot/%SHORT_NAME%/initrd.img
-}
-
-menuentry "%GRML_NAME% - forensic mode" {
- set gfxpayload=keep
- linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" readonly nofstab noraid nodmraid nolvm noautoconfig noswap raid=noautodetect
- initrd /boot/%SHORT_NAME%/initrd.img
-}
-
-menuentry "%GRML_NAME% - debug mode" {
- set gfxpayload=keep
- linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" initcall verbose debug=vc
- initrd /boot/%SHORT_NAME%/initrd.img
-}
-
-menuentry "%GRML_NAME% - serial mode" {
- set gfxpayload=text
- linux /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" video=vesafb:off console=tty1 console=ttyS0,9600n8
- initrd /boot/%SHORT_NAME%/initrd.img
-}
+for config in /boot/grub/*_default.cfg ; do source "$config" ; done
+for config in /boot/grub/*_options.cfg ; do source "$config" ; done
+source /boot/grub/addons.cfg
+source /boot/grub/footer.cfg
# EOF