Implemented failsafe options at boot and inside menus for enabling/disabling serial, spkmodem and gfxterm

20240612_branch
livio 2024-04-29 14:39:47 +02:00
parent 6b11f1b055
commit 3e86b3ab73
1 changed files with 57 additions and 8 deletions

View File

@ -14,17 +14,36 @@ terminal_input --append at_keyboard
terminal_input --append usb_keyboard terminal_input --append usb_keyboard
terminal_output --append cbmemc terminal_output --append cbmemc
gfxpayload=keep # User interface overrides wherever "keystatus" is supported
terminal_output --append gfxterm # Keep SHIFT key pressed before powering on to disable graphics
if keystatus --shift; then
terminal_output --append vga_text
else
gfxpayload=keep
terminal_output --append gfxterm
if [ -f (cbfsdisk)/background.png ]; then if [ -f (cbfsdisk)/background.png ]; then
insmod png insmod png
background_image (cbfsdisk)/background.png background_image (cbfsdisk)/background.png
elif [ -f (cbfsdisk)/background.jpg ]; then elif [ -f (cbfsdisk)/background.jpg ]; then
insmod jpeg insmod jpeg
background_image (cbfsdisk)/background.jpg background_image (cbfsdisk)/background.jpg
fi
fi fi
# Keep CTRL pressed to enable default serial terminal (COM1 or the like)
if keystatus --ctrl; then
serial
terminal_input --append serial
terminal_output --append serial
fi
# Keep ALT pressed to enable spkmodem
if keystatus --alt; then
terminal_output --append spkmodem
fi
set default="0" set default="0"
if [ -f (cbfsdisk)/timeout.cfg ]; then if [ -f (cbfsdisk)/timeout.cfg ]; then
source (cbfsdisk)/timeout.cfg source (cbfsdisk)/timeout.cfg
@ -198,3 +217,33 @@ menuentry 'Load MemTest86+ [m]' --hotkey='m' {
chainloader /img/memtest chainloader /img/memtest
} }
fi fi
submenu 'Other [z]' --hotkey='z' {
menuentry 'Enable default serial terminal [s]' --hotkey='s' {
serial
terminal_input --append serial
terminal_output --append serial
}
menuentry 'Disable default serial terminal' {
terminal_input --remove serial
terminal_output --remove serial
}
menuentry 'Enable gfxterm' {
terminal_output --append gfxterm
terminal_output --remove vga_text
}
menuentry 'Disable gfxterm [g]' --hotkey='g' {
terminal_output --remove gfxterm
terminal_output --append vga_text
}
menuentry 'Enable spkmodem [a]' --hotkey='a' {
terminal_output --append spkmodem
}
menuentry 'Disable spkmodem [z]' --hotkey='z' {
terminal_output --remove spkmodem
}
}