image: distribution: gentoo source: downloader: gentoo-http url: https://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ keys: # 0x13EBBDBEDE7A12775DFDB1BABB572E0E2D182910 - |- -----BEGIN PGP PUBLIC KEY BLOCK----- mQINBEqUWzgBEACXftaG+HVuSQBEqdpBIg2SOVgWW/KbCihO5wPOsdbM93e+psmb wvw+OtNHADQvxocKMuZX8Q/j5i3nQ/ikQFW5Oj6UXvl1qyxZhR2P7GZSNQxn0eMI zAX08o691ws2/dFGXKmNT6btYJ0FxuTtTVSK6zi68WF+ILGK/O2TZXK9EKfZKPDH KHcGrUq4c03vcGANz/8ksJj2ZYEGxMr1h7Wfe9PVcm0gCB1MhYHNR755M47V5Pch fyxbs6vaKz82PgrNjjjbT0PISvnKReUOdA2PFUWry6UKQkiVrLVDRkd8fryLL8ey 5JxgVoJZ4echoVWQ0JYJ5lJTWmcZyxQYSAbz2w9dLB+dPyyGpyPp1KX1ADukbROp 9S11I9+oVnyGdUBm+AUme0ecekWvt4qiCw3azghLSwEyGZc4a8nNcwSqFmH7Rqdd 1+gHc+4tu4WHmguhMviifGXKyWiRERULp0obV33JEo/c4uwyAZHBTJtKtVaLb92z aRdh1yox2I85iumyt62lq9dfOuet4NNVDnUkqMYCQD23JB8IM+qnVaDwJ6oCSIKi nY3uyoqbVE6Lkm+Hk5q5pbvg1cpEH6HWWAl20EMCzMOoMcH0tPyQLDlD2Mml7veG kwdy3S6RkjCympbNzqWec2+hkU2c93Bgpfh7QP0GDN0qrzcNNFmrD5795QARAQAB tFNHZW50b28gTGludXggUmVsZWFzZSBFbmdpbmVlcmluZyAoQXV0b21hdGVkIFdl ZWtseSBSZWxlYXNlIEtleSkgPHJlbGVuZ0BnZW50b28ub3JnPoheBBARCAAGBQJR yaWCAAoJELP3uHLZaXat08sA/3paxuDydIV/8qe9PzgID6zifip9T9XfTDCRbHQR Kw0xAP9vTE9yoPuNMrF55AP9+68FbYaIO0sUxNN9CVby28iU7IkBHAQQAQIABgUC Ut9qEwAKCRAvJnjSPF2apBtSCACIPmfvwiBluwx1dz4/C4pUSIZmaRk5NrKhuADL CBUyH4X/Ajz4MhvXjAYeWpvtzxHW5sJL0mnNBQtkEM3SPGrYsJLCmhp0hW0lfYtq pG8Kymej7N7CJMYKW65HTvlLyCM1JpBy3OAXBgtxNIeho+dXbXTBPAUCje2MVS8h tFgxn6mmXqQPh3YQTY8UE4c+s4XOLBiV2PQowmRZ/m7OzPTf7Yp9j/WJdJN6Rn8P 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 //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// /////////////////////////4kCUgQTAQIAPAIbAwYLCQgHAwIEFQIIAwMWAgEC HgECF4AWIQQT672+3noSd139sbq7Vy4OLRgpEAUCWZxJ3wUJEspVpwAKCRC7Vy4O LRgpEBGvD/0RfgZz9fObSxYAJWEm1HFjIKtr2jhD9m0YllYhv6JhU21RnlqEb5DR HkqACA8OGDTE44HroJGb6COU6qkyWtnkZ/qgPFQ/i1ngXSir9q63yNHkODoMxDBJ fHJHd+LQrNlp64XeyYkI5k/JPuvk9vYLMuD2pcJhZHBPhSkDrmuaAeNaAJLhO+bq FLJGMyfDu/mN+3lSVtmPVFibUgcoOyrJxjVcgKU9oI99djn6Ae5s6Jm7pgFm8FaH mMcjYOhh6XkuOiYL9gmqfDY6QqKroL9svgJfxIGeH8+OHe4ThBBkTdzFfxgXfH8X iT10KQl05IkwOztv5fyF9bIX3EO3n2iBKKdhc84jkKLPXn8tJ0+RdaVyfSns5mTj qMyTahXGzwn7NbOzZ5KdtmmCRrxd7crgq+no+ZZjg4gz6yv+lFLhgMhhaZzY5zWg 29/8QxEEC8YXOcpk+10xAktgJyTmujkLpw94Ckkcz5I8ejPPMjl1NAtRBIKp4QMJ llhsRlc+jMx37o6WA2iIpjcjiNf93wH+xBQ13wrLwaRYyvOBNx7Nonq2VKLbiKpW JQ5SHrSkXWo8YuIpFEKpnEaJ9/fSh5vMg46kDa1hS2FzNzRpIsRlWB6c7xwMzp5k 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 AsXvVKGXzvXhjtRP9s3Ey15y+JbG09If3wGhQli/G1zf7B2H+jZ5oqcJDMVFBXoZ AJMlWj8++p7DJFWAVmY1SSu71aN3OV6G8cyEnsExMydSA1Z6X+yd+Cqs70BmvO5k rqo31kWDgh9LnSsHn8okRkK0NpOIKGdKEiOrZ6WEDqsb1pLgsFRayaYWghZD+vPd 4owpzxJaWNoJMTqqUbd7JePi578soPOMjMlQsrrVITEDKSeslrNv/1Uz90B8V3u1 v66fyPsGGyl6SMkDonmQBp9yBmRjCsvPl3APHA/FH//8lplsMByVjAh0TtQAkA6e x/lOXD+10MmvH+jr/F6q7R7kVl/n2WDZq5S6iOWvFjxuoSEt/nklunw+Vv80m5M/ giW+qCpdM9QgrL3NxCRrm3z5wNSbliYsd7Cuv0X2G7HGAgm5uQENBFxxNVIBCACr rx8QDtOErLrjh8U33d+hn/dzTHhm2O+jOBz/xT/FQh4Mku93kWZ5gLpv4nHkNfVI CrhlAdEjcDs1HkVJlTnHjj5qL1Vw6SV6AMIKbhBB5Fa+F8T44AHqtOE44ogR3TUg IDiMGHGQ+i0LjyRM+HZ0/167uNEiYOg4OHsM49YN86d8jmJKsDLAU4ZtgR72HXcs bLNYUE4Jg1LLMbjPbIRrNk3GygMAgs7bYT4LEM5/SP6IAqDF5v0J48MPtfBg1+4W nGE5T6i54fssnro5gCSY1c+lmuw+OANmNCKiKBd5cI4aODiULURHQc6uzF/BA2qo rEj4erEEzbMKIMlSQfsXABEBAAGJA9IEGAEKACYCGwIWIQQT672+3noSd139sbq7 Vy4OLRgpEAUCXMRr8gUJAospTgGgwNQgBBkBCgB9FiEEU05CCatJ7uHBnZYWLERp Xbn2BD0FAlxxNVJfFIAAAAAALgAoaXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBn cC5maWZ0aGhvcnNlbWFuLm5ldDUzNEU0MjA5QUI0OUVFRTFDMTlEOTYxNjJDNDQ2 OTVEQjlGNjA0M0QACgkQLERpXbn2BD0uPwf/fqcGR7LdbXx70uk6nw1I63D4sc24 eWuZPROGmZpkiOafUbRUYsrNSWOauD9cvCETbxke5hLBciUEYx1OTUh/FZr1qCcS 2JUtrpwOJCqzeMVrpCKhur+iWQjM3yw/mQDc0BgJRyYH/t1zDSz8VZSzI5Iqx5RZ QQdDB9/Fl4j22uy4xO3nSGbTGHzLLrSNY90jO5jlX4Lczxh0/uhhLWX/05rSp/qd ua/6koirgP3NC5NRoKAvrc3JztzZCu1jVwi41PFsZgwGt/8w4+fPGGHTRxCHtKyt XZpS4yn5JXzwf+idjD+JiJURcNGBotbxpljupMBbelLSxD6djlgPKjaCQgkQu1cu Di0YKRCXzg//TKZrljYXymdJKjFeRBfMCj7Jg0zeo/rYRJUIj4ZTqkL3mDoYB+yQ 2qgqH/0egketlkTCfoQRNsAo8GIdyCm+o0AU1n5x4mrLeglJb6h2WwmjGW00kbGf G0CfBobD8b4UHTLnTcQ9xz4riH0TRJR7p3cEH116hcgfF4IXWjn7lRZEmUw/xDex fX/LO8uttBM33EOHVAdxcq9uZuCFPhsmAkLhfoNnTXdCS83YTWPn43DvhoyIbfQS ZcS+YL6AthfybtcTKOOBGoR1vWRYOjbHwPxeiEhl7gQbp3aGndcjmL71KcSSybv2 2R2/ifi5UrcyGPFuBpxmtyGwMFFU6sDtkc7PUIvmCZgOho1BVdm+zUWbZHe/j5Wu h5CLPECJiMvk9clZWxUNN0p3nEnfZ0ulj4mcDnWHv1fiwlAwqOqWgse2RSB0Q+VW 2+HTgaGIQqgL28rvINw5CBOIw+LtMSTYtPb4zK/eVlfO/4U/DmF9JVYu7OgYojnr OFm9a6OolvUoeT6r0FOgP9efznlSzEq59amY6DigAYzygwWanEGto1GYIy35GoC3 XcqC8kUGL+wv3WE1Os6RfAJlpWf1/rt1cFUzOBeZFAEuEfKbgNxXBx8xogrg1CrN WzpmZk4pw+O/jdpJkdFxphpg6hbFdqpzMvvKq7jBvrunAxffXYAF2lY= =T+GL -----END PGP PUBLIC KEY BLOCK----- targets: incus: vm: size: 6442450944 filesystem: ext4 lxc: create_message: | You just created an {{ image.description }} container. config: - type: all before: 5 content: |- lxc.include = LXC_TEMPLATE_CONFIG/gentoo.common.conf - type: user before: 5 content: |- lxc.include = LXC_TEMPLATE_CONFIG/gentoo.userns.conf - type: all after: 4 content: |- lxc.include = LXC_TEMPLATE_CONFIG/common.conf - type: user after: 4 content: |- lxc.include = LXC_TEMPLATE_CONFIG/userns.conf - type: all content: |- lxc.arch = {{ image.architecture_kernel }} files: - name: hostname path: /etc/hostname generator: hostname - name: conf-hostname path: /etc/conf.d/hostname generator: template content: |- hostname="{{ container.name }}" - name: hosts path: /etc/hosts generator: hosts - name: conf-net path: /etc/conf.d/net generator: dump content: |- rc_keyword="-stop" config_eth0="dhcp" - path: /etc/systemd/network/eth0.network generator: dump content: |- [Match] Name=eth0 [Network] DHCP=ipv4 [DHCP] ClientIdentifier=mac types: - container variants: - systemd - path: /etc/systemd/network/enp5s0.network generator: dump content: |- [Match] Name=enp5s0 [Network] DHCP=ipv4 [DHCP] ClientIdentifier=mac types: - vm variants: - systemd - path: /etc/machine-id generator: dump variants: - systemd - path: /var/lib/dbus/machine-id generator: remove - path: /etc/local.d/repo_check.start generator: dump mode: 700 content: |- #!/bin/bash filename="header.txt" test -f $(portageq get_repo_path / gentoo)/$filename || emerge --sync; chmod -x /etc/local.d/repo_check.start - name: meta-data generator: cloud-init variants: - cloud - name: network-config generator: cloud-init variants: - cloud - name: user-data generator: cloud-init variants: - cloud - name: vendor-data generator: cloud-init variants: - cloud - generator: incus-agent types: - vm - generator: fstab types: - vm - path: /etc/default/grub generator: dump content: |- GRUB_DISTRIBUTOR="Gentoo" # Set the recordfail timeout GRUB_RECORDFAIL_TIMEOUT=0 # Do not wait on grub prompt GRUB_TIMEOUT=0 # Set the default commandline GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} console=tty1 console=ttyS0" # Set the grub console type GRUB_TERMINAL=console # Disable os-prober GRUB_DISABLE_OS_PROBER=true types: - vm packages: manager: portage update: false cleanup: true sets: - packages: - net-misc/dhcpcd - sudo action: install - packages: - cloud-init action: install variants: - cloud - packages: - syslog-ng - sys-power/acpid action: install types: - vm - packages: - grub action: install types: - vm variants: - openrc actions: - trigger: post-unpack action: |- #!/bin/sh # Generate machine-id in order for the kernel stuff to be configured properly systemd-machine-id-setup types: - vm variants: - systemd - trigger: post-unpack action: |- #!/bin/sh set -eux # Workaround GPG issues mv /usr/bin/gpg2 /usr/bin/gpg2.real echo "#!/bin/sh" > /usr/bin/gpg2 echo "exec /usr/bin/gpg2.real --keyserver keyserver.ubuntu.com \"\$@\"" >> /usr/bin/gpg2 chmod +x /usr/bin/gpg2 cp /usr/share/portage/config/repos.conf /usr/share/portage/config/repos.conf.orig sed -i "s#hkps://keys.gentoo.org#keyserver.ubuntu.com#g" /usr/share/portage/config/repos.conf sed -ri "s#(sync-uri =) .+#\1 ${RSYNC_MIRROR}#" /usr/share/portage/config/repos.conf # Patch up /etc/inittab if [ -e /etc/inittab ]; then sed -i 's/^c[0-9]:/#\0/' /etc/inittab sed -i 's/^#\(x1:.*\)/\1/' etc/inittab echo pf:12345:powerwait:/sbin/halt >> /etc/inittab fi # Resolve locale issues if command -v locale-gen >/dev/null; then echo en_US.UTF-8 UTF-8 > /etc/locale.gen locale-gen fi - trigger: post-unpack action: |- #!/bin/sh set -eux # Workaround GPG issues mv /usr/bin/gpg2 /usr/bin/gpg2.real echo "#!/bin/sh" > /usr/bin/gpg2 echo "exec /usr/bin/gpg2.real --keyserver keyserver.ubuntu.com \"\$@\"" >> /usr/bin/gpg2 chmod +x /usr/bin/gpg2 cp /usr/share/portage/config/repos.conf /usr/share/portage/config/repos.conf.orig sed -i "s#hkps://keys.gentoo.org#keyserver.ubuntu.com#g" /usr/share/portage/config/repos.conf sed -ri "s#(sync-uri =) .+#\1 ${RSYNC_MIRROR}#" /usr/share/portage/config/repos.conf TARGET="$(uname -m)" case "${TARGET}" in aarch64) TARGET=arm64 ;; i686) TARGET=x86 ;; ppc*) TARGET=ppc ;; x86_64) TARGET=amd64 ;; arm*) TARGET=arm ;; esac types: - container - vm - trigger: post-unpack action: |- #!/bin/sh set -eux # Remove this directory, as it should actually be a file rm -rf /etc/portage/package.use # Fix cloud-init requirement echo '*/* PYTHON_TARGETS: python3_7 python3_8' > /etc/portage/package.use variants: - cloud - trigger: post-unpack action: |- #!/bin/sh set -eux mkdir -p /etc/portage/package.use echo "sys-apps/systemd boot" >> /etc/portage/package.use/systemd emerge sys-apps/systemd types: - vm variants: - systemd - trigger: post-files action: |- #!/bin/sh set -eux rm -Rf /boot/* /boot/efi/* || true systemd-machine-id-setup bootctl install --no-variables --esp-path=/boot/efi/ echo "root=${DISTROBUILDER_ROOT_UUID}" >> /etc/kernel/cmdline echo "sys-apps/systemd kernel-install" >> /etc/portage/package.use/systemd echo "sys-kernel/installkernel dracut systemd systemd-boot" >> /etc/portage/package.use/installkernel emerge gentoo-kernel-bin rm -f /etc/machine-id /var/lib/dbus/machine-id touch /etc/machine-id types: - vm variants: - systemd - trigger: post-files action: |- #!/bin/sh echo "sys-kernel/installkernel dracut grub" >> /etc/portage/package.use/installkernel emerge gentoo-kernel-bin types: - vm variants: - openrc - trigger: post-packages action: |- #!/bin/sh set -eux ln -s net.lo /etc/init.d/net.eth0 mkdir -p /etc/runlevels/default rc-update add net.eth0 default || true rm /usr/bin/gpg2 mv /usr/bin/gpg2.real /usr/bin/gpg2 rm /usr/share/portage/config/repos.conf mv /usr/share/portage/config/repos.conf.orig /usr/share/portage/config/repos.conf - trigger: post-packages action: |- #!/bin/sh set -eux if [ -f /usr/bin/gpg2.real ]; then rm /usr/bin/gpg2 mv /usr/bin/gpg2.real /usr/bin/gpg2 fi if [ -f /usr/share/portage/config/repos.conf.orig ]; then rm /usr/share/portage/config/repos.conf mv /usr/share/portage/config/repos.conf.orig /usr/share/portage/config/repos.conf fi types: - container - vm - trigger: post-packages action: |- #!/bin/sh set -eux rc-update add cloud-init-local boot rc-update add cloud-init default rc-update add cloud-config default rc-update add cloud-final default variants: - cloud - trigger: post-files action: |- #!/bin/sh set -eux rc-update add syslog-ng boot rc-update add acpid default ln -s net.lo /etc/init.d/net.enp5s0 rc-update add net.enp5s0 types: - vm variants: - openrc - cloud - trigger: post-files action: |- #!/bin/sh set -eux TARGET="x86_64" [ "$(uname -m)" = "aarch64" ] && TARGET="arm64" grub-install --target=${TARGET}-efi --no-nvram --removable grub-install --target=${TARGET}-efi --no-nvram grub-mkconfig -o /boot/grub/grub.cfg sed -i "s#root=[^ ]*#root=${DISTROBUILDER_ROOT_UUID}#g" /boot/grub/grub.cfg types: - vm variants: - openrc - trigger: post-packages action: |- #!/bin/sh set -eux umount -l /etc/resolv.conf || true rm /etc/resolv.conf ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf systemctl enable systemd-resolved systemctl enable systemd-networkd variants: - systemd environment: variables: - key: RSYNC_MIRROR value: rsync://rsync.ca.gentoo.org/gentoo-portage/ mappings: architecture_map: gentoo