oh! here’s the guix build script for gnu boot I have packaging efforts in progress but this works. I used it incrementally so it may need tweaks to resolve bugs for being used all in one go. note at the bottom it’s hardcoded to build a t60 bios, can change it but some things may have more dependencies this is simply very useful (imo, likely a rare one) https://bpa.st/FS7A from guix irc logs, looks like indentation was lost below :s #!/usr/bin/env bash if ! [ -d gnuboot/resources/coreboot ] && ! [ -d resources/coreboot ] then git clone https://git.savannah.gnu.org/git/gnuboot.git pushd gnuboot git reset --hard 39c70840617d2fd849284919232b0cc09384a96c # this was just the latest tip when I did this patch -p1 <<"PATCH_TO_FIND_UNIFONT" diff --git a/resources/packages/grub/module b/resources/packages/grub/module index 059035d..76cd8dc 100755 --- a/resources/packages/grub/module +++ b/resources/packages/grub/module @@ -43,6 +43,6 @@ cd grub/ # build ./autogen.sh -./configure --with-platform=coreboot +./configure --with-platform=coreboot --with-unifont=$GUIX_ENVIRONMENT/share/fonts/opentype/unifont.otf make -j$(nproc) ) PATCH_TO_FIND_UNIFONT # empty-line, i was thinking of removing the ada dependency tree-wide bvt wasn't certain how yet fi # vboot includes a hostside chromebook firmware tool that uses 64-bit array indices # propagating these 3 flags lets the build continue on my 32-bit system # patching vboot would be nicer. it seemed to be in the tree in multiple places. export CC='gcc --warn-no-stringop-overflow --warn-no-array-bounds --warn-no-restrict' export HOSTCC=$CC export PYTHON=python3 V=1 VERBOSE=1 if [ "$*" == "" ] then #bash "$0" make -C gnuboot \ # CC="$CC" \ # HOSTCC="$HOSTCC" \ # PYTHON='python3' \ # V=1 \ # VERBOSE=1 SELF=$(realpath "$0") cd gnuboot bash "$SELF" ./build boot roms t60_intelgpu else guix shell \ --preserve=CC --preserve=HOSTCC --preserve=PYTHON --preserve=V --preserve=VERBOSE \ -D hello autoconf automake bison ccache clisp curl flex font-gnu-unifont freetype \ git gettext graphicsmagick gtk-doc guix intltool libtool lua nss-certs perl \ pkg-config python python-2 ruby texinfo zlib -- "$@" fi