packages/packages/static/grub-config/files/grub.cfg
2023-08-03 19:49:57 +02:00

106 lines
2.5 KiB
INI

set timeout=10
# Load custom env file
set env_file="/grubenv"
search --no-floppy --file --set=env_blk "${env_file}"
# Load custom env file
set oem_env_file="/grub_oem_env"
search --no-floppy --file --set=oem_blk "${oem_env_file}"
# Load custom config file
set custom_menu="/grubmenu"
search --no-floppy --file --set=menu_blk "${custom_menu}"
# Load custom config file
set custom="/grubcustom"
search --no-floppy --file --set=custom_blk "${custom}"
if [ "${oem_blk}" ] ; then
load_env -f "(${oem_blk})${oem_env_file}"
fi
if [ "${env_blk}" ] ; then
load_env -f "(${env_blk})${env_file}"
fi
# Save default
if [ "${next_entry}" ]; then
set default="${next_entry}"
set selected_entry="${next_entry}"
set next_entry=
save_env -f "(${env_blk})${env_file}" next_entry
else
set default="${saved_entry}"
fi
## Display a default menu entry if set
if [ "${default_menu_entry}" ]; then
set display_name="${default_menu_entry}"
else
set display_name="Kairos"
fi
## Set a default fallback if set
if [ "${default_fallback}" ]; then
set fallback="${default_fallback}"
else
set fallback="0 1 2"
fi
set gfxmode=auto
set gfxpayload=keep
insmod all_video
insmod gfxterm
insmod loopback
insmod squash4
insmod serial
terminal_output --append gfxterm
loadfont unicode
menuentry "${display_name}" --id cos {
search --no-floppy --label --set=root COS_STATE
set img=/cOS/active.img
set label=COS_ACTIVE
loopback loop0 /$img
set root=($root)
source (loop0)/etc/cos/bootargs.cfg
linux (loop0)$kernel $kernelcmd ${extra_cmdline} ${extra_active_cmdline}
initrd (loop0)$initramfs
}
menuentry "${display_name} (fallback)" --id fallback {
search --no-floppy --label --set=root COS_STATE
set img=/cOS/passive.img
set label=COS_PASSIVE
loopback loop0 /$img
set root=($root)
source (loop0)/etc/cos/bootargs.cfg
linux (loop0)$kernel $kernelcmd ${extra_cmdline} ${extra_passive_cmdline}
initrd (loop0)$initramfs
}
menuentry "${display_name} recovery" --id recovery {
search --no-floppy --label --set=root COS_RECOVERY
if [ test -s /cOS/recovery.squashfs ]; then
set img=/cOS/recovery.squashfs
set recoverylabel=COS_RECOVERY
else
set img=/cOS/recovery.img
fi
set label=COS_SYSTEM
loopback loop0 /$img
set root=($root)
source (loop0)/etc/cos/bootargs.cfg
linux (loop0)$kernel $kernelcmd ${extra_cmdline} ${extra_recovery_cmdline}
initrd (loop0)$initramfs
}
if [ "${menu_blk}" ]; then
source "(${menu_blk})${custom_menu}"
fi
if [ "${custom_blk}" ]; then
source "(${custom_blk})${custom}"
fi