Exploit common configurations for recovery/release images

This commit is contained in:
Andrew J. Hesford 2022-06-28 14:28:21 -04:00
parent 1be8ed0fd3
commit 10e3624cee
5 changed files with 46 additions and 51 deletions

View File

@ -10,12 +10,18 @@ jobs:
steps:
- uses: actions/checkout@master
- name: Prepare repository for build
run: |
rm -rf /zbm
ln -s "$(pwd)" /zbm
echo "zfsbootmenu_module_root='/zbm/zfsbootmenu'" > /zbm/etc/zfsbootmenu/dracut.conf.d/zbm_modroot.conf
yq-go e '.Global.DracutFlags += ["--no-early-microcode"]' /zbm/releng/docker/config.yaml.default > /zbm/releng/docker/config.yaml
- name: Build release artifacts
run: |
ln -s "$(pwd)" /zbm
cp /zbm/etc/zfsbootmenu/release.conf.d/release.conf /zbm/etc/zfsbootmenu/dracut.conf.d/
echo "zfsbootmenu_module_root='/zbm/zfsbootmenu'" >> /zbm/etc/zfsbootmenu/dracut.conf.d/release.conf
/zbm/releng/docker/zbm-build.sh -b /zbm/releng/docker -e '.Global.DracutFlags += ["--no-early-microcode"]' -- --debug
cp /zbm/etc/zfsbootmenu/dracut.conf.d/*.conf /zbm/etc/zfsbootmenu/release.conf.d/
yq-go e '.Global.DracutConfDir = "/zbm/etc/zfsbootmenu/release.conf.d"' -i /zbm/releng/docker/config.yaml
/zbm/releng/docker/zbm-build.sh -b /zbm/releng/docker -- --debug
- name: Archive release EFI
uses: actions/upload-artifact@v2
@ -31,13 +37,15 @@ jobs:
/zbm/releng/docker/build/*
!/zbm/releng/docker/build/*.EFI
- name: Prune release artifacts
run: |
rm -rf /zbm/releng/docker/build/*
- name: Build recovery artifacts
run: |
rm /zbm/etc/zfsbootmenu/dracut.conf.d/release.conf
rm -rf /zbm/releng/docker/build/*
cp /zbm/etc/zfsbootmenu/recovery.conf.d/recovery.conf /zbm/etc/zfsbootmenu/dracut.conf.d/
echo "zfsbootmenu_module_root='/zbm/zfsbootmenu'" >> /zbm/etc/zfsbootmenu/dracut.conf.d/recovery.conf
/zbm/releng/docker/zbm-build.sh -b /zbm/releng/docker -e '.Global.DracutFlags += ["--no-early-microcode"]' -- --debug
cp /zbm/etc/zfsbootmenu/dracut.conf.d/*.conf /zbm/etc/zfsbootmenu/recovery.conf.d/
yq-go e '.Global.DracutConfDir = "/zbm/etc/zfsbootmenu/recovery.conf.d"' -i /zbm/releng/docker/config.yaml
/zbm/releng/docker/zbm-build.sh -b /zbm/releng/docker -- --debug
- name: Archive recovery EFI
uses: actions/upload-artifact@v2

View File

@ -0,0 +1 @@
../release.conf.d/common.conf

View File

@ -1,29 +1,12 @@
zfsbootmenu_teardown+=" /zbm/contrib/xhci-teardown.sh "
zfsbootmenu_early_setup+=" /zbm/contrib/console-init.sh "
install_optional_items+="\
/etc/zbm-commit-hash\
/bin/gdisk\
/bin/parted\
/bin/mkfs.vfat\
/bin/mkfs.ext4\
/bin/cryptsetup\
/bin/efibootmgr\
/bin/ip\
/bin/curl\
/bin/dhclient\
/sbin/dhclient-script\
"
omit_drivers+=" amdgpu radeon nvidia nouveau i915 "
# Filesystem manipulation
install_optional_items+=" /bin/gdisk /bin/parted /bin/mkfs.vfat /bin/mkfs.ext4 "
# Network related modules
# Boot manipulation
install_optional_items+=" /bin/efibootmgr "
# LUKS control
install_optional_items+=" /bin/cryptsetup "
# Networking
install_optional_items+=" /bin/ip /bin/curl /bin/dhclient /sbin/dhclient-script "
add_dracutmodules+=" kernel-network-modules qemu-net "
omit_dracutmodules+=" crypt-ssh nfs lunmask "
# qemu drivers
omit_dracutmodules+=" qemu "
# filesystem and other related bits
omit_dracutmodules+=" nvdimm fs-lib rootfs-block dm dmraid crypt "
embedded_kcl="rd.hostonly=0"
release_build=1

View File

@ -0,0 +1,15 @@
zfsbootmenu_teardown+=" /zbm/contrib/xhci-teardown.sh "
zfsbootmenu_early_setup+=" /zbm/contrib/console-init.sh "
install_optional_items+=" /etc/zbm-commit-hash "
omit_dracutmodules+=" crypt-ssh nfs lunmask "
# qemu drivers
omit_dracutmodules+=" qemu "
# filesystem and other related bits
omit_dracutmodules+=" nvdimm fs-lib rootfs-block dm dmraid crypt "
embedded_kcl="rd.hostonly=0"
release_build=1

View File

@ -1,17 +1,5 @@
zfsbootmenu_teardown+=" /zbm/contrib/xhci-teardown.sh "
zfsbootmenu_early_setup+=" /zbm/contrib/console-init.sh "
install_optional_items+=" /etc/zbm-commit-hash "
omit_drivers+=" amdgpu radeon nvidia nouveau i915 "
# Network related modules
# Network related modules are not in the regular release
omit_dracutmodules+=" network network-legacy kernel-network-modules "
omit_dracutmodules+=" crypt-ssh nfs lunmask "
# qemu drivers
omit_dracutmodules+=" qemu qemu-net "
# filesystem and other related bits
omit_dracutmodules+=" nvdimm fs-lib rootfs-block dm dmraid crypt "
embedded_kcl="rd.hostonly=0"
release_build=1
# qemu network driver
omit_dracutmodules+=" qemu-net "