Skip to content

Commit 10e3624

Browse files
committed
Exploit common configurations for recovery/release images
1 parent 1be8ed0 commit 10e3624

File tree

5 files changed

+45
-50
lines changed

5 files changed

+45
-50
lines changed

.github/workflows/build.yml

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,18 @@ jobs:
1010
steps:
1111
- uses: actions/checkout@master
1212

13-
- name: Build release artifacts
13+
- name: Prepare repository for build
1414
run: |
15+
rm -rf /zbm
1516
ln -s "$(pwd)" /zbm
16-
cp /zbm/etc/zfsbootmenu/release.conf.d/release.conf /zbm/etc/zfsbootmenu/dracut.conf.d/
17-
echo "zfsbootmenu_module_root='/zbm/zfsbootmenu'" >> /zbm/etc/zfsbootmenu/dracut.conf.d/release.conf
18-
/zbm/releng/docker/zbm-build.sh -b /zbm/releng/docker -e '.Global.DracutFlags += ["--no-early-microcode"]' -- --debug
17+
echo "zfsbootmenu_module_root='/zbm/zfsbootmenu'" > /zbm/etc/zfsbootmenu/dracut.conf.d/zbm_modroot.conf
18+
yq-go e '.Global.DracutFlags += ["--no-early-microcode"]' /zbm/releng/docker/config.yaml.default > /zbm/releng/docker/config.yaml
19+
20+
- name: Build release artifacts
21+
run: |
22+
cp /zbm/etc/zfsbootmenu/dracut.conf.d/*.conf /zbm/etc/zfsbootmenu/release.conf.d/
23+
yq-go e '.Global.DracutConfDir = "/zbm/etc/zfsbootmenu/release.conf.d"' -i /zbm/releng/docker/config.yaml
24+
/zbm/releng/docker/zbm-build.sh -b /zbm/releng/docker -- --debug
1925
2026
- name: Archive release EFI
2127
uses: actions/upload-artifact@v2
@@ -31,13 +37,15 @@ jobs:
3137
/zbm/releng/docker/build/*
3238
!/zbm/releng/docker/build/*.EFI
3339
34-
- name: Build recovery artifacts
40+
- name: Prune release artifacts
3541
run: |
36-
rm /zbm/etc/zfsbootmenu/dracut.conf.d/release.conf
3742
rm -rf /zbm/releng/docker/build/*
38-
cp /zbm/etc/zfsbootmenu/recovery.conf.d/recovery.conf /zbm/etc/zfsbootmenu/dracut.conf.d/
39-
echo "zfsbootmenu_module_root='/zbm/zfsbootmenu'" >> /zbm/etc/zfsbootmenu/dracut.conf.d/recovery.conf
40-
/zbm/releng/docker/zbm-build.sh -b /zbm/releng/docker -e '.Global.DracutFlags += ["--no-early-microcode"]' -- --debug
43+
44+
- name: Build recovery artifacts
45+
run: |
46+
cp /zbm/etc/zfsbootmenu/dracut.conf.d/*.conf /zbm/etc/zfsbootmenu/recovery.conf.d/
47+
yq-go e '.Global.DracutConfDir = "/zbm/etc/zfsbootmenu/recovery.conf.d"' -i /zbm/releng/docker/config.yaml
48+
/zbm/releng/docker/zbm-build.sh -b /zbm/releng/docker -- --debug
4149
4250
- name: Archive recovery EFI
4351
uses: actions/upload-artifact@v2
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../release.conf.d/common.conf
Lines changed: 9 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,12 @@
1-
zfsbootmenu_teardown+=" /zbm/contrib/xhci-teardown.sh "
2-
zfsbootmenu_early_setup+=" /zbm/contrib/console-init.sh "
3-
install_optional_items+="\
4-
/etc/zbm-commit-hash\
5-
/bin/gdisk\
6-
/bin/parted\
7-
/bin/mkfs.vfat\
8-
/bin/mkfs.ext4\
9-
/bin/cryptsetup\
10-
/bin/efibootmgr\
11-
/bin/ip\
12-
/bin/curl\
13-
/bin/dhclient\
14-
/sbin/dhclient-script\
15-
"
16-
omit_drivers+=" amdgpu radeon nvidia nouveau i915 "
1+
# Filesystem manipulation
2+
install_optional_items+=" /bin/gdisk /bin/parted /bin/mkfs.vfat /bin/mkfs.ext4 "
173

18-
# Network related modules
19-
add_dracutmodules+=" kernel-network-modules qemu-net "
20-
omit_dracutmodules+=" crypt-ssh nfs lunmask "
21-
22-
# qemu drivers
23-
omit_dracutmodules+=" qemu "
4+
# Boot manipulation
5+
install_optional_items+=" /bin/efibootmgr "
246

25-
# filesystem and other related bits
26-
omit_dracutmodules+=" nvdimm fs-lib rootfs-block dm dmraid crypt "
7+
# LUKS control
8+
install_optional_items+=" /bin/cryptsetup "
279

28-
embedded_kcl="rd.hostonly=0"
29-
release_build=1
10+
# Networking
11+
install_optional_items+=" /bin/ip /bin/curl /bin/dhclient /sbin/dhclient-script "
12+
add_dracutmodules+=" kernel-network-modules qemu-net "
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
zfsbootmenu_teardown+=" /zbm/contrib/xhci-teardown.sh "
2+
zfsbootmenu_early_setup+=" /zbm/contrib/console-init.sh "
3+
4+
install_optional_items+=" /etc/zbm-commit-hash "
5+
6+
omit_dracutmodules+=" crypt-ssh nfs lunmask "
7+
8+
# qemu drivers
9+
omit_dracutmodules+=" qemu "
10+
11+
# filesystem and other related bits
12+
omit_dracutmodules+=" nvdimm fs-lib rootfs-block dm dmraid crypt "
13+
14+
embedded_kcl="rd.hostonly=0"
15+
release_build=1
Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,5 @@
1-
zfsbootmenu_teardown+=" /zbm/contrib/xhci-teardown.sh "
2-
zfsbootmenu_early_setup+=" /zbm/contrib/console-init.sh "
3-
install_optional_items+=" /etc/zbm-commit-hash "
4-
omit_drivers+=" amdgpu radeon nvidia nouveau i915 "
5-
6-
# Network related modules
1+
# Network related modules are not in the regular release
72
omit_dracutmodules+=" network network-legacy kernel-network-modules "
8-
omit_dracutmodules+=" crypt-ssh nfs lunmask "
9-
10-
# qemu drivers
11-
omit_dracutmodules+=" qemu qemu-net "
12-
13-
# filesystem and other related bits
14-
omit_dracutmodules+=" nvdimm fs-lib rootfs-block dm dmraid crypt "
153

16-
embedded_kcl="rd.hostonly=0"
17-
release_build=1
4+
# qemu network driver
5+
omit_dracutmodules+=" qemu-net "

0 commit comments

Comments
 (0)