Kernel 7.1 unpacks the initramfs asynchronously, which races /init: the early /proc, /sys, /dev, and /run mounts fail with EPERM while unpacking settles. In the live environment that kills Plymouth and leaves early archiso mounts to luck. Force synchronous unpacking on every boot entry, matching the fix shipped for installed systems in omarchy-defaults.conf. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
107 lines
3.2 KiB
INI
107 lines
3.2 KiB
INI
# Load partition table and file system modules
|
|
insmod part_gpt
|
|
insmod part_msdos
|
|
insmod fat
|
|
insmod iso9660
|
|
insmod ntfs
|
|
insmod ntfscomp
|
|
insmod exfat
|
|
insmod udf
|
|
|
|
# Use graphics-mode output
|
|
insmod font
|
|
if loadfont "${prefix}/fonts/unicode.pf2" ; then
|
|
insmod all_video
|
|
set gfxmode="auto"
|
|
terminal_input console
|
|
terminal_output gfxterm
|
|
fi
|
|
|
|
# Enable serial console
|
|
insmod serial
|
|
insmod usbserial_common
|
|
insmod usbserial_ftdi
|
|
insmod usbserial_pl2303
|
|
insmod usbserial_usbdebug
|
|
if serial --unit=0 --speed=115200; then
|
|
terminal_input --append serial
|
|
terminal_output --append serial
|
|
fi
|
|
|
|
# Get a human readable platform identifier
|
|
if [ "${grub_platform}" == 'efi' ]; then
|
|
archiso_platform='UEFI'
|
|
if [ "${grub_cpu}" == 'x86_64' ]; then
|
|
archiso_platform="x64 ${archiso_platform}"
|
|
elif [ "${grub_cpu}" == 'i386' ]; then
|
|
archiso_platform="IA32 ${archiso_platform}"
|
|
else
|
|
archiso_platform="${grub_cpu} ${archiso_platform}"
|
|
fi
|
|
elif [ "${grub_platform}" == 'pc' ]; then
|
|
archiso_platform='BIOS'
|
|
else
|
|
archiso_platform="${grub_cpu} ${grub_platform}"
|
|
fi
|
|
|
|
# Set default menu entry
|
|
default=archlinux
|
|
timeout=0
|
|
timeout_style=hidden
|
|
|
|
|
|
# Menu entries
|
|
|
|
menuentry "Omarchy (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
|
|
set gfxpayload=keep
|
|
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-t2 archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% quiet splash xe.enable_panel_replay=0 initramfs_async=0
|
|
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-t2.img
|
|
}
|
|
|
|
menuentry "Omarchy with speakup screen reader (%ARCH%, ${archiso_platform})" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' {
|
|
set gfxpayload=keep
|
|
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux-t2 archisobasedir=%INSTALL_DIR% archisosearchuuid=%ARCHISO_UUID% accessibility=on xe.enable_panel_replay=0 initramfs_async=0
|
|
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux-t2.img
|
|
}
|
|
|
|
|
|
if [ "${grub_platform}" == 'efi' -a "${grub_cpu}" == 'x86_64' -a -f '/boot/memtest86+/memtest.efi' ]; then
|
|
menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class memtest --class gnu --class tool {
|
|
set gfxpayload=800x600,1024x768
|
|
linux /boot/memtest86+/memtest.efi
|
|
}
|
|
fi
|
|
if [ "${grub_platform}" == 'pc' -a -f '/boot/memtest86+/memtest' ]; then
|
|
menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class memtest --class gnu --class tool {
|
|
set gfxpayload=800x600,1024x768
|
|
linux /boot/memtest86+/memtest
|
|
}
|
|
fi
|
|
if [ "${grub_platform}" == 'efi' ]; then
|
|
if [ "${grub_cpu}" == 'x86_64' -a -f '/shellx64.efi' ]; then
|
|
menuentry 'UEFI Shell' --class efi {
|
|
chainloader /shellx64.efi
|
|
}
|
|
elif [ "${grub_cpu}" == "i386" -a -f '/shellia32.efi' ]; then
|
|
menuentry 'UEFI Shell' --class efi {
|
|
chainloader /shellia32.efi
|
|
}
|
|
fi
|
|
|
|
menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' {
|
|
fwsetup
|
|
}
|
|
fi
|
|
|
|
menuentry 'System shutdown' --class shutdown --class poweroff {
|
|
echo 'System shutting down...'
|
|
halt
|
|
}
|
|
|
|
menuentry 'System restart' --class reboot --class restart {
|
|
echo 'System rebooting...'
|
|
reboot
|
|
}
|
|
|
|
|