fix grub config

This commit is contained in:
Aiden McClelland
2026-01-27 15:27:49 -07:00
parent c96a5b7754
commit a81c01b232
4 changed files with 129 additions and 59 deletions

View File

@@ -23,22 +23,23 @@ if [ -f /etc/default/grub ]; then
sed -i '/\(^\|#\)GRUB_CMDLINE_LINUX=/c\GRUB_CMDLINE_LINUX="boot=startos console=ttyS0,115200n8 console=tty0"' /etc/default/grub
sed -i '/\(^\|#\)GRUB_CMDLINE_LINUX_DEFAULT=/c\GRUB_CMDLINE_LINUX_DEFAULT=""' /etc/default/grub
sed -i '/\(^\|#\)GRUB_DISTRIBUTOR=/c\GRUB_DISTRIBUTOR="StartOS v$(cat /usr/lib/startos/VERSION.txt)"' /etc/default/grub
# Set a GRUB variable, replacing if it exists (even commented) or appending if not
grub_set() {
sed -i '/\(^\|#\)'"$1"'=/d' /etc/default/grub
printf '%s="%s"\n' "$1" "$2" >> /etc/default/grub
}
# Enable both graphical and serial terminal output
sed -i '/\(^\|#\)GRUB_TERMINAL_INPUT=/c\GRUB_TERMINAL_INPUT="console serial"' /etc/default/grub
sed -i '/\(^\|#\)GRUB_TERMINAL_OUTPUT=/c\GRUB_TERMINAL_OUTPUT="gfxterm serial"' /etc/default/grub
grub_set GRUB_TERMINAL_INPUT 'console serial'
grub_set GRUB_TERMINAL_OUTPUT 'gfxterm serial'
# Remove GRUB_TERMINAL if present (replaced by INPUT/OUTPUT above)
sed -i '/^\(#\|\)GRUB_TERMINAL=/d' /etc/default/grub
# Serial console settings
if grep '^GRUB_SERIAL_COMMAND=' /etc/default/grub > /dev/null; then
sed -i '/\(^\|#\)GRUB_SERIAL_COMMAND=/c\GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"' /etc/default/grub
else
echo 'GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"' >> /etc/default/grub
fi
grub_set GRUB_SERIAL_COMMAND 'serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1'
# Graphics mode and splash background
sed -i '/\(^\|#\)GRUB_GFXMODE=/c\GRUB_GFXMODE=800x600' /etc/default/grub
sed -i '/\(^\|#\)GRUB_GFXPAYLOAD_LINUX=/c\GRUB_GFXPAYLOAD_LINUX=keep' /etc/default/grub
sed -i '/\(^\|#\)GRUB_BACKGROUND=/c\GRUB_BACKGROUND="/boot/grub/splash.png"' /etc/default/grub
sed -i '/\(^\|#\)GRUB_THEME=/c\GRUB_THEME="/boot/grub/startos-theme/theme.txt"' /etc/default/grub
grub_set GRUB_GFXMODE 800x600
grub_set GRUB_GFXPAYLOAD_LINUX keep
grub_set GRUB_BACKGROUND '/boot/grub/splash.png'
grub_set GRUB_THEME '/boot/grub/startos-theme/theme.txt'
# Copy splash image and theme to boot partition
if [ -f /usr/lib/startos/splash.png ]; then
mkdir -p /boot/grub