summaryrefslogtreecommitdiff
path: root/config/data
diff options
context:
space:
mode:
Diffstat (limited to 'config/data')
-rw-r--r--config/data/coreboot/mkhelper.cfg16
-rw-r--r--config/data/deguard/appdir.patch131
-rw-r--r--config/data/flashprog/build.list1
-rw-r--r--config/data/grub/background/COPYING4
-rw-r--r--config/data/grub/background/background1024x768.pngbin0 -> 4935 bytes
-rw-r--r--config/data/grub/background/background1280x800.pngbin0 -> 3451 bytes
-rw-r--r--config/data/grub/bootorder1
-rw-r--r--config/data/grub/build.list1
-rw-r--r--config/data/grub/keymap/colemak.gkbbin0 -> 488 bytes
-rw-r--r--config/data/grub/keymap/deqwertz.gkbbin0 -> 508 bytes
-rw-r--r--config/data/grub/keymap/esqwerty.gkbbin0 -> 492 bytes
-rw-r--r--config/data/grub/keymap/frazerty.gkbbin0 -> 496 bytes
-rw-r--r--config/data/grub/keymap/frdvbepo.gkbbin0 -> 516 bytes
-rw-r--r--config/data/grub/keymap/itqwerty.gkbbin0 -> 488 bytes
-rw-r--r--config/data/grub/keymap/ptqwerty.gkbbin0 -> 492 bytes
-rw-r--r--config/data/grub/keymap/svenska.gkbbin0 -> 488 bytes
-rw-r--r--config/data/grub/keymap/trqwerty.gkbbin0 -> 476 bytes
-rw-r--r--config/data/grub/keymap/ukdvorak.gkbbin0 -> 372 bytes
-rw-r--r--config/data/grub/keymap/ukqwerty.gkbbin0 -> 488 bytes
-rw-r--r--config/data/grub/keymap/usdvorak.gkbbin0 -> 364 bytes
-rw-r--r--config/data/grub/keymap/usqwerty.gkbbin0 -> 344 bytes
-rw-r--r--config/data/grub/memdisk.cfg10
-rw-r--r--config/data/grub/mkhelper.cfg7
-rwxr-xr-xconfig/data/grub/module/default155
-rwxr-xr-xconfig/data/grub/module/nvme156
-rwxr-xr-xconfig/data/grub/module/xhci157
-rw-r--r--config/data/memtest86plus/build.list1
-rw-r--r--config/data/pcsx-redux/mkhelper.cfg3
-rw-r--r--config/data/pico-serprog/mkhelper.cfg7
-rw-r--r--config/data/seabios/build.list2
-rw-r--r--config/data/seabios/mkhelper.cfg0
-rw-r--r--config/data/stm32-vserprog/mkhelper.cfg6
-rw-r--r--config/data/u-boot/build.list6
-rw-r--r--config/data/uefitool/build.list1
34 files changed, 665 insertions, 0 deletions
diff --git a/config/data/coreboot/mkhelper.cfg b/config/data/coreboot/mkhelper.cfg
new file mode 100644
index 00000000..73cc957d
--- /dev/null
+++ b/config/data/coreboot/mkhelper.cfg
@@ -0,0 +1,16 @@
+. "include/rom.sh"
+
+makeargs="UPDATED_SUBMODULES=1 CPUS=$XBMK_THREADS"
+build_depend="seabios/default grub/default memtest86plus"
+
+seavgabiosrom="elf/seabios/default/libgfxinit/vgabios.bin"
+
+pv="payload_uboot payload_seabios payload_memtest payload_grub"
+v="initmode ubootelf grub_scan_disk uboot_config grubtree grubelf pname"
+v="$v displaymode tmprom newrom"
+eval `setvars "n" $pv`
+eval `setvars "" $v`
+
+premake="mkvendorfiles"
+mkhelper="mkcorebootbin"
+postmake="mkcoreboottar"
diff --git a/config/data/deguard/appdir.patch b/config/data/deguard/appdir.patch
new file mode 100644
index 00000000..722a6168
--- /dev/null
+++ b/config/data/deguard/appdir.patch
@@ -0,0 +1,131 @@
+From b978cbb651a4bdd84be4a92ae240c8ca99ef21eb Mon Sep 17 00:00:00 2001
+From: Leah Rowe <info@minifree.org>
+Date: Tue, 24 Sep 2024 16:44:51 +0100
+Subject: [PATCH 1/1] Patch to integrate with lbmk
+
+Deguard is a standalone utility, but the way it works
+doesn't integrate well with lbmk.
+
+Remove the download logic, because lbmk already downloads
+the requisite zip file.
+
+Also not required, but nice, and included in this patch:
+
+Detect what python version is available, and make sure it's
+python 3.
+
+Signed-off-by: Leah Rowe <info@minifree.org>
+---
+ RUNME.sh | 64 +++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 36 insertions(+), 28 deletions(-)
+
+diff --git a/RUNME.sh b/RUNME.sh
+index 9809f89..7404ba6 100755
+--- a/RUNME.sh
++++ b/RUNME.sh
+@@ -1,25 +1,33 @@
+ #!/bin/sh
+ # SPDX-License-Identifier: GPL-2.0-only
+
++# This version of deguard is patched to integrate with lbmk.
++# Do not run this version standalone. Please use src/deguard/ instead.
++
+ set -e
+
+-if [ ! -f "me.bin" ]; then
+- wget "https://download.asrock.com/BIOS/1151/H110M-DGS(7.30)ROM.zip"
+- unzip "H110M-DGS(7.30)ROM.zip" H11MDGS7.30
+- rm "H110M-DGS(7.30)ROM.zip"
+- dd if=H11MDGS7.30 of=me.bin skip=1 count=511 bs=4096
+- rm H11MDGS7.30
++pyver="2"
++python="python3"
++which python3 || python="python"
++which $python || pyver=""
++[ -n "$pyver" ] && pyver="$($python --version | awk '{print $2}')"
++if [ "${pyver%%.*}" != "3" ]; then
++ printf "Wrong python version, or python missing. Must be python 3.\n" 1>&2
++ exit 1
+ fi
+
++rm -f me.bin MFS.part
++dd if=../H11MDGS7.30 of=me.bin skip=1 count=511 bs=4096
++
+ dd if=me.bin of=MFS.part skip=168 count=100 bs=4096
+
+ # Extract file number 7 (fitc.cfg)
+-python3 MFSUtil.py -m MFS.part -x -i 7 -o fitc.cfg
++$python MFSUtil.py -m MFS.part -x -i 7 -o fitc.cfg
+
+ # Remove /home/mca/eom
+-python3 MFSUtil.py -c fitc.cfg -r -f /home/mca/eom -o fitc.cfg
++$python MFSUtil.py -c fitc.cfg -r -f /home/mca/eom -o fitc.cfg
+ # Remove /home/bup/ct
+-python3 MFSUtil.py -c fitc.cfg -r -f /home/bup/ct -o fitc.cfg
++$python MFSUtil.py -c fitc.cfg -r -f /home/bup/ct -o fitc.cfg
+
+ # list off files differing in optiplex 3050 fw vs donor
+ files="
+@@ -39,40 +47,40 @@ secureboot/pubkeyhash
+
+ for i in $files
+ do
+- python3 MFSUtil.py -c fitc.cfg -r -f /home/$i -o fitc.cfg
++ $python MFSUtil.py -c fitc.cfg -r -f /home/$i -o fitc.cfg
+ done
+
+ # Add /home/mca/eom
+ dd if=/dev/zero of=eom count=1 bs=1
+-python3 MFSUtil.py -c fitc.cfg --add eom --alignment 2 --mode ' --Irw-r-----' \
++$python MFSUtil.py -c fitc.cfg --add eom --alignment 2 --mode ' --Irw-r-----' \
+ --opt '?!-F' --uid 0 --gid 238 -f /home/mca/eom -o fitc.cfg
+
+ # Add /home/bup/ct
+-python3 gen_shellcode.py -p H -v 11.6.0.1126 --fake-fpfs=fpfs/optiplex_3050 -o ct
+-python3 MFSUtil.py -c fitc.cfg --add ct --alignment 2 --mode ' ---rwxr-----' \
++$python gen_shellcode.py -p H -v 11.6.0.1126 --fake-fpfs=fpfs/optiplex_3050 -o ct
++$python MFSUtil.py -c fitc.cfg --add ct --alignment 2 --mode ' ---rwxr-----' \
+ --opt '?--F' --uid 3 --gid 351 -f /home/bup/ct -o fitc.cfg
+
+ # Add dell files
+-python3 MFSUtil.py -c fitc.cfg --add data/emu_fuse_map --alignment 2 --mode=' ---rw-r-----' --opt='?--F' --uid=3 --gid=238 -f /home/bup/bup_sku/emu_fuse_map -o fitc.cfg
+-python3 MFSUtil.py -c fitc.cfg --add data/plat_n_sku --alignment 2 --mode=' ---rw-r-----' --opt='?--F' --uid=3 --gid=238 -f /home/bup/bup_sku/plat_n_sku -o fitc.cfg
+-python3 MFSUtil.py -c fitc.cfg --add data/fwuoemid --alignment 2 --mode=' ---rw-rw----' --opt='?--F' --uid=32 --gid=238 -f /home/fwupdate/fwuoemid -o fitc.cfg
+-python3 MFSUtil.py -c fitc.cfg --add data/prof0 --alignment 2 --mode=' ---rw-r-----' --opt='?--F' --uid=55 --gid=238 -f /home/icc/prof0 -o fitc.cfg
+-python3 MFSUtil.py -c fitc.cfg --add data/device_ports --alignment 2 --mode=' ---rw-r-----' --opt='?--F' --uid=73 --gid=238 -f /home/mctp/device_ports -o fitc.cfg
+-python3 MFSUtil.py -c fitc.cfg --add data/hdcp_ports --alignment 2 --mode=' -EIrw-r-----' --opt='?!-F' --uid=80 --gid=238 -f /home/pavp/hdcp_ports -o fitc.cfg
+-python3 MFSUtil.py -c fitc.cfg --add data/cfg_rules --alignment 2 --mode=' ---rw-rw----' --opt='-!MF' --uid=85 --gid=238 -f /home/policy/cfgmgr/cfg_rules -o fitc.cfg
+-python3 MFSUtil.py -c fitc.cfg --add data/bootpolres --alignment 2 --mode=' ---rw-rw----' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/bootpolres -o fitc.cfg
+-python3 MFSUtil.py -c fitc.cfg --add data/bootpoltype --alignment 2 --mode=' ---rw-rw----' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/bootpoltype -o fitc.cfg
+-python3 MFSUtil.py -c fitc.cfg --add data/enfpolicy --alignment 2 --mode=' ---rw-rw----' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/enfpolicy -o fitc.cfg
+-python3 MFSUtil.py -c fitc.cfg --add data/kmid --alignment 2 --mode=' ---rw-r-----' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/kmid -o fitc.cfg
+-python3 MFSUtil.py -c fitc.cfg --add data/pubkeyhash --alignment 2 --mode=' ---rw-rw-r--' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/pubkeyhash -o fitc.cfg
++$python MFSUtil.py -c fitc.cfg --add data/emu_fuse_map --alignment 2 --mode=' ---rw-r-----' --opt='?--F' --uid=3 --gid=238 -f /home/bup/bup_sku/emu_fuse_map -o fitc.cfg
++$python MFSUtil.py -c fitc.cfg --add data/plat_n_sku --alignment 2 --mode=' ---rw-r-----' --opt='?--F' --uid=3 --gid=238 -f /home/bup/bup_sku/plat_n_sku -o fitc.cfg
++$python MFSUtil.py -c fitc.cfg --add data/fwuoemid --alignment 2 --mode=' ---rw-rw----' --opt='?--F' --uid=32 --gid=238 -f /home/fwupdate/fwuoemid -o fitc.cfg
++$python MFSUtil.py -c fitc.cfg --add data/prof0 --alignment 2 --mode=' ---rw-r-----' --opt='?--F' --uid=55 --gid=238 -f /home/icc/prof0 -o fitc.cfg
++$python MFSUtil.py -c fitc.cfg --add data/device_ports --alignment 2 --mode=' ---rw-r-----' --opt='?--F' --uid=73 --gid=238 -f /home/mctp/device_ports -o fitc.cfg
++$python MFSUtil.py -c fitc.cfg --add data/hdcp_ports --alignment 2 --mode=' -EIrw-r-----' --opt='?!-F' --uid=80 --gid=238 -f /home/pavp/hdcp_ports -o fitc.cfg
++$python MFSUtil.py -c fitc.cfg --add data/cfg_rules --alignment 2 --mode=' ---rw-rw----' --opt='-!MF' --uid=85 --gid=238 -f /home/policy/cfgmgr/cfg_rules -o fitc.cfg
++$python MFSUtil.py -c fitc.cfg --add data/bootpolres --alignment 2 --mode=' ---rw-rw----' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/bootpolres -o fitc.cfg
++$python MFSUtil.py -c fitc.cfg --add data/bootpoltype --alignment 2 --mode=' ---rw-rw----' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/bootpoltype -o fitc.cfg
++$python MFSUtil.py -c fitc.cfg --add data/enfpolicy --alignment 2 --mode=' ---rw-rw----' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/enfpolicy -o fitc.cfg
++$python MFSUtil.py -c fitc.cfg --add data/kmid --alignment 2 --mode=' ---rw-r-----' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/kmid -o fitc.cfg
++$python MFSUtil.py -c fitc.cfg --add data/pubkeyhash --alignment 2 --mode=' ---rw-rw-r--' --opt='?-MF' --uid=3 --gid=238 -f /home/secureboot/pubkeyhash -o fitc.cfg
+
+ # Delete file id 7 (fitc.cfg) from the MFS partition
+-python3 MFSUtil.py -m MFS.part -r -i 7 -o MFS.part
++$python MFSUtil.py -m MFS.part -r -i 7 -o MFS.part
+ # Delete file id 8 (home) from the MFS partition
+-python3 MFSUtil.py -m MFS.part -r -i 8 -o MFS.part
++$python MFSUtil.py -m MFS.part -r -i 8 -o MFS.part
+
+ # Add the modified fitc.cfg into the MFS partition
+-python3 MFSUtil.py -m MFS.part -a fitc.cfg --deoptimize -i 7 -o MFS.part
++$python MFSUtil.py -m MFS.part -a fitc.cfg --deoptimize -i 7 -o MFS.part
+
+ # Write
+ dd conv=notrunc if=MFS.part of=me.bin seek=168 count=100 bs=4096
+--
+2.39.5
+
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
new file mode 100644
index 00000000..181909db
--- /dev/null
+++ b/config/data/grub/background/background1024x768.png
Binary files differ
diff --git a/config/data/grub/background/background1280x800.png b/config/data/grub/background/background1280x800.png
new file mode 100644
index 00000000..f563ea63
--- /dev/null
+++ b/config/data/grub/background/background1280x800.png
Binary files differ
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/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/keymap/colemak.gkb b/config/data/grub/keymap/colemak.gkb
new file mode 100644
index 00000000..d357816b
--- /dev/null
+++ b/config/data/grub/keymap/colemak.gkb
Binary files differ
diff --git a/config/data/grub/keymap/deqwertz.gkb b/config/data/grub/keymap/deqwertz.gkb
new file mode 100644
index 00000000..4928d026
--- /dev/null
+++ b/config/data/grub/keymap/deqwertz.gkb
Binary files differ
diff --git a/config/data/grub/keymap/esqwerty.gkb b/config/data/grub/keymap/esqwerty.gkb
new file mode 100644
index 00000000..6ce76330
--- /dev/null
+++ b/config/data/grub/keymap/esqwerty.gkb
Binary files differ
diff --git a/config/data/grub/keymap/frazerty.gkb b/config/data/grub/keymap/frazerty.gkb
new file mode 100644
index 00000000..f8455154
--- /dev/null
+++ b/config/data/grub/keymap/frazerty.gkb
Binary files differ
diff --git a/config/data/grub/keymap/frdvbepo.gkb b/config/data/grub/keymap/frdvbepo.gkb
new file mode 100644
index 00000000..20702607
--- /dev/null
+++ b/config/data/grub/keymap/frdvbepo.gkb
Binary files differ
diff --git a/config/data/grub/keymap/itqwerty.gkb b/config/data/grub/keymap/itqwerty.gkb
new file mode 100644
index 00000000..db10a54c
--- /dev/null
+++ b/config/data/grub/keymap/itqwerty.gkb
Binary files differ
diff --git a/config/data/grub/keymap/ptqwerty.gkb b/config/data/grub/keymap/ptqwerty.gkb
new file mode 100644
index 00000000..5d9b453e
--- /dev/null
+++ b/config/data/grub/keymap/ptqwerty.gkb
Binary files differ
diff --git a/config/data/grub/keymap/svenska.gkb b/config/data/grub/keymap/svenska.gkb
new file mode 100644
index 00000000..75ca762d
--- /dev/null
+++ b/config/data/grub/keymap/svenska.gkb
Binary files differ
diff --git a/config/data/grub/keymap/trqwerty.gkb b/config/data/grub/keymap/trqwerty.gkb
new file mode 100644
index 00000000..452100d5
--- /dev/null
+++ b/config/data/grub/keymap/trqwerty.gkb
Binary files differ
diff --git a/config/data/grub/keymap/ukdvorak.gkb b/config/data/grub/keymap/ukdvorak.gkb
new file mode 100644
index 00000000..76b9e380
--- /dev/null
+++ b/config/data/grub/keymap/ukdvorak.gkb
Binary files differ
diff --git a/config/data/grub/keymap/ukqwerty.gkb b/config/data/grub/keymap/ukqwerty.gkb
new file mode 100644
index 00000000..5f513d85
--- /dev/null
+++ b/config/data/grub/keymap/ukqwerty.gkb
Binary files differ
diff --git a/config/data/grub/keymap/usdvorak.gkb b/config/data/grub/keymap/usdvorak.gkb
new file mode 100644
index 00000000..ef88232c
--- /dev/null
+++ b/config/data/grub/keymap/usdvorak.gkb
Binary files differ
diff --git a/config/data/grub/keymap/usqwerty.gkb b/config/data/grub/keymap/usqwerty.gkb
new file mode 100644
index 00000000..0ea130f2
--- /dev/null
+++ b/config/data/grub/keymap/usqwerty.gkb
Binary files differ
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..b75cf9d7
--- /dev/null
+++ b/config/data/grub/mkhelper.cfg
@@ -0,0 +1,7 @@
+. "include/rom.sh"
+
+bootstrapargs="--gnulib-srcdir=gnulib/ --no-git"
+autoconfargs="--with-platform=coreboot --disable-werror"
+makeargs="FS_PAYLOAD_MODULES=\"\""
+btype="autohell"
+mkhelper="mkpayload_grub"
diff --git a/config/data/grub/module/default b/config/data/grub/module/default
new file mode 100755
index 00000000..3555ad11
--- /dev/null
+++ b/config/data/grub/module/default
@@ -0,0 +1,155 @@
+# 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 \
+cryptodisk \
+diskfilter \
+echo \
+ehci \
+eval \
+exfat \
+elf \
+ext2 \
+fat \
+f2fs \
+gcry_arcfour \
+gcry_blowfish \
+gcry_camellia \
+gcry_cast5 \
+gcry_crc \
+gcry_des \
+gcry_dsa \
+gcry_idea \
+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 \
+gfxterm_menu \
+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 \
+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..503c61c8
--- /dev/null
+++ b/config/data/grub/module/nvme
@@ -0,0 +1,156 @@
+# 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 \
+cryptodisk \
+diskfilter \
+echo \
+ehci \
+eval \
+exfat \
+elf \
+ext2 \
+fat \
+f2fs \
+gcry_arcfour \
+gcry_blowfish \
+gcry_camellia \
+gcry_cast5 \
+gcry_crc \
+gcry_des \
+gcry_dsa \
+gcry_idea \
+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 \
+gfxterm_menu \
+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 \
+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 b/config/data/grub/module/xhci
new file mode 100755
index 00000000..6235bbad
--- /dev/null
+++ b/config/data/grub/module/xhci
@@ -0,0 +1,157 @@
+# 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 \
+cryptodisk \
+diskfilter \
+echo \
+ehci \
+eval \
+exfat \
+elf \
+ext2 \
+fat \
+f2fs \
+gcry_arcfour \
+gcry_blowfish \
+gcry_camellia \
+gcry_cast5 \
+gcry_crc \
+gcry_des \
+gcry_dsa \
+gcry_idea \
+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 \
+gfxterm_menu \
+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 \
+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/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..379ad032
--- /dev/null
+++ b/config/data/pcsx-redux/mkhelper.cfg
@@ -0,0 +1,3 @@
+. "include/rom.sh"
+
+postmake="copyps1bios"
diff --git a/config/data/pico-serprog/mkhelper.cfg b/config/data/pico-serprog/mkhelper.cfg
new file mode 100644
index 00000000..e424e2f4
--- /dev/null
+++ b/config/data/pico-serprog/mkhelper.cfg
@@ -0,0 +1,7 @@
+. "include/rom.sh"
+
+sersrc="src/pico-serprog"
+serx="$sersrc/build/pico_serprog.uf2"
+picosdk="src/pico-sdk"
+serdir="$picosdk/src/boards/include/boards"
+premake="mkserprog rp2040"
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/seabios/mkhelper.cfg b/config/data/seabios/mkhelper.cfg
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/config/data/seabios/mkhelper.cfg
diff --git a/config/data/stm32-vserprog/mkhelper.cfg b/config/data/stm32-vserprog/mkhelper.cfg
new file mode 100644
index 00000000..8f45d7fd
--- /dev/null
+++ b/config/data/stm32-vserprog/mkhelper.cfg
@@ -0,0 +1,6 @@
+. "include/rom.sh"
+
+sersrc="src/stm32-vserprog"
+serx="$sersrc/stm32-vserprog.hex"
+serdir="$sersrc/boards"
+mkhelper="mkserprog stm32"
diff --git a/config/data/u-boot/build.list b/config/data/u-boot/build.list
new file mode 100644
index 00000000..8d9a5cf0
--- /dev/null
+++ b/config/data/u-boot/build.list
@@ -0,0 +1,6 @@
+u-boot
+u-boot.bin
+u-boot.dtb
+u-boot.img
+u-boot.itb
+u-boot.elf
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