diff options
Diffstat (limited to 'config/grub/xhci/config')
| -rw-r--r-- | config/grub/xhci/config/payload | 290 | 
1 files changed, 0 insertions, 290 deletions
| diff --git a/config/grub/xhci/config/payload b/config/grub/xhci/config/payload deleted file mode 100644 index 0e16ecb6..00000000 --- a/config/grub/xhci/config/payload +++ /dev/null @@ -1,290 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-or-later -# Copyright (C) 2014-2016,2020-2021,2023-2024 Leah Rowe <leah@libreboot.org> -# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org> - -set prefix=(memdisk)/boot/grub - -insmod at_keyboard -insmod usb_keyboard -insmod nativedisk -insmod xhci -insmod ehci -insmod ohci -insmod uhci -insmod usb -insmod usbms -insmod regexp - -terminal_input --append at_keyboard -terminal_input --append usb_keyboard -terminal_output --append cbmemc - -# User interface overrides wherever "keystatus" is supported -# 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 -		insmod png -		background_image (cbfsdisk)/background.png -	elif [ -f (cbfsdisk)/background.jpg ]; then -		insmod jpeg -		background_image (cbfsdisk)/background.jpg -	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" -if [ -f (cbfsdisk)/timeout.cfg ]; then -	source (cbfsdisk)/timeout.cfg -else	 -	set timeout=5 -fi -set grub_scan_disk="nvme ahci ata" -if [ -f (cbfsdisk)/scan.cfg ]; then -	source (cbfsdisk)/scan.cfg -fi - -if [ -f (cbfsdisk)/keymap.gkb ]; then -	keymap (cbfsdisk)/keymap.gkb -fi - -function really_try_user_config { -	set root="${1}" - -	if [ -f /"${2}"/grub.cfg ]; then -		unset superusers -		configfile /"${2}"/grub.cfg -	fi -} - -function try_user_config { -	# The @/... entries are for cases where the BTRFS filesystem is being used -	for dir in grub boot/grub @/grub @/boot/grub grub2 boot/grub2 @/grub2 @/boot/grub2 boot @/boot; do -		really_try_user_config "${1}" "${dir}" -	done -	for dir in ubuntu debian redhat; do -		really_try_user_config "${1}" "EFI/${dir}" -	done -} -function search_grub { -	echo -n "Attempting to load grub.cfg from '${1}' devices" -	for i in 0 1 2 3 4 5 6 7 8; do -		for part in 1 2 3 4 5 6 7 8 9 10 11 12; do -			if [ "${1}" != "nvme" ]; then -				try_user_config "(${1}${i},${part})" -			else -				# TODO: do we care about other namesapces -				try_user_config "(nvme${i}n1,${part})" -			fi -		done -		if [ "${1}" != "nvme" ]; then -			# raw devices e.g. (ahci0) instead of (ahci0,1) -			try_user_config "(${1}${i})" -		else -			# TODO: do we care about other namesapces -			try_user_config "(nvme${i}n1)" -		fi -	done -	echo # Insert newline -} - -function try_isolinux_config { -	set root="${1}" -	for dir in '' /boot /EFI /@ /@/boot; do -		if [ -f "${dir}"/isolinux/isolinux.cfg ]; then -			syslinux_configfile -i "${dir}"/isolinux/isolinux.cfg -		elif [ -f "${dir}"/syslinux/syslinux.cfg ]; then -			syslinux_configfile -s "${dir}"/syslinux/syslinux.cfg -		elif [ -f "${dir}"/syslinux/extlinux.conf ]; then -			syslinux_configfile -s "${dir}"/syslinux/extlinux.conf -		elif [ -f "${dir}"/extlinux/extlinux.conf ]; then -			syslinux_configfile -s "${dir}"/extlinux/extlinux.conf -		fi -	done -} -function search_isolinux { -	echo "\nAttempting to parse iso/sys/extlinux config from '${1}' devices" -	for i in 0 1 2 3 4 5 6 7 8; do -		for part in 1 2 3 4 5 6 7 8 9 10 11 12; do -			if [ "${1}" != "nvme" ]; then -				try_isolinux_config "(${1}${i},${part})" -			else -				# TODO: see above -				try_isolinux_config "(nvme${i}n1,${part})" -			fi -		done -		if [ "${1}" != "nvme" ]; then -			# raw devices e.g. (usb0) instead of (usb0,1) -			try_isolinux_config "(${1}${i})" -		else -			# TODO: do we care about other namesapces -			try_isolinux_config "(nvme${i}n1)" -		fi -	done -	echo # Insert newline -} -function try_bootcfg { -	try_user_config "${1}" -	try_isolinux_config "${1}" -} -function search_bootcfg { -	search_grub "${1}" -	search_isolinux "${1}" -} -menuentry 'Load Operating System (incl. fully encrypted disks)  [o]' --hotkey='o' { - -	for grub_disk in ${grub_scan_disk}; do -		search_bootcfg ${grub_disk} -	done - -	# grub device enumeration is very slow, so checks are hardcoded - -	# TODO: add more strings, based on what distros set up when -	# the user select auto-partitioning on those installers -	lvmvol="lvm/grubcrypt-bootvol lvm/grubcrypt-rootvol" - -	raidvol="md/0 md/1 md/2 md/3 md/4 md/5 md/6 md/7 md/8 md/9" - -	# in practise, doing multiple redundant checks is perfectly fast and -	# TODO: optimize grub itself, and use */? here for everything - -	for vol in ${lvmvol} ${raidvol} ; do -		try_bootcfg "${vol}" -	done - -	unset bootdev -	for grub_disk in ${grub_scan_disk}; do -		for i in 0 1 2 3 4 5 6 7 8; do -			for part in 1 2 3 4 5 6 7 8 9 10 11 12; do -				if [ "${grub_disk}" = "ahci" ]; then -					bootdev="${bootdev} (ahci${i},${part})" -				elif [ "${grub_disk}" = "ata" ]; then -					bootdev="${bootdev} (ata${i},${part})" -				elif [ "${grub_disk}" = "nvme" ]; then -					# TODO: do we care about other namesapces -					bootdev="${bootdev} (nvme${i}n1,${part})" -				fi -			done -		done -	done - -	set pager=0 -	echo -n "Attempting to unlock encrypted volumes" -	for dev in ${bootdev} ${lvmvol} ${raidvol}; do -		if cryptomount "${dev}" ; then break ; fi -	done -	set pager=1 -	echo - -	# after cryptomount, lvm volumes might be available -	for vol in ${lvmvol}; do -		try_bootcfg "${vol}" -	done - -	search_bootcfg crypto - -	for vol in lvm/* ; do -		try_bootcfg "${vol}" -	done - -	true # Prevent pager requiring to accept each line instead of whole screen -} - -menuentry 'Search for GRUB/SYSLINUX/EXTLINUX/ISOLINUX on USB  [s]' --hotkey='s' { -	search_bootcfg usb -} -menuentry 'Search for GRUB/SYSLINUX/EXTLINUX/ISOLINUX on AHCI  [a]' --hotkey='a' { -	search_bootcfg ahci -} -menuentry 'Search for GRUB/SYSLINUX/EXTLINUX/ISOLINUX on ATA/IDE  [d]' --hotkey='d' { -	search_bootcfg ata -} -menuentry 'Search for GRUB/SYSLINUX/EXTLINUX/ISOLINUX on NVMe  [e]' --hotkey='e' { -	search_bootcfg nvme -} -if [ -f (cbfsdisk)/grub.cfg ]; then -menuentry 'Load configuration (grub.cfg) in CBFS  [t]' --hotkey='t' { -	set root='(cbfsdisk)' -	if [ -f /grub.cfg ]; then -		configfile /grub.cfg -	fi -} -fi -if [ -f (cbfsdisk)/grubtest.cfg ]; then -menuentry 'Load test configuration (grubtest.cfg) in CBFS  [t]' --hotkey='t' { -	set root='(cbfsdisk)' -	if [ -f /grubtest.cfg ]; then -		configfile /grubtest.cfg -	fi -} -fi -if [ -f (cbfsdisk)/seabios.elf ]; then -menuentry 'Load SeaBIOS (payload) [b]' --hotkey='b' { -	set root='cbfsdisk' -	chainloader /seabios.elf -} -fi -if [ -f (cbfsdisk)/img/grub2 ]; then -menuentry 'Return to SeaBIOS [b]' --hotkey='b' { -	set root='cbfsdisk' -	chainloader /fallback/payload -} -fi -menuentry 'Poweroff  [p]' --hotkey='p' { -	halt -} -menuentry 'Reboot  [r]' --hotkey='r' { -	reboot -} -if [ -f (cbfsdisk)/img/memtest ]; then -menuentry 'Load MemTest86+  [m]' --hotkey='m' { -	set root='cbfsdisk' -	chainloader /img/memtest -} -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 -	} -} | 
