diff options
Diffstat (limited to 'config/data')
39 files changed, 1524 insertions, 0 deletions
diff --git a/config/data/coreboot/build.list b/config/data/coreboot/build.list new file mode 100644 index 00000000..f6535149 --- /dev/null +++ b/config/data/coreboot/build.list @@ -0,0 +1 @@ +build/coreboot.rom diff --git a/config/data/coreboot/mkhelper.cfg b/config/data/coreboot/mkhelper.cfg new file mode 100644 index 00000000..3c8b18d9 --- /dev/null +++ b/config/data/coreboot/mkhelper.cfg @@ -0,0 +1,32 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +# can be overridden per-tree e.g. use mrchromebox +url="https://github.com/coreboot/coreboot.git" +bkup_url="https://review.coreboot.org/coreboot" + +makeargs="UPDATED_SUBMODULES=1 CPUS=$XBMK_THREADS" +build_depend="seabios/build grub/default memtest86plus/default u-boot/amd64coreboot" + +seavgabiosrom="elf/seabios/default/build/libgfxinit/vgabios.bin" + +payload_seabios="n" +payload_memtest="n" +payload_grub="n" +payload_grubsea="n" + +initmode="" +ubootelf="" +grub_scan_disk="" +uboot_config="" +grubtree="" +grubelf="" +pname="" +displaymode="" +tmprom="" +newrom="" +payload_uboot="" +cbfscfg="" + +premake="corebootpremake" +mkhelper="$if_not_dry_build coreboot_pad_one_byte" +postmake="$if_not_dry_build mkcorebootbin" diff --git a/config/data/flashprog/build.list b/config/data/flashprog/build.list new file mode 100644 index 00000000..9c83bce7 --- /dev/null +++ b/config/data/flashprog/build.list @@ -0,0 +1 @@ +flashprog diff --git a/config/data/grub/background/COPYING b/config/data/grub/background/COPYING new file mode 100644 index 00000000..ba07806d --- /dev/null +++ b/config/data/grub/background/COPYING @@ -0,0 +1,4 @@ +The deer logo for Libreboot is copyright 2014 Marcus Moeller and released under +CC-0 1.0: https://creativecommons.org/publicdomain/zero/1.0/legalcode +The grey backgrounds with it were made by Leah Rowe in 2016, also CC-0 1.0; the +same applies to the purple version which was made in 2023. diff --git a/config/data/grub/background/background1024x768.png b/config/data/grub/background/background1024x768.png Binary files differnew file mode 100644 index 00000000..181909db --- /dev/null +++ b/config/data/grub/background/background1024x768.png diff --git a/config/data/grub/background/background1280x800.png b/config/data/grub/background/background1280x800.png Binary files differnew file mode 100644 index 00000000..f563ea63 --- /dev/null +++ b/config/data/grub/background/background1280x800.png diff --git a/config/data/grub/bootorder b/config/data/grub/bootorder new file mode 100644 index 00000000..b33e1295 --- /dev/null +++ b/config/data/grub/bootorder @@ -0,0 +1 @@ +/rom@img/grub2 diff --git a/config/data/grub/bootorder_uboot b/config/data/grub/bootorder_uboot new file mode 100644 index 00000000..80641a36 --- /dev/null +++ b/config/data/grub/bootorder_uboot @@ -0,0 +1 @@ +/rom@img/u-boot diff --git a/config/data/grub/build.list b/config/data/grub/build.list new file mode 100644 index 00000000..5b891e5a --- /dev/null +++ b/config/data/grub/build.list @@ -0,0 +1 @@ +grub.elf diff --git a/config/data/grub/cfg/default.config b/config/data/grub/cfg/default.config new file mode 100644 index 00000000..3d84413e --- /dev/null +++ b/config/data/grub/cfg/default.config @@ -0,0 +1,305 @@ +# SPDX-License-Identifier: GPL-3.0-or-later +# Copyright (C) 2014-2016,2020-2021,2023-2025 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 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 + + for dt in cbfsdisk memdisk; do + for it in png jpg; do + if [ -f (${dt})/background.${it} ]; then + insmod ${it} + background_image (${dt})/background.${it} + fi + done + done +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=8 +fi +set grub_scan_disk="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})" + fi + done + if [ "${1}" != "nvme" ]; then + # raw devices e.g. (ahci0) instead of (ahci0,1) + try_user_config "(${1}${i})" + 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})" + fi + done + if [ "${1}" != "nvme" ]; then + # raw devices e.g. (usb0) instead of (usb0,1) + try_isolinux_config "(${1}${i})" + 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 + + 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 + # TODO: optimize grub itself, and use */? here for everything + + for vol in ${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} ${raidvol}; do + if cryptomount "${dev}" ; then break ; fi + done + set pager=1 + echo + + search_bootcfg crypto + + lvmvol="" + + # after cryptomount, lvm volumes might be available + # using * is slow on some machines, but we use it here, + # just once. in so doing, we find every lvm volume + for vol in (*); do + if regexp ^\\(lvm/ $vol; then + lvmvol="${lvmvol} ${vol}" + try_bootcfg "${vol}" + fi + done + + # user might have put luks inside lvm + set pager=0 + echo "Attempting to unlock encrypted LVMs" + for vol in ${lvmvol}; do + cryptomount "$vol" + done + set pager=1 + echo + + search_bootcfg crypto + + 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 +} +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) inside of CBFS [t]' --hotkey='t' { + set root='(cbfsdisk)' + if [ -f /grubtest.cfg ]; then + configfile /grubtest.cfg + fi +} +fi +if [ -f (cbfsdisk)/u-boot ]; then +menuentry 'U-Boot i386 payload (experimental) [u]' --hotkey='u' { + set root='cbfsdisk' + chainloader /u-boot +} +fi +if [ -f (cbfsdisk)/seabios.elf ]; then +if [ -f (cbfsdisk)/img/u-boot ]; then +menuentry 'Load SeaBIOS (U-Boot UEFI available in the ESC menu) [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /seabios.elf +} +else +menuentry 'Load SeaBIOS [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /seabios.elf +} +fi +fi +if [ -f (cbfsdisk)/img/grub2 ]; then +if [ -f (cbfsdisk)/img/u-boot ]; then +menuentry 'Return to SeaBIOS (U-Boot UEFI available in the ESC menu) [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /fallback/payload +} +else +menuentry 'Return to SeaBIOS [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /fallback/payload +} +fi +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 + } +} diff --git a/config/data/grub/cfg/nvme.config b/config/data/grub/cfg/nvme.config new file mode 100644 index 00000000..4f3de36e --- /dev/null +++ b/config/data/grub/cfg/nvme.config @@ -0,0 +1,320 @@ +# SPDX-License-Identifier: GPL-3.0-or-later +# Copyright (C) 2014-2016,2020-2021,2023-2025 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 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 + + for dt in cbfsdisk memdisk; do + for it in png jpg; do + if [ -f (${dt})/background.${it} ]; then + insmod ${it} + background_image (${dt})/background.${it} + fi + done + done +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=8 +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 + + 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 + # TODO: optimize grub itself, and use */? here for everything + + for vol in ${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} ${raidvol}; do + if cryptomount "${dev}" ; then break ; fi + done + set pager=1 + echo + + search_bootcfg crypto + + lvmvol="" + + # after cryptomount, lvm volumes might be available + # using * is slow on some machines, but we use it here, + # just once. in so doing, we find every lvm volume + for vol in (*); do + if regexp ^\\(lvm/ $vol; then + lvmvol="${lvmvol} ${vol}" + try_bootcfg "${vol}" + fi + done + + # user might have put luks inside lvm + set pager=0 + echo "Attempting to unlock encrypted LVMs" + for vol in ${lvmvol}; do + cryptomount "$vol" + done + set pager=1 + echo + + search_bootcfg crypto + + 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) inside of CBFS [t]' --hotkey='t' { + set root='(cbfsdisk)' + if [ -f /grubtest.cfg ]; then + configfile /grubtest.cfg + fi +} +fi +if [ -f (cbfsdisk)/u-boot ]; then +menuentry 'U-Boot i386 payload (experimental) [u]' --hotkey='u' { + set root='cbfsdisk' + chainloader /u-boot +} +fi +if [ -f (cbfsdisk)/seabios.elf ]; then +if [ -f (cbfsdisk)/img/u-boot ]; then +menuentry 'Load SeaBIOS (U-Boot UEFI available in the ESC menu) [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /seabios.elf +} +else +menuentry 'Load SeaBIOS [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /seabios.elf +} +fi +fi +if [ -f (cbfsdisk)/img/grub2 ]; then +if [ -f (cbfsdisk)/img/u-boot ]; then +menuentry 'Return to SeaBIOS (U-Boot UEFI available in the ESC menu) [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /fallback/payload +} +else +menuentry 'Return to SeaBIOS [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /fallback/payload +} +fi +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 + } +} diff --git a/config/data/grub/cfg/xhci_nvme.config b/config/data/grub/cfg/xhci_nvme.config new file mode 100644 index 00000000..9db22fe2 --- /dev/null +++ b/config/data/grub/cfg/xhci_nvme.config @@ -0,0 +1,321 @@ +# SPDX-License-Identifier: GPL-3.0-or-later +# Copyright (C) 2014-2016,2020-2021,2023-2025 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 + + for dt in cbfsdisk memdisk; do + for it in png jpg; do + if [ -f (${dt})/background.${it} ]; then + insmod ${it} + background_image (${dt})/background.${it} + fi + done + done +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=8 +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 + + 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 + # TODO: optimize grub itself, and use */? here for everything + + for vol in ${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} ${raidvol}; do + if cryptomount "${dev}" ; then break ; fi + done + set pager=1 + echo + + search_bootcfg crypto + + lvmvol="" + + # after cryptomount, lvm volumes might be available + # using * is slow on some machines, but we use it here, + # just once. in so doing, we find every lvm volume + for vol in (*); do + if regexp ^\\(lvm/ $vol; then + lvmvol="${lvmvol} ${vol}" + try_bootcfg "${vol}" + fi + done + + # user might have put luks inside lvm + set pager=0 + echo "Attempting to unlock encrypted LVMs" + for vol in ${lvmvol}; do + cryptomount "$vol" + done + set pager=1 + echo + + search_bootcfg crypto + + 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)/u-boot ]; then +menuentry 'U-Boot i386 payload (experimental) [u]' --hotkey='u' { + set root='cbfsdisk' + chainloader /u-boot +} +fi +if [ -f (cbfsdisk)/seabios.elf ]; then +if [ -f (cbfsdisk)/img/u-boot ]; then +menuentry 'Load SeaBIOS (U-Boot UEFI available in the ESC menu) [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /seabios.elf +} +else +menuentry 'Load SeaBIOS [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /seabios.elf +} +fi +fi +if [ -f (cbfsdisk)/img/grub2 ]; then +if [ -f (cbfsdisk)/img/u-boot ]; then +menuentry 'Return to SeaBIOS (U-Boot UEFI available in the ESC menu) [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /fallback/payload +} +else +menuentry 'Return to SeaBIOS [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /fallback/payload +} +fi +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 + } +} diff --git a/config/data/grub/keymap/colemak.gkb b/config/data/grub/keymap/colemak.gkb Binary files differnew file mode 100644 index 00000000..d357816b --- /dev/null +++ b/config/data/grub/keymap/colemak.gkb diff --git a/config/data/grub/keymap/deqwertz.gkb b/config/data/grub/keymap/deqwertz.gkb Binary files differnew file mode 100644 index 00000000..4928d026 --- /dev/null +++ b/config/data/grub/keymap/deqwertz.gkb diff --git a/config/data/grub/keymap/dkqwerty.gkb b/config/data/grub/keymap/dkqwerty.gkb Binary files differnew file mode 100644 index 00000000..aef62970 --- /dev/null +++ b/config/data/grub/keymap/dkqwerty.gkb diff --git a/config/data/grub/keymap/esqwerty.gkb b/config/data/grub/keymap/esqwerty.gkb Binary files differnew file mode 100644 index 00000000..6ce76330 --- /dev/null +++ b/config/data/grub/keymap/esqwerty.gkb diff --git a/config/data/grub/keymap/frazerty.gkb b/config/data/grub/keymap/frazerty.gkb Binary files differnew file mode 100644 index 00000000..f8455154 --- /dev/null +++ b/config/data/grub/keymap/frazerty.gkb diff --git a/config/data/grub/keymap/frdvbepo.gkb b/config/data/grub/keymap/frdvbepo.gkb Binary files differnew file mode 100644 index 00000000..20702607 --- /dev/null +++ b/config/data/grub/keymap/frdvbepo.gkb diff --git a/config/data/grub/keymap/itqwerty.gkb b/config/data/grub/keymap/itqwerty.gkb Binary files differnew file mode 100644 index 00000000..db10a54c --- /dev/null +++ b/config/data/grub/keymap/itqwerty.gkb diff --git a/config/data/grub/keymap/noqwerty.gkb b/config/data/grub/keymap/noqwerty.gkb Binary files differnew file mode 100644 index 00000000..7ad9b7e4 --- /dev/null +++ b/config/data/grub/keymap/noqwerty.gkb diff --git a/config/data/grub/keymap/ptqwerty.gkb b/config/data/grub/keymap/ptqwerty.gkb Binary files differnew file mode 100644 index 00000000..5d9b453e --- /dev/null +++ b/config/data/grub/keymap/ptqwerty.gkb diff --git a/config/data/grub/keymap/svenska.gkb b/config/data/grub/keymap/svenska.gkb Binary files differnew file mode 100644 index 00000000..75ca762d --- /dev/null +++ b/config/data/grub/keymap/svenska.gkb diff --git a/config/data/grub/keymap/trqwerty.gkb b/config/data/grub/keymap/trqwerty.gkb Binary files differnew file mode 100644 index 00000000..452100d5 --- /dev/null +++ b/config/data/grub/keymap/trqwerty.gkb diff --git a/config/data/grub/keymap/ukdvorak.gkb b/config/data/grub/keymap/ukdvorak.gkb Binary files differnew file mode 100644 index 00000000..76b9e380 --- /dev/null +++ b/config/data/grub/keymap/ukdvorak.gkb diff --git a/config/data/grub/keymap/ukqwerty.gkb b/config/data/grub/keymap/ukqwerty.gkb Binary files differnew file mode 100644 index 00000000..5f513d85 --- /dev/null +++ b/config/data/grub/keymap/ukqwerty.gkb diff --git a/config/data/grub/keymap/usdvorak.gkb b/config/data/grub/keymap/usdvorak.gkb Binary files differnew file mode 100644 index 00000000..ef88232c --- /dev/null +++ b/config/data/grub/keymap/usdvorak.gkb diff --git a/config/data/grub/keymap/usqwerty.gkb b/config/data/grub/keymap/usqwerty.gkb Binary files differnew file mode 100644 index 00000000..0ea130f2 --- /dev/null +++ b/config/data/grub/keymap/usqwerty.gkb diff --git a/config/data/grub/memdisk.cfg b/config/data/grub/memdisk.cfg new file mode 100644 index 00000000..543e421d --- /dev/null +++ b/config/data/grub/memdisk.cfg @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: GPL-3.0-or-later +# Copyright (C) 2023 Leah Rowe <leah@libreboot.org> + +set prefix=(memdisk)/boot/grub + +if [ -f (cbfsdisk)/grub.cfg ]; then + source (cbfsdisk)/grub.cfg +else + source (memdisk)/boot/grub/grub_default.cfg +fi diff --git a/config/data/grub/mkhelper.cfg b/config/data/grub/mkhelper.cfg new file mode 100644 index 00000000..9e8dee58 --- /dev/null +++ b/config/data/grub/mkhelper.cfg @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +# can be overridden per-tree +url="git://git.savannah.gnu.org/grub.git" +bkup_url="https://codeberg.org/libreboot/grub" + +bootstrapargs="--gnulib-srcdir=gnulib/ --no-git" +configureargs="--with-platform=coreboot --disable-werror" +makeargs="FS_PAYLOAD_MODULES=\"\"" +mkhelper="$if_not_dry_build mkpayload_grub" + +noconfig="y" diff --git a/config/data/grub/module/default b/config/data/grub/module/default new file mode 100755 index 00000000..39030e2a --- /dev/null +++ b/config/data/grub/module/default @@ -0,0 +1,163 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +# Install modules (installed, but not automatically loaded) +grub_install_modules=" \ +hexdump \ +newc \ +odc \ +usbserial_common \ +usbserial_ftdi \ +usbserial_pl2303 \ +usbserial_usbdebug \ +video_colors \ +" +# Modules (and always loaded) +grub_modules=" \ +acpi \ +ahci \ +at_keyboard \ +all_video \ +ata \ +bitmap \ +bitmap_scale \ +boot \ +bsd \ +btrfs \ +cat \ +cbfs \ +cbls \ +cbmemc \ +cbtime \ +chain \ +configfile \ +cpio \ +cpio_be \ +crc64 \ +crypto_cipher_mode_test \ +crypto \ +cryptodisk \ +diskfilter \ +echo \ +ehci \ +eval \ +exfat \ +elf \ +ext2 \ +fat \ +functional_test \ +f2fs \ +gcry_arcfour \ +gcry_blake2 \ +gcry_blowfish \ +gcry_camellia \ +gcry_cast5 \ +gcry_crc \ +gcry_des \ +gcry_dsa \ +gcry_hwfeatures \ +gcry_idea \ +gcry_kdf \ +gcry_keccak \ +gcry_md4 \ +gcry_md5 \ +gcry_rfc2268 \ +gcry_rijndael \ +gcry_rmd160 \ +gcry_rsa \ +gcry_seed \ +gcry_serpent \ +gcry_sha1 \ +gcry_sha256 \ +gcry_sha512 \ +gcry_tiger \ +gcry_twofish \ +gcry_whirlpool \ +geli \ +gfxmenu \ +gfxterm_background \ +gzio \ +hashsum \ +halt \ +help \ +iorw \ +iso9660 \ +jpeg \ +json \ +keylayouts \ +keystatus \ +linux \ +linux16 \ +loadenv \ +loopback \ +ls \ +lsacpi \ +lsmmap \ +lspci \ +luks \ +luks2 \ +argon2 \ +lvm \ +lzopio \ +mdraid09 \ +mdraid09_be \ +mdraid1x \ +memdisk \ +memrw \ +minicmd \ +mmap \ +multiboot \ +multiboot2 \ +nativedisk \ +normal \ +ntfs \ +ohci \ +part_bsd \ +part_dfly \ +part_gpt \ +part_msdos \ +password \ +password_pbkdf2 \ +pata \ +pbkdf2 \ +pcidump \ +pgp \ +play \ +png \ +procfs \ +pubkey \ +raid5rec \ +raid6rec \ +read \ +reboot \ +regexp \ +romfs \ +scsi \ +search \ +search_fs_file \ +search_fs_uuid \ +search_label \ +serial \ +syslinuxcfg \ +setjmp \ +setpci \ +spkmodem \ +squash4 \ +sleep \ +tar \ +test \ +true \ +uhci \ +udf \ +ufs1 \ +ufs1_be \ +ufs2 \ +usb \ +usb_keyboard \ +usbms \ +xfs \ +xzio \ +zfs \ +zfscrypt \ +zfsinfo \ +zstd \ +" diff --git a/config/data/grub/module/nvme b/config/data/grub/module/nvme new file mode 100755 index 00000000..4b832983 --- /dev/null +++ b/config/data/grub/module/nvme @@ -0,0 +1,164 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +# Install modules (installed, but not automatically loaded) +grub_install_modules=" \ +hexdump \ +newc \ +odc \ +usbserial_common \ +usbserial_ftdi \ +usbserial_pl2303 \ +usbserial_usbdebug \ +video_colors \ +" +# Modules (and always loaded) +grub_modules=" \ +acpi \ +ahci \ +at_keyboard \ +all_video \ +ata \ +bitmap \ +bitmap_scale \ +boot \ +bsd \ +btrfs \ +cat \ +cbfs \ +cbls \ +cbmemc \ +cbtime \ +chain \ +configfile \ +cpio \ +cpio_be \ +crc64 \ +crypto_cipher_mode_test \ +crypto \ +cryptodisk \ +diskfilter \ +echo \ +ehci \ +eval \ +exfat \ +elf \ +ext2 \ +fat \ +functional_test \ +f2fs \ +gcry_arcfour \ +gcry_blake2 \ +gcry_blowfish \ +gcry_camellia \ +gcry_cast5 \ +gcry_crc \ +gcry_des \ +gcry_dsa \ +gcry_hwfeatures \ +gcry_idea \ +gcry_kdf \ +gcry_keccak \ +gcry_md4 \ +gcry_md5 \ +gcry_rfc2268 \ +gcry_rijndael \ +gcry_rmd160 \ +gcry_rsa \ +gcry_seed \ +gcry_serpent \ +gcry_sha1 \ +gcry_sha256 \ +gcry_sha512 \ +gcry_tiger \ +gcry_twofish \ +gcry_whirlpool \ +geli \ +gfxmenu \ +gfxterm_background \ +gzio \ +hashsum \ +halt \ +help \ +iorw \ +iso9660 \ +jpeg \ +json \ +keylayouts \ +keystatus \ +linux \ +linux16 \ +loadenv \ +loopback \ +ls \ +lsacpi \ +lsmmap \ +lspci \ +luks \ +luks2 \ +argon2 \ +lvm \ +lzopio \ +mdraid09 \ +mdraid09_be \ +mdraid1x \ +memdisk \ +memrw \ +minicmd \ +mmap \ +multiboot \ +multiboot2 \ +nativedisk \ +normal \ +ntfs \ +nvme \ +ohci \ +part_bsd \ +part_dfly \ +part_gpt \ +part_msdos \ +password \ +password_pbkdf2 \ +pata \ +pbkdf2 \ +pcidump \ +pgp \ +play \ +png \ +procfs \ +pubkey \ +raid5rec \ +raid6rec \ +read \ +reboot \ +regexp \ +romfs \ +scsi \ +search \ +search_fs_file \ +search_fs_uuid \ +search_label \ +serial \ +syslinuxcfg \ +setjmp \ +setpci \ +spkmodem \ +squash4 \ +sleep \ +tar \ +test \ +true \ +uhci \ +udf \ +ufs1 \ +ufs1_be \ +ufs2 \ +usb \ +usb_keyboard \ +usbms \ +xfs \ +xzio \ +zfs \ +zfscrypt \ +zfsinfo \ +zstd \ +" diff --git a/config/data/grub/module/xhci_nvme b/config/data/grub/module/xhci_nvme new file mode 100755 index 00000000..616fca40 --- /dev/null +++ b/config/data/grub/module/xhci_nvme @@ -0,0 +1,165 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +# Install modules (installed, but not automatically loaded) +grub_install_modules=" \ +hexdump \ +newc \ +odc \ +usbserial_common \ +usbserial_ftdi \ +usbserial_pl2303 \ +usbserial_usbdebug \ +video_colors \ +xhci \ +" +# Modules (and always loaded) +grub_modules=" \ +acpi \ +ahci \ +at_keyboard \ +all_video \ +ata \ +bitmap \ +bitmap_scale \ +boot \ +bsd \ +btrfs \ +cat \ +cbfs \ +cbls \ +cbmemc \ +cbtime \ +chain \ +configfile \ +cpio \ +cpio_be \ +crc64 \ +crypto_cipher_mode_test \ +crypto \ +cryptodisk \ +diskfilter \ +echo \ +ehci \ +eval \ +exfat \ +elf \ +ext2 \ +fat \ +functional_test \ +f2fs \ +gcry_arcfour \ +gcry_blake2 \ +gcry_blowfish \ +gcry_camellia \ +gcry_cast5 \ +gcry_crc \ +gcry_des \ +gcry_dsa \ +gcry_hwfeatures \ +gcry_idea \ +gcry_kdf \ +gcry_keccak \ +gcry_md4 \ +gcry_md5 \ +gcry_rfc2268 \ +gcry_rijndael \ +gcry_rmd160 \ +gcry_rsa \ +gcry_seed \ +gcry_serpent \ +gcry_sha1 \ +gcry_sha256 \ +gcry_sha512 \ +gcry_tiger \ +gcry_twofish \ +gcry_whirlpool \ +geli \ +gfxmenu \ +gfxterm_background \ +gzio \ +hashsum \ +halt \ +help \ +iorw \ +iso9660 \ +jpeg \ +json \ +keylayouts \ +keystatus \ +linux \ +linux16 \ +loadenv \ +loopback \ +ls \ +lsacpi \ +lsmmap \ +lspci \ +luks \ +luks2 \ +argon2 \ +lvm \ +lzopio \ +mdraid09 \ +mdraid09_be \ +mdraid1x \ +memdisk \ +memrw \ +minicmd \ +mmap \ +multiboot \ +multiboot2 \ +nativedisk \ +normal \ +ntfs \ +nvme \ +ohci \ +part_bsd \ +part_dfly \ +part_gpt \ +part_msdos \ +password \ +password_pbkdf2 \ +pata \ +pbkdf2 \ +pcidump \ +pgp \ +play \ +png \ +pubkey \ +procfs \ +raid5rec \ +raid6rec \ +read \ +reboot \ +regexp \ +romfs \ +scsi \ +search \ +search_fs_file \ +search_fs_uuid \ +search_label \ +serial \ +syslinuxcfg \ +setjmp \ +setpci \ +spkmodem \ +squash4 \ +sleep \ +tar \ +test \ +true \ +uhci \ +udf \ +ufs1 \ +ufs1_be \ +ufs2 \ +usb \ +usb_keyboard \ +usbms \ +xfs \ +xzio \ +zfs \ +zfscrypt \ +zfsinfo \ +zstd \ +" diff --git a/config/data/libarchive/build.list b/config/data/libarchive/build.list new file mode 100644 index 00000000..044f9db2 --- /dev/null +++ b/config/data/libarchive/build.list @@ -0,0 +1,3 @@ +bsdtar +bsdunzip +bsdcpio diff --git a/config/data/memtest86plus/build.list b/config/data/memtest86plus/build.list new file mode 100644 index 00000000..3074d133 --- /dev/null +++ b/config/data/memtest86plus/build.list @@ -0,0 +1 @@ +build64/memtest.bin diff --git a/config/data/pcsx-redux/mkhelper.cfg b/config/data/pcsx-redux/mkhelper.cfg new file mode 100644 index 00000000..d7369797 --- /dev/null +++ b/config/data/pcsx-redux/mkhelper.cfg @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +mkhelper="$if_not_dry_build copyps1bios" +postmake="$if_not_dry_build copyps1bios" diff --git a/config/data/seabios/build.list b/config/data/seabios/build.list new file mode 100644 index 00000000..d6fefb4e --- /dev/null +++ b/config/data/seabios/build.list @@ -0,0 +1,2 @@ +out/bios.bin.elf +out/vgabios.bin diff --git a/config/data/u-boot/build.list b/config/data/u-boot/build.list new file mode 100644 index 00000000..5af3064a --- /dev/null +++ b/config/data/u-boot/build.list @@ -0,0 +1,8 @@ +u-boot +u-boot.bin +u-boot.dtb +u-boot.img +u-boot.itb +u-boot.elf +u-boot-dtb.bin +u-boot-x86-with-spl.bin diff --git a/config/data/u-boot/mkhelper.cfg b/config/data/u-boot/mkhelper.cfg new file mode 100644 index 00000000..c47f9580 --- /dev/null +++ b/config/data/u-boot/mkhelper.cfg @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +url="https://source.denx.de/u-boot/u-boot.git" +bkup_url="https://github.com/u-boot/u-boot.git" diff --git a/config/data/uefitool/build.list b/config/data/uefitool/build.list new file mode 100644 index 00000000..2c59bb50 --- /dev/null +++ b/config/data/uefitool/build.list @@ -0,0 +1 @@ +uefiextract |
