@@ -20,7 +20,7 @@ storage:
2020 contents:
2121 inline: |
2222 #!/bin/bash
23- set -euo pipefail
23+ set -xeuo pipefail
2424 trap "rm -f /var/genprotimg/signal.file" EXIT
2525 bash /var/build/genprotimg-script.sh &
2626 while [ ! -e "/var/genprotimg/signal.file" ]; do
@@ -29,6 +29,48 @@ storage:
2929 genprotimg -V --no-verify -i /var/genprotimg/vmlinuz -r /var/genprotimg/initrd.img -p /var/genprotimg/parmfile -k /etc/se-hostkeys/ibm-z-hostkey-1 -o /var/genprotimg/se.img
3030 rm -f /var/genprotimg/signal.file
3131 bash /var/build/post-script.sh
32+ - path: /etc/systemd/system-generators/coreos-genprotimg-generator
33+ overwrite: true
34+ mode: 0755
35+ contents:
36+ inline: |
37+ #!/bin/bash
38+ export PATH="/usr/bin:/usr/sbin:${PATH}"
39+ set -euo pipefail
40+ . /usr/lib/coreos/generator-lib.sh
41+ if [ ! -z $(karg ignition.firstboot) ]; then
42+ exit 0
43+ fi
44+ mkdir -p "${UNIT_DIR}/default.target.wants"
45+
46+ cat > "${UNIT_DIR}"/var-build.mount << 'EOF'
47+ # generated by coreos-genprotimg-generator
48+ # Mounts partition with parmfile, pre- and post- scripts used by genprotimg.service
49+ [Unit]
50+ Description=Genprotimg partition mount
51+ Requires=dev-disk-by\x2did-virtio\x2dgenprotimg.device
52+ After=dev-disk-by\x2did-virtio\x2dgenprotimg.device
53+ [Mount]
54+ What=/dev/disk/by-id/virtio-genprotimg
55+ Where=/var/build
56+ Type=ext4
57+ Options=rw,noatime
58+ EOF
59+ ln -sf "../var-build.mount" "${UNIT_DIR}/default.target.wants/"
60+
61+ cat > "${UNIT_DIR}/genprotimg.service" << 'EOF'
62+ # generated by coreos-genprotimg-generator
63+ # Creates secure image by calling genprotimg tool
64+ [Unit]
65+ Description=Genprotimg executor
66+ After=var-build.mount
67+ [Service]
68+ Type=oneshot
69+ StandardOutput=journal+console
70+ ExecStart=/etc/do_genprotimg
71+ ExecStopPost=/sbin/halt
72+ EOF
73+ ln -sf "../genprotimg.service" "${UNIT_DIR}/default.target.wants/"
3274systemd:
3375 units:
3476@@ -42,32 +84,3 @@ systemd:
4284 mask: false
43854486 mask: false
45- - name: genprotimg.service
46- enabled: true
47- contents: |
48- [Unit]
49- Description=GenProtImg
50- ConditionKernelCommandLine=!ignition.firstboot
51- After=var-build.mount
52- [Service]
53- Type=oneshot
54- StandardOutput=journal+console
55- ExecStart=/etc/do_genprotimg
56- ExecStopPost=/sbin/halt
57- [Install]
58- WantedBy=default.target
59- - name: var-build.mount
60- enabled: true
61- contents: |
62- [Unit]
63- Description=Mounts genprotimg build partition
64- ConditionKernelCommandLine=!ignition.firstboot
65- Requires=dev-disk-by\x2did-virtio\x2dgenprotimg.device
66- After=dev-disk-by\x2did-virtio\x2dgenprotimg.device
67- [Mount]
68- What=/dev/disk/by-id/virtio-genprotimg
69- Where=/var/build
70- Type=ext4
71- Options=rw,noatime
72- [Install]
73- WantedBy=default.target
0 commit comments