Selaa lähdekoodia

Merge pull request #1111 from netbootxyz/development

Release 2.0.58-RC
Antony Messerli 3 vuotta sitten
vanhempi
commit
08496c1a6a

+ 2 - 2
.github/workflows/pull-requests.yml

@@ -19,7 +19,7 @@ jobs:
     - name: Install dependencies
       run: |
         python -m pip install --upgrade pip
-        pip install ansible==5.4.0 ansible-lint==5.4.0
+        pip install ansible ansible-lint
 
     - name: Syntax Check
       run: |
@@ -27,7 +27,7 @@ jobs:
 
     - name: Ansible lint
       run: |
-        ansible-lint -v roles/netbootxyz
+        ansible-lint -v roles/netbootxyz/tasks
 
   build-pr:
     name: Build Pull Request

+ 14 - 5
CHANGELOG.md

@@ -4,18 +4,27 @@ All notable changes to this project will be documented in this file.
 
 ## [Unreleased]
 
-## [2.0.57]
+## [2.0.58] - 2022-04-22
+#### Added
+- Ubuntu 22.04 LTS Jammy Jellyfish
+- Fedora 26 Prep for release
+
+#### Changes
+- Disabled RPI image as it was failing, will need to revisit in future
+- Lint fixes
+
+## [2.0.57] - 2022-03-21
 #### Added
 - Proxmox Backup Server
 - Proxmox Mail Gateway
 #### Changes
 - Proxmox pulls ISO from upstream site now, consolidated Proxmox items to one menu
 
-## [2.0.56]
+## [2.0.56] - 2022-02-26
 #### Fixed
 - Added a ipxe_cloud_config for packet and metal for older clients
  
-## [2.0.55]
+## [2.0.55] - 2022-02-12
 #### Added
 - Slackware 15.0
 
@@ -27,12 +36,12 @@ All notable changes to this project will be documented in this file.
 - Changes Packet bootloaders to Equinix Metal
 - Switch archlinux default mirror to mirrors.edge.kernel.org to avoid redirect
 
-## [2.0.54]
+## [2.0.54] - 2021-12-25
 #### Added
 - CentOS 9 Stream hardset url
 - Various version updates
 
-## [2.0.53]
+## [2.0.53] - 2021-11-22
 #### Added
 - Fedora 35
 - Various version updates

+ 168 - 67
endpoints.yml

@@ -15,7 +15,7 @@ endpoints:
     flavor: GNOME
     kernel: ubuntu-18.04-live-kernel
   debian-10-live-kernel:
-    path: /debian-core-10/releases/download/10.11.0-cb83d5e9/
+    path: /debian-core-10/releases/download/10.12.0-cb83d5e9/
     files:
     - initrd
     - vmlinuz
@@ -235,7 +235,7 @@ endpoints:
     flavor: default
     kernel: backbox-6-default-squash
   kde-neon-user:
-    path: /ubuntu-squash/releases/download/20220317-0946-92641c1f/
+    path: /ubuntu-squash/releases/download/20220414-0946-92641c1f/
     files:
     - vmlinuz
     - filesystem.squashfs
@@ -389,7 +389,7 @@ endpoints:
     flavor: lxqt
     kernel: sparky-stable-lxqt
   sparky-rolling-mingui:
-    path: /debian-squash/releases/download/2022.03-46e5b31a/
+    path: /debian-squash/releases/download/2022.04-46e5b31a/
     files:
     - filesystem.squashfs
     - initrd
@@ -399,7 +399,7 @@ endpoints:
     flavor: xfce-min
     kernel: sparky-rolling-mingui
   sparky-rolling-gui:
-    path: /debian-squash/releases/download/2022.03-d6528b1d/
+    path: /debian-squash/releases/download/2022.04-d6528b1d/
     files:
     - filesystem.squashfs
     - initrd
@@ -409,7 +409,7 @@ endpoints:
     flavor: xfce
     kernel: sparky-rolling-gui
   sparky-rolling-lxqt:
-    path: /debian-squash/releases/download/2022.03-7db481ad/
+    path: /debian-squash/releases/download/2022.04-7db481ad/
     files:
     - filesystem.squashfs
     - initrd
@@ -524,7 +524,7 @@ endpoints:
     version: '2021.07'
     flavor: small
   gparted-stable:
-    path: /debian-squash/releases/download/1.3.1-1-1edbd7bd/
+    path: /debian-squash/releases/download/1.4.0-1-1edbd7bd/
     files:
     - filesystem.squashfs
     - initrd
@@ -564,7 +564,7 @@ endpoints:
     os: blackarch
     version: current
   bluestar:
-    path: /asset-mirror/releases/download/5.16.12-2022.03.05-a3024eea/
+    path: /asset-mirror/releases/download/5.17.2-2022.04.13-a3024eea/
     files:
     - initrd
     - vmlinuz
@@ -620,7 +620,7 @@ endpoints:
     os: septor
     version: current
   manjaro-xfce-current:
-    path: /manjaro-squash/releases/download/21.2.4-220301-linux515-5726b1dc/
+    path: /manjaro-squash/releases/download/21.2.5-220314-linux515-5726b1dc/
     files:
     - livefs.sfs
     - rootfs.sfs
@@ -629,7 +629,7 @@ endpoints:
     - initrd
     - vmlinuz
     os: manjaro
-    version: 21.2.4-220301-linux515
+    version: 21.2.5-220314-linux515
     flavor: xfce
     kernel: manjaro-xfce-current
   manjaro-gnome-current:
@@ -646,7 +646,7 @@ endpoints:
     flavor: gnome
     kernel: manjaro-gnome-current
   manjaro-kde-current:
-    path: /manjaro-squash/releases/download/21.2.4-220301-linux515-aa503796/
+    path: /manjaro-squash/releases/download/21.2.5-220314-linux515-aa503796/
     files:
     - livefs.sfs
     - rootfs.sfs
@@ -655,7 +655,7 @@ endpoints:
     - initrd
     - vmlinuz
     os: manjaro
-    version: 21.2.4-220301-linux515
+    version: 21.2.5-220314-linux515
     flavor: kde
     kernel: manjaro-kde-current
   fatdog:
@@ -674,7 +674,7 @@ endpoints:
     os: raizo
     version: current
   4mlinux:
-    path: /asset-mirror/releases/download/38.1-39ff9a19/
+    path: /asset-mirror/releases/download/39.0-39ff9a19/
     files:
     - initrd
     - vmlinuz
@@ -682,7 +682,7 @@ endpoints:
     version: current
     flavor: full
   4mlinux-thesss:
-    path: /asset-mirror/releases/download/38.1-3ec6e844/
+    path: /asset-mirror/releases/download/39.0-3ec6e844/
     files:
     - initrd
     - vmlinuz
@@ -852,7 +852,7 @@ endpoints:
     version: 5.8
     kernel: linux-lite-5-squash
   vyos-rolling:
-    path: /debian-squash/releases/download/202203170822-fdd40a1c/
+    path: /debian-squash/releases/download/202204220217-fdd40a1c/
     files:
     - filesystem.squashfs
     - initrd
@@ -941,13 +941,13 @@ endpoints:
     os: nitrux
     version: 2022.02.28
   endeavouros:
-    path: /asset-mirror/releases/download/21_4-1f037972/
+    path: /asset-mirror/releases/download/Apollo_22_1-190ee67a/
     files:
     - airootfs.sfs
     - initrd
     - vmlinuz
     os: endeavouros
-    version: current
+    version: Apollo_22_1
   kodachi-8:
     path: /ubuntu-squash/releases/download/8.2-625e11fa/
     files:
@@ -1207,7 +1207,7 @@ endpoints:
     flavor: Core
     kernel: zorin-16-core-squash
   debian-11-cinnamon-squash:
-    path: /debian-squash/releases/download/11.2.0-7dd2cb74/
+    path: /debian-squash/releases/download/11.3.0-7dd2cb74/
     files:
     - filesystem.squashfs
     os: debian
@@ -1215,14 +1215,14 @@ endpoints:
     flavor: cinnamon
     kernel: debian-11-live-kernel
   debian-11-live-kernel:
-    path: /debian-core-11/releases/download/11.2.0-0f2767cf/
+    path: /debian-core-11/releases/download/11.3.0-0f2767cf/
     files:
     - initrd
     - vmlinuz
     os: debian
     version: '11'
   debian-11-gnome-squash:
-    path: /debian-squash/releases/download/11.2.0-1904480d/
+    path: /debian-squash/releases/download/11.3.0-1904480d/
     files:
     - filesystem.squashfs
     os: debian
@@ -1230,7 +1230,7 @@ endpoints:
     flavor: gnome
     kernel: debian-11-live-kernel
   debian-11-default-squash:
-    path: /debian-squash/releases/download/11.2.0-e2081f01/
+    path: /debian-squash/releases/download/11.3.0-e2081f01/
     files:
     - filesystem.squashfs
     os: debian
@@ -1238,7 +1238,7 @@ endpoints:
     flavor: core
     kernel: debian-11-live-kernel
   debian-11-kde-squash:
-    path: /debian-squash/releases/download/11.2.0-45415ce6/
+    path: /debian-squash/releases/download/11.3.0-45415ce6/
     files:
     - filesystem.squashfs
     os: debian
@@ -1246,7 +1246,7 @@ endpoints:
     flavor: kde
     kernel: debian-11-live-kernel
   debian-11-xfce-squash:
-    path: /debian-squash/releases/download/11.2.0-3514490c/
+    path: /debian-squash/releases/download/11.3.0-3514490c/
     files:
     - filesystem.squashfs
     os: debian
@@ -1254,7 +1254,7 @@ endpoints:
     flavor: xfce
     kernel: debian-11-live-kernel
   debian-11-mate-squash:
-    path: /debian-squash/releases/download/11.2.0-ea193391/
+    path: /debian-squash/releases/download/11.3.0-ea193391/
     files:
     - filesystem.squashfs
     os: debian
@@ -1262,7 +1262,7 @@ endpoints:
     flavor: mate
     kernel: debian-11-live-kernel
   debian-11-lxde-squash:
-    path: /debian-squash/releases/download/11.2.0-bd62df14/
+    path: /debian-squash/releases/download/11.3.0-bd62df14/
     files:
     - filesystem.squashfs
     os: debian
@@ -1270,7 +1270,7 @@ endpoints:
     flavor: lxde
     kernel: debian-11-live-kernel
   debian-11-lxqt-squash:
-    path: /debian-squash/releases/download/11.2.0-45d611dd/
+    path: /debian-squash/releases/download/11.3.0-45d611dd/
     files:
     - filesystem.squashfs
     os: debian
@@ -1294,42 +1294,40 @@ endpoints:
     os: memtest86-free
     version: '9.4'
   gentoo-x86:
-    path: /asset-mirror/releases/download/20220314T170538Z-6734abfd/
+    path: /asset-mirror/releases/download/20220418T170543Z-6734abfd/
     files:
     - image.squashfs
     - initrd
     - vmlinuz
     os: gentoo
-    version: 20220314T170538Z
+    version: 20220418T170543Z
     arch: x86
   gentoo-arm64:
-    path: /asset-mirror/releases/download/20220313T230453Z-079d67cf/
+    path: /asset-mirror/releases/download/20220417T235403Z-079d67cf/
     files:
     - image.squashfs
     - initrd
     - vmlinuz
     os: gentoo
-    version: 20220313T230453Z
+    version: 20220417T235403Z
     arch: arm64
   gentoo-amd64:
-    path: /asset-mirror/releases/download/20220315T091810Z-383e823f/
+    path: /asset-mirror/releases/download/20220417T171236Z-383e823f/
     files:
     - image.squashfs
     - initrd
     - vmlinuz
     os: gentoo
-    version: 20220315T091810Z
+    version: 20220417T171236Z
     arch: amd64
   tails:
-    path: /asset-mirror/releases/download/4.28-81501ab2/
+    path: /asset-mirror/releases/download/4.29-81501ab2/
     files:
     - vmlinuz
     - initrd.img
-    - tails-amd64-4.22.iso
     - 9990-misc-helpers.sh
-    - tails-amd64-4.23.iso
     os: tails
-    version: '4.28'
+    version: '4.29'
     arch: amd64
   hrmpf:
     path: /asset-mirror/releases/download/20211227-bed8dd88/
@@ -1420,13 +1418,13 @@ endpoints:
     version: v2021.08.2_21_x86-64_0.32.023
     arch: x86_64
   archlinux-32:
-    path: /asset-mirror/releases/download/2022.03.02-6dbad0f9/
+    path: /asset-mirror/releases/download/2022.04.03-6dbad0f9/
     files:
     - airootfs.sfs
     - initramfs-linux.img
     - vmlinuz-linux
     os: archlinux
-    version: 2022.03.02
+    version: 2022.04.03
     arch: i686
   q4os-4.6-default-squash:
     path: /debian-squash/releases/download/4.6-2de282e7/
@@ -1504,40 +1502,40 @@ endpoints:
     kernel: clonezilla-ubuntu-stable-amd64
     arch: amd64
   clonezilla-debian-testing-amd64:
-    path: /debian-squash/releases/download/3.0.0-7-5fb1a15b/
+    path: /debian-squash/releases/download/3.0.0-18-5fb1a15b/
     files:
     - filesystem.squashfs
     - initrd
     - vmlinuz
     os: clonezilla
-    version: 3.0.0-7
+    version: 3.0.0-18
     flavor: testing
     kernel: clonezilla-debian-testing-amd64
     arch: amd64
   clonezilla-debian-testing-i686:
-    path: /debian-squash/releases/download/3.0.0-7-ee3863df/
+    path: /debian-squash/releases/download/3.0.0-18-ee3863df/
     files:
     - filesystem.squashfs
     - initrd
     - vmlinuz
     os: clonezilla
-    version: 3.0.0-7
+    version: 3.0.0-18
     flavor: testing
     kernel: clonezilla-debian-testing-i686
     arch: i686
   clonezilla-ubuntu-testing-amd64:
-    path: /ubuntu-squash/releases/download/20220318-impish-5774fbed/
+    path: /ubuntu-squash/releases/download/20220413-impish-5774fbed/
     files:
     - filesystem.squashfs
     - initrd
     - vmlinuz
     os: clonezilla
-    version: 20220318-impish
+    version: 20220413-impish
     flavor: testing
     kernel: clonezilla-ubuntu-testing-amd64
     arch: amd64
   garuda-dr460nized-gaming:
-    path: /asset-mirror/releases/download/220308-5284ceeb/
+    path: /asset-mirror/releases/download/220329-5284ceeb/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -1549,9 +1547,9 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: dr460nized-gaming
-    version: 220308
+    version: 220329
   garuda-dr460nized:
-    path: /asset-mirror/releases/download/220308-b3db1968/
+    path: /asset-mirror/releases/download/220329-b3db1968/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -1563,9 +1561,9 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: dr460nized
-    version: 220308
+    version: 220329
   garuda-dr460nized-blackarch:
-    path: /asset-mirror/releases/download/220308-6ab56054/
+    path: /asset-mirror/releases/download/220329-6ab56054/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -1577,9 +1575,9 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: dr460nized-blackarch
-    version: 220308
+    version: 220329
   garuda-xfce:
-    path: /asset-mirror/releases/download/220308-fdf20131/
+    path: /asset-mirror/releases/download/220329-fdf20131/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -1591,9 +1589,9 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: xfce
-    version: 220308
+    version: 220329
   garuda-gnome:
-    path: /asset-mirror/releases/download/220308-f04b5cbd/
+    path: /asset-mirror/releases/download/220329-f04b5cbd/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -1605,9 +1603,9 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: gnome
-    version: 220308
+    version: 220329
   garuda-lxqt-kwin:
-    path: /asset-mirror/releases/download/220308-291ae047/
+    path: /asset-mirror/releases/download/220329-291ae047/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -1619,9 +1617,9 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: lxqt-kwin
-    version: 220308
+    version: 220329
   garuda-wayfire:
-    path: /asset-mirror/releases/download/220308-99063bd3/
+    path: /asset-mirror/releases/download/220329-99063bd3/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -1633,9 +1631,9 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: wayfire
-    version: 220308
+    version: 220329
   garuda-qtile:
-    path: /asset-mirror/releases/download/220308-7445d99d/
+    path: /asset-mirror/releases/download/220329-7445d99d/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -1647,9 +1645,9 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: qtile
-    version: 220308
+    version: 220329
   garuda-i3wm:
-    path: /asset-mirror/releases/download/220308-95710e33/
+    path: /asset-mirror/releases/download/220329-95710e33/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -1661,9 +1659,9 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: i3wm
-    version: 220308
+    version: 220329
   garuda-sway:
-    path: /asset-mirror/releases/download/220308-c5aad419/
+    path: /asset-mirror/releases/download/220329-c5aad419/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -1675,9 +1673,9 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: sway
-    version: 220308
+    version: 220329
   garuda-mate:
-    path: /asset-mirror/releases/download/220308-ba2d234f/
+    path: /asset-mirror/releases/download/220329-ba2d234f/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -1689,9 +1687,9 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: mate
-    version: 220308
+    version: 220329
   garuda-kde-barebones:
-    path: /asset-mirror/releases/download/220308-198784ed/
+    path: /asset-mirror/releases/download/220329-198784ed/
     files:
     - amd_ucode.img
     - desktopfs.sfs
@@ -1703,7 +1701,7 @@ endpoints:
     - vmlinuz
     os: garuda
     flavor: kde-barebones
-    version: 220308
+    version: 220329
   ubuntu-21.10-KDE-squash:
     path: /ubuntu-squash/releases/download/21.10-0e47f5b7/
     files:
@@ -1889,3 +1887,106 @@ endpoints:
     - vmlinuz
     os: proxmox-mailgateway
     version: 7.1-1
+  tails-beta:
+    path: /asset-mirror/releases/download/5.0b1-e9965f4d/
+    files:
+    - vmlinuz
+    - initrd.img
+    - 9990-misc-helpers.sh
+    os: tails-beta
+    version: 5.0b1
+    arch: amd64
+  ubuntu-netboot-22.04-amd64:
+    path: /ubuntu-squash/releases/download/22.04-73e57464/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: ubuntu
+    version: '22.04'
+    codename: jammy
+    flavor: netboot
+    kernel: ubuntu-netboot-22.04-amd64
+    arch: amd64
+  ubuntu-netboot-22.04-arm64:
+    path: /ubuntu-squash/releases/download/22.04-327c1eca/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: ubuntu
+    version: '22.04'
+    codename: jammy
+    flavor: netboot
+    kernel: ubuntu-netboot-22.04-arm64
+    arch: arm64
+  ubuntu-22.04-default-squash:
+    path: /ubuntu-squash/releases/download/22.04-e887448b/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: ubuntu
+    version: '22.04'
+    flavor: GNOME
+    kernel: ubuntu-22.04-default-squash
+  ubuntu-22.04-XFCE-squash:
+    path: /ubuntu-squash/releases/download/22.04-0eccaa7c/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: ubuntu
+    version: '22.04'
+    flavor: XFCE
+    kernel: ubuntu-22.04-XFCE-squash
+  ubuntu-22.04-MATE-squash:
+    path: /ubuntu-squash/releases/download/22.04-595a3acb/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: ubuntu
+    version: '22.04'
+    flavor: MATE
+    kernel: ubuntu-22.04-MATE-squash
+  ubuntu-22.04-LXDE-squash:
+    path: /ubuntu-squash/releases/download/22.04-fa8aca48/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: ubuntu
+    version: '22.04'
+    flavor: LXDE
+    kernel: ubuntu-22.04-LXDE-squash
+  ubuntu-22.04-Budgie-squash:
+    path: /ubuntu-squash/releases/download/22.04-082531f0/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: ubuntu
+    version: '22.04'
+    flavor: Budgie
+    kernel: ubuntu-22.04-Budgie-squash
+  ubuntu-22.04-KDE-squash:
+    path: /ubuntu-squash/releases/download/22.04-2aef41c7/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: ubuntu
+    version: '22.04'
+    flavor: KDE
+    kernel: ubuntu-22.04-KDE-squash
+  ubuntu-22.04-kylin-squash:
+    path: /ubuntu-squash/releases/download/22.04-38ebacda/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: ubuntu
+    version: '22.04'
+    flavor: kylin
+    kernel: ubuntu-22.04-kylin-squash

+ 15 - 13
roles/netbootxyz/defaults/main.yml

@@ -182,11 +182,11 @@ releases:
     mirror: https://builds.coreos.fedoraproject.org
     name: Fedora CoreOS
     versions:
-    - code_name: 35.20220227.3.0
+    - code_name: 35.20220313.3.1
       name: stable
-    - code_name: 35.20220313.2.0
+    - code_name: 35.20220327.2.0
       name: testing
-    - code_name: 35.20220313.1.0
+    - code_name: 36.20220325.1.0
       name: next
   debian:
     archive_mirror: http://archive.debian.org
@@ -232,6 +232,8 @@ releases:
     mirror: http://mirrors.kernel.org
     name: Fedora
     versions:
+    - code_name: 36
+      name: 36
     - code_name: 35
       name: 35
     - code_name: 34
@@ -275,8 +277,8 @@ releases:
     mirror: https://releases.rancher.com/harvester
     name: Harvester
     versions:
-    - code_name: v0.3.0
-      name: v0.3.0
+    - code_name: v1.0.0
+      name: v1.0.0
   ipfire:
     base_dir: releases/ipfire-2.x
     enabled: true
@@ -284,8 +286,8 @@ releases:
     mirror: https://downloads.ipfire.org
     name: IPFire
     versions:
-    - code_name: 2.27-core164
-      name: 2.27 Core164
+    - code_name: 2.27-core165
+      name: 2.27 Core165
   k3os:
     enabled: true
     menu: linux
@@ -334,8 +336,8 @@ releases:
     versions:
     - code_name: openEuler-20.03-LTS-SP3
       name: openEuler-20.03-LTS-SP3
-    - code_name: openEuler-21.09
-      name: openEuler-21.09
+    - code_name: openEuler-22.03-LTS
+      name: openEuler-22.03-LTS
   openbsd:
     base_dir: pub/OpenBSD
     enabled: true
@@ -451,14 +453,14 @@ releases:
     mirror: https://netboot.joyent.com/os/
     name: SmartOS
     versions:
+    - code_name: 20220324T002253Z
+      name: 20220324T002253Z
     - code_name: 20220310T212952Z
       name: 20220310T212952Z
     - code_name: 20220310T004022Z
       name: 20220310T004022Z
     - code_name: 20220224T192409Z
       name: 20220224T192409Z
-    - code_name: 20220224T005328Z
-      name: 20220224T005328Z
   talos:
     enabled: true
     menu: linux
@@ -593,10 +595,10 @@ releases:
     mirror: http://archive.ubuntu.com
     name: Ubuntu
     versions:
+    - code_name: jammy
+      name: 22.04 LTS Jammy Jellyfish
     - code_name: impish
       name: 21.10 Impish Indri
-    - code_name: hirsute
-      name: 21.04 Hirsute Hippo
     - code_name: focal
       name: 20.04 LTS Focal Fossa (Subiquity)
     - code_name: focal-legacy

+ 33 - 33
roles/netbootxyz/tasks/generate_checksums.yml

@@ -1,39 +1,39 @@
 ---
-  - name: Register a listing of all created iPXE bootloaders
-    command: ls -I {{ checksums_filename }} {{ netbootxyz_root }}/ipxe/
-    register: netboot_disks
-    tags:
-      - skip_ansible_lint
+- name: Register a listing of all created iPXE bootloaders
+  command: ls -I {{ checksums_filename }} {{ netbootxyz_root }}/ipxe/
+  register: netboot_disks
+  tags:
+    - skip_ansible_lint
 
-  - name: Generate date
-    command: date
-    register: current_date
-    tags:
-      - skip_ansible_lint
+- name: Generate date
+  command: date
+  register: current_date
+  tags:
+    - skip_ansible_lint
 
-  - name: Gather stat listing of directory
-    command: sha256sum -b {{ item }}
-    with_items:
-      - "{{ netboot_disks.stdout_lines }}"
-    args:
-      chdir: "{{ netbootxyz_root }}/ipxe/"
-    register: netboot_disks_stat
-    tags:
-      - skip_ansible_lint
+- name: Gather stat listing of directory
+  command: sha256sum -b {{ item }}
+  with_items:
+    - "{{ netboot_disks.stdout_lines }}"
+  args:
+    chdir: "{{ netbootxyz_root }}/ipxe/"
+  register: netboot_disks_stat
+  tags:
+    - skip_ansible_lint
 
-  - name: Generate ipxe disk checksums
-    template:
-      src: checksums.txt.j2
-      dest: "{{ netbootxyz_root }}/ipxe/{{ checksums_filename }}"
+- name: Generate ipxe disk checksums
+  ansible.builtin.template:
+    src: checksums.txt.j2
+    dest: "{{ netbootxyz_root }}/ipxe/{{ checksums_filename }}"
 
-  - name: Generate site name banner for index
-    shell: toilet -f standard {{ site_name }} --html | grep span
-    register: index_title
-    tags:
-      - skip_ansible_lint
-    when: ansible_os_family == "Debian"
+- name: Generate site name banner for index
+  shell: toilet -f standard {{ site_name }} --html | grep span
+  register: index_title
+  tags:
+    - skip_ansible_lint
+  when: ansible_os_family == "Debian"
 
-  - name: Generate netboot.xyz index template
-    template:
-      src: index.html.j2
-      dest: "{{ netbootxyz_root }}/index.html"
+- name: Generate netboot.xyz index template
+  ansible.builtin.template:
+    src: index.html.j2
+    dest: "{{ netbootxyz_root }}/index.html"

+ 13 - 13
roles/netbootxyz/tasks/generate_disks.yml

@@ -1,30 +1,30 @@
 ---
 
-  - include_tasks: generate_disks_base.yml
+- include_tasks: generate_disks_base.yml
 
-  - include_tasks: generate_disks_legacy.yml
-    when:
+- include_tasks: generate_disks_legacy.yml
+  when:
     - generate_disks_legacy | default(true) | bool
 
-  - include_tasks: generate_disks_linux.yml
-    when:
+- include_tasks: generate_disks_linux.yml
+  when:
     - generate_disks_linux | default(false) | bool
 
-  - include_tasks: generate_disks_efi.yml
-    when:
+- include_tasks: generate_disks_efi.yml
+  when:
     - generate_disks_efi | default(true) | bool
 
-  - include_tasks: generate_disks_arm.yml
-    when:
+- include_tasks: generate_disks_arm.yml
+  when:
     - generate_disks_arm | default(false) | bool
 
-  - include_tasks: generate_disks_rpi.yml
-    when:
+- include_tasks: generate_disks_rpi.yml
+  when:
     - generate_disks_rpi | default(false) | bool
     - bootloader_filename == "netboot.xyz"
 
-  - include_tasks: generate_disks_hybrid.yml
-    when:
+- include_tasks: generate_disks_hybrid.yml
+  when:
     - generate_disks_hybrid | default(false) | bool
     - generate_disks_legacy | default(true) | bool
     - generate_disks_efi | default(true) | bool

+ 76 - 76
roles/netbootxyz/tasks/generate_disks_arm.yml

@@ -1,86 +1,86 @@
 ---
 
-    - name: Copy netboot.xyz local EFI iPXE configs
-      copy:
-        src: "ipxe/local/{{ item }}"
-        dest: "{{ ipxe_source_dir }}/src/config/local/{{ item }}"
-      with_items:
-        - colour.h
-        - console.h
-        - crypto.h
+- name: Copy netboot.xyz local EFI iPXE configs
+  ansible.builtin.copy:
+    src: "ipxe/local/{{ item }}"
+    dest: "{{ ipxe_source_dir }}/src/config/local/{{ item }}"
+  with_items:
+    - colour.h
+    - console.h
+    - crypto.h
 
-    - name: Copy netboot.xyz general.h.efi iPXE config
-      copy:
-        src: "ipxe/local/general.h.efi"
-        dest: "{{ ipxe_source_dir }}/src/config/local/general.h"
+- name: Copy netboot.xyz general.h.efi iPXE config
+  ansible.builtin.copy:
+    src: "ipxe/local/general.h.efi"
+    dest: "{{ ipxe_source_dir }}/src/config/local/general.h"
 
-    - name: Set trust file to ipxe ca
-      set_fact:
-        trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }}"
-      when: not generate_signatures
+- name: Set trust file to ipxe ca
+  ansible.builtin.set_fact:
+    trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }}"
+  when: not generate_signatures
 
-    - name: Combine trust files if set
-      set_fact:
-        trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }},{{ cert_dir }}/{{ cert_file_filename }}"
-      when: generate_signatures | bool
+- name: Combine trust files if set
+  ansible.builtin.set_fact:
+    trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }},{{ cert_dir }}/{{ cert_file_filename }}"
+  when: generate_signatures | bool
 
-    # iPXE workaround
-    # http://lists.ipxe.org/pipermail/ipxe-devel/2018-August/006254.html
-    # apply patch to fix arm64 builds on amd64 builds
-    - name: iPXE Workaround for arm
-      shell: sed -i '/WORKAROUND_CFLAGS/d' arch/arm64/Makefile
-      args:
-        chdir: "{{ ipxe_source_dir }}/src"
-      tags:
-      - skip_ansible_lint
+# iPXE workaround
+# http://lists.ipxe.org/pipermail/ipxe-devel/2018-August/006254.html
+# apply patch to fix arm64 builds on amd64 builds
+- name: iPXE Workaround for arm
+  shell: sed -i '/WORKAROUND_CFLAGS/d' arch/arm64/Makefile
+  args:
+    chdir: "{{ ipxe_source_dir }}/src"
+  tags:
+    - skip_ansible_lint
 
-    - name: Compile iPXE bootloaders for EFI arm64
-      shell: |
-        make clean
-        make CROSS_COMPILE=aarch64-linux-gnu- \
-             ARCH=arm64 \
-             EMBED={{ bootloader_filename }} \
-             TRUST={{ trust_files }} \
-             bin-arm64-efi/ipxe.efi \
-             bin-arm64-efi/snp.efi \
-             bin-arm64-efi/snponly.efi
-      args:
-        chdir: "{{ ipxe_source_dir }}/src"
-      tags:
-      - skip_ansible_lint
-      when: ipxe_debug_enabled | bool == false
+- name: Compile iPXE bootloaders for EFI arm64
+  shell: |
+    make clean
+    make CROSS_COMPILE=aarch64-linux-gnu- \
+         ARCH=arm64 \
+         EMBED={{ bootloader_filename }} \
+         TRUST={{ trust_files }} \
+         bin-arm64-efi/ipxe.efi \
+         bin-arm64-efi/snp.efi \
+         bin-arm64-efi/snponly.efi
+  args:
+    chdir: "{{ ipxe_source_dir }}/src"
+  tags:
+    - skip_ansible_lint
+  when: ipxe_debug_enabled | bool == false
 
-    - name: Compile iPXE bootloader for EFI arm64 with debug flags
-      shell: |
-        make clean
-        make CROSS_COMPILE=aarch64-linux-gnu- \
-             ARCH=arm64 \
-             DEBUG={{ ipxe_debug_options }} \
-             EMBED={{ bootloader_filename }} \
-             TRUST={{ trust_files }} \
-             bin-arm64-efi/snp.efi
-      args:
-        chdir: "{{ ipxe_source_dir }}/src"
-      tags:
-      - skip_ansible_lint
-      when: ipxe_debug_enabled | bool
+- name: Compile iPXE bootloader for EFI arm64 with debug flags
+  shell: |
+    make clean
+    make CROSS_COMPILE=aarch64-linux-gnu- \
+         ARCH=arm64 \
+         DEBUG={{ ipxe_debug_options }} \
+         EMBED={{ bootloader_filename }} \
+         TRUST={{ trust_files }} \
+         bin-arm64-efi/snp.efi
+  args:
+    chdir: "{{ ipxe_source_dir }}/src"
+  tags:
+    - skip_ansible_lint
+  when: ipxe_debug_enabled | bool
 
-    - name: Copy iPXE arm64 EFI builds to http directory
-      copy:
-        src: "{{ ipxe_source_dir }}/src/{{ item.src }}"
-        dest: "{{ netbootxyz_root }}/ipxe/{{ item.dest }}"
-        remote_src: True
-      with_items:
-        - { src: "bin-arm64-efi/ipxe.efi", dest: "{{ bootloader_filename }}-arm64.efi" }
-        - { src: "bin-arm64-efi/snp.efi", dest: "{{ bootloader_filename }}-arm64-snp.efi" }
-        - { src: "bin-arm64-efi/snponly.efi", dest: "{{ bootloader_filename }}-arm64-snponly.efi" }
-      when: bootloader_filename != "netboot.xyz-metal"
+- name: Copy iPXE arm64 EFI builds to http directory
+  ansible.builtin.copy:
+    src: "{{ ipxe_source_dir }}/src/{{ item.src }}"
+    dest: "{{ netbootxyz_root }}/ipxe/{{ item.dest }}"
+    remote_src: true
+  with_items:
+    - {src: "bin-arm64-efi/ipxe.efi", dest: "{{ bootloader_filename }}-arm64.efi"}
+    - {src: "bin-arm64-efi/snp.efi", dest: "{{ bootloader_filename }}-arm64-snp.efi"}
+    - {src: "bin-arm64-efi/snponly.efi", dest: "{{ bootloader_filename }}-arm64-snponly.efi"}
+  when: bootloader_filename != "netboot.xyz-metal"
 
-    - name: Copy iPXE arm64 EFI builds to http directory for Equinix Metal
-      copy:
-        src: "{{ ipxe_source_dir }}/src/{{ item.src }}"
-        dest: "{{ netbootxyz_root }}/ipxe/{{ item.dest }}"
-        remote_src: True
-      with_items:
-        - { src: "bin-arm64-efi/snp.efi", dest: "{{ bootloader_filename }}-arm64.efi" }
-      when: bootloader_filename == "netboot.xyz-metal"
+- name: Copy iPXE arm64 EFI builds to http directory for Equinix Metal
+  ansible.builtin.copy:
+    src: "{{ ipxe_source_dir }}/src/{{ item.src }}"
+    dest: "{{ netbootxyz_root }}/ipxe/{{ item.dest }}"
+    remote_src: true
+  with_items:
+    - {src: "bin-arm64-efi/snp.efi", dest: "{{ bootloader_filename }}-arm64.efi"}
+  when: bootloader_filename == "netboot.xyz-metal"

+ 75 - 75
roles/netbootxyz/tasks/generate_disks_base.yml

@@ -1,88 +1,88 @@
 ---
 
-  - name: Gathering facts
-    setup:
+- name: Gathering facts
+  ansible.builtin.setup:
 
-  - name: Gather variables for each operating system
-    include_vars: "{{ item }}"
-    with_first_found:
-      - "{{ ansible_distribution | lower }}-{{ ansible_distribution_version | lower }}.yml"
-      - "{{ ansible_distribution | lower }}-{{ ansible_distribution_major_version | lower }}.yml"
-      - "{{ ansible_os_family | lower }}-{{ ansible_distribution_major_version | lower }}.yml"
-      - "{{ ansible_distribution | lower }}.yml"
-      - "{{ ansible_os_family | lower }}.yml"
+- name: Gather variables for each operating system
+  ansible.builtin.include_vars: "{{ item }}"
+  with_first_found:
+    - "{{ ansible_distribution | lower }}-{{ ansible_distribution_version | lower }}.yml"
+    - "{{ ansible_distribution | lower }}-{{ ansible_distribution_major_version | lower }}.yml"
+    - "{{ ansible_os_family | lower }}-{{ ansible_distribution_major_version | lower }}.yml"
+    - "{{ ansible_distribution | lower }}.yml"
+    - "{{ ansible_os_family | lower }}.yml"
 
-  - name: Ensure EPEL is enabled
-    yum:
-      name: epel-release
-      state: present
-    when:
-      - ansible_distribution == "CentOS"
+- name: Ensure EPEL is enabled
+  ansible.builtin.yum:
+    name: epel-release
+    state: present
+  when:
+    - ansible_distribution == "CentOS"
 
-  - name: Set var to bootloader of loop
-    set_fact:
-      bootloader_filename: "{{ bootloader_file }}"
+- name: Set var to bootloader of loop
+  ansible.builtin.set_fact:
+    bootloader_filename: "{{ bootloader_file }}"
 
-  - name: Create iPXE file directories
-    file:
-      path: "{{ item }}"
-      state: directory
-    with_items:
-      - "{{ netbootxyz_root }}/ipxe"
-      - "{{ cert_dir }}"
+- name: Create iPXE file directories
+  ansible.builtin.file:
+    path: "{{ item }}"
+    state: directory
+  with_items:
+    - "{{ netbootxyz_root }}/ipxe"
+    - "{{ cert_dir }}"
 
-  - name: Retreive latest wimboot
-    get_url:
-      url: "{{ wimboot_upstream_url }}"
-      dest: "{{ netbootxyz_root }}/wimboot"
+- name: Retreive latest wimboot
+  ansible.builtin.get_url:
+    url: "{{ wimboot_upstream_url }}"
+    dest: "{{ netbootxyz_root }}/wimboot"
 
-  - name: Copy helper apps
-    copy:
-      src: "{{ item }}"
-      dest: "{{ netbootxyz_root }}"
-    with_items:
-      - memdisk
+- name: Copy helper apps
+  ansible.builtin.copy:
+    src: "{{ item }}"
+    dest: "{{ netbootxyz_root }}"
+  with_items:
+    - memdisk
 
-  - name: Install required packages
-    package:
-      name: "{{ item }}"
-      state: present
-    with_items: "{{ netbootxyz_packages }}"
+- name: Install required packages
+  ansible.builtin.package:
+    name: "{{ item }}"
+    state: present
+  with_items: "{{ netbootxyz_packages }}"
 
-  - name: Check out latest iPXE sources
-    git:
-      repo: "{{ ipxe_repo }}"
-      dest: "{{ ipxe_source_dir }}"
-      version: "{{ ipxe_branch }}"
-      force: true
-    register: ipxe_git_checkout
+- name: Check out latest iPXE sources
+  ansible.builtin.git:
+    repo: "{{ ipxe_repo }}"
+    dest: "{{ ipxe_source_dir }}"
+    version: "{{ ipxe_branch }}"
+    force: true
+  register: ipxe_git_checkout
 
-  - name: Copy iPXE Bootloader template to iPXE source directory
-    template:
-      src: "disks/{{ bootloader_filename }}.j2"
-      dest: "{{ ipxe_source_dir }}/src/{{ bootloader_filename }}"
+- name: Copy iPXE Bootloader template to iPXE source directory
+  ansible.builtin.template:
+    src: "disks/{{ bootloader_filename }}.j2"
+    dest: "{{ ipxe_source_dir }}/src/{{ bootloader_filename }}"
 
-  - name: Touch iPXE config local files
-    file:
-      path: "{{ ipxe_source_dir }}/{{ item }}"
-      state: touch
-    with_items:
-      - src/config/local/umalloc.h
-      - src/config/local/nap.h
-      - src/config/local/timer.h
-      - src/config/local/branding.h
-      - src/config/local/serial.h
-      - src/config/local/reboot.h
-      - src/config/local/sanboot.h
-      - src/config/local/fault.h
-      - src/config/local/dhcp.h
-      - src/config/local/sideband.h
-      - src/config/local/entropy.h
-      - src/config/local/crypto.h
-      - src/config/local/usb.h
-      - src/config/local/settings.h
+- name: Touch iPXE config local files
+  ansible.builtin.file:
+    path: "{{ ipxe_source_dir }}/{{ item }}"
+    state: touch
+  with_items:
+    - src/config/local/umalloc.h
+    - src/config/local/nap.h
+    - src/config/local/timer.h
+    - src/config/local/branding.h
+    - src/config/local/serial.h
+    - src/config/local/reboot.h
+    - src/config/local/sanboot.h
+    - src/config/local/fault.h
+    - src/config/local/dhcp.h
+    - src/config/local/sideband.h
+    - src/config/local/entropy.h
+    - src/config/local/crypto.h
+    - src/config/local/usb.h
+    - src/config/local/settings.h
 
-  - name: Retrieve iPXE CA
-    get_url:
-      url: "{{ ipxe_ca_url }}"
-      dest: "{{ cert_dir }}/{{ ipxe_ca_filename }}"
+- name: Retrieve iPXE CA
+  ansible.builtin.get_url:
+    url: "{{ ipxe_ca_url }}"
+    dest: "{{ cert_dir }}/{{ ipxe_ca_filename }}"

+ 64 - 64
roles/netbootxyz/tasks/generate_disks_efi.yml

@@ -1,74 +1,74 @@
 ---
 
-  - name: Copy netboot.xyz local EFI iPXE configs
-    copy:
-      src: "ipxe/local/{{ item }}"
-      dest: "{{ ipxe_source_dir }}/src/config/local/{{ item }}"
-    with_items:
-      - colour.h
-      - console.h
-      - crypto.h
+- name: Copy netboot.xyz local EFI iPXE configs
+  ansible.builtin.copy:
+    src: "ipxe/local/{{ item }}"
+    dest: "{{ ipxe_source_dir }}/src/config/local/{{ item }}"
+  with_items:
+    - colour.h
+    - console.h
+    - crypto.h
 
-  - name: Copy netboot.xyz general.h.efi iPXE config
-    copy:
-      src: "ipxe/local/general.h.efi"
-      dest: "{{ ipxe_source_dir }}/src/config/local/general.h"
+- name: Copy netboot.xyz general.h.efi iPXE config
+  ansible.builtin.copy:
+    src: "ipxe/local/general.h.efi"
+    dest: "{{ ipxe_source_dir }}/src/config/local/general.h"
 
-  - name: Set trust file to ipxe ca
-    set_fact:
-      trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }}"
-    when: not generate_signatures
+- name: Set trust file to ipxe ca
+  ansible.builtin.set_fact:
+    trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }}"
+  when: not generate_signatures
 
-  - name: Combine trust files if set
-    set_fact:
-      trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }},{{ cert_dir }}/{{ cert_file_filename }}"
-    when: generate_signatures | bool
+- name: Combine trust files if set
+  ansible.builtin.set_fact:
+    trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }},{{ cert_dir }}/{{ cert_file_filename }}"
+  when: generate_signatures | bool
 
-  - name: Compile iPXE bootloader for EFI
-    shell: |
-      make clean
-      make EMBED={{ bootloader_filename }} \
-           TRUST={{ trust_files }} \
-           bin-x86_64-efi/ipxe.efi \
-           bin-x86_64-efi/snp.efi \
-           bin-x86_64-efi/snponly.efi
-    args:
-      chdir: "{{ ipxe_source_dir }}/src"
-    tags:
+- name: Compile iPXE bootloader for EFI
+  shell: |
+    make clean
+    make EMBED={{ bootloader_filename }} \
+         TRUST={{ trust_files }} \
+         bin-x86_64-efi/ipxe.efi \
+         bin-x86_64-efi/snp.efi \
+         bin-x86_64-efi/snponly.efi
+  args:
+    chdir: "{{ ipxe_source_dir }}/src"
+  tags:
     - skip_ansible_lint
-    when: ipxe_debug_enabled | bool == false
+  when: ipxe_debug_enabled | bool == false
 
-  - name: Compile iPXE bootloader for EFI with debug flags
-    shell: |
-      make clean
-      make EMBED={{ bootloader_filename }} \
-           DEBUG={{ ipxe_debug_options }} \
-           TRUST={{ trust_files }} \
-           bin-x86_64-efi/ipxe.efi \
-           bin-x86_64-efi/snp.efi \
-           bin-x86_64-efi/snponly.efi
-    args:
-      chdir: "{{ ipxe_source_dir }}/src"
-    tags:
+- name: Compile iPXE bootloader for EFI with debug flags
+  shell: |
+    make clean
+    make EMBED={{ bootloader_filename }} \
+         DEBUG={{ ipxe_debug_options }} \
+         TRUST={{ trust_files }} \
+         bin-x86_64-efi/ipxe.efi \
+         bin-x86_64-efi/snp.efi \
+         bin-x86_64-efi/snponly.efi
+  args:
+    chdir: "{{ ipxe_source_dir }}/src"
+  tags:
     - skip_ansible_lint
-    when: ipxe_debug_enabled | bool
-    
-  - name: Copy iPXE EFI builds to http directory
-    copy:
-      src: "{{ ipxe_source_dir }}/src/{{ item.src }}"
-      dest: "{{ netbootxyz_root }}/ipxe/{{ item.dest }}"
-      remote_src: True
-    with_items:
-      - { src: "bin-x86_64-efi/ipxe.efi", dest: "{{ bootloader_filename }}.efi" }
-      - { src: "bin-x86_64-efi/snp.efi", dest: "{{ bootloader_filename }}-snp.efi" }
-      - { src: "bin-x86_64-efi/snponly.efi", dest: "{{ bootloader_filename }}-snponly.efi" }
-    when: bootloader_filename != "netboot.xyz-metal"
+  when: ipxe_debug_enabled | bool
 
-  - name: Copy iPXE EFI builds to http directory for Equinix Metal
-    copy:
-      src: "{{ ipxe_source_dir }}/src/{{ item.src }}"
-      dest: "{{ netbootxyz_root }}/ipxe/{{ item.dest }}"
-      remote_src: True
-    with_items:
-      - { src: "bin-x86_64-efi/ipxe.efi", dest: "{{ bootloader_filename }}.efi" }
-    when: bootloader_filename == "netboot.xyz-metal"
+- name: Copy iPXE EFI builds to http directory
+  ansible.builtin.copy:
+    src: "{{ ipxe_source_dir }}/src/{{ item.src }}"
+    dest: "{{ netbootxyz_root }}/ipxe/{{ item.dest }}"
+    remote_src: true
+  with_items:
+    - {src: "bin-x86_64-efi/ipxe.efi", dest: "{{ bootloader_filename }}.efi"}
+    - {src: "bin-x86_64-efi/snp.efi", dest: "{{ bootloader_filename }}-snp.efi"}
+    - {src: "bin-x86_64-efi/snponly.efi", dest: "{{ bootloader_filename }}-snponly.efi"}
+  when: bootloader_filename != "netboot.xyz-metal"
+
+- name: Copy iPXE EFI builds to http directory for Equinix Metal
+  ansible.builtin.copy:
+    src: "{{ ipxe_source_dir }}/src/{{ item.src }}"
+    dest: "{{ netbootxyz_root }}/ipxe/{{ item.dest }}"
+    remote_src: true
+  with_items:
+    - {src: "bin-x86_64-efi/ipxe.efi", dest: "{{ bootloader_filename }}.efi"}
+  when: bootloader_filename == "netboot.xyz-metal"

+ 18 - 18
roles/netbootxyz/tasks/generate_disks_hybrid.yml

@@ -1,23 +1,23 @@
 ---
 
-  - name: Generate hybrid ISO image
-    shell: |
-      ./util/genfsimg -o {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.iso \
-        -s {{ bootloader_filename }} \
-        {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.efi \
-        {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.lkrn
-    args:
-      chdir: "{{ ipxe_source_dir }}/src"
-    tags:
+- name: Generate hybrid ISO image
+  shell: |
+    ./util/genfsimg -o {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.iso \
+      -s {{ bootloader_filename }} \
+      {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.efi \
+      {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.lkrn
+  args:
+    chdir: "{{ ipxe_source_dir }}/src"
+  tags:
     - skip_ansible_lint
 
-  - name: Generate hybrid USB image
-    shell: |
-      ./util/genfsimg -o {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.img \
-        -s {{ bootloader_filename }} \
-        {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.efi \
-        {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.lkrn
-    args:
-      chdir: "{{ ipxe_source_dir }}/src"
-    tags:
+- name: Generate hybrid USB image
+  shell: |
+    ./util/genfsimg -o {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.img \
+      -s {{ bootloader_filename }} \
+      {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.efi \
+      {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.lkrn
+  args:
+    chdir: "{{ ipxe_source_dir }}/src"
+  tags:
     - skip_ansible_lint

+ 66 - 66
roles/netbootxyz/tasks/generate_disks_legacy.yml

@@ -1,82 +1,82 @@
 ---
 
-  - name: Copy netboot.xyz local legacy iPXE configs
-    copy:
-      src: "ipxe/local/{{ item }}"
-      dest: "{{ ipxe_source_dir }}/src/config/local/{{ item }}"
-    with_items:
-      - colour.h
-      - console.h
-      - crypto.h
-      - general.h
+- name: Copy netboot.xyz local legacy iPXE configs
+  ansible.builtin.copy:
+    src: "ipxe/local/{{ item }}"
+    dest: "{{ ipxe_source_dir }}/src/config/local/{{ item }}"
+  with_items:
+    - colour.h
+    - console.h
+    - crypto.h
+    - general.h
 
-  - name: Set trust file to ipxe ca
-    set_fact:
-      trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }}"
-    when: not generate_signatures
+- name: Set trust file to ipxe ca
+  ansible.builtin.set_fact:
+    trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }}"
+  when: not generate_signatures
 
-  - name: Combine trust args if set
-    set_fact:
-      trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }},{{ cert_dir }}/{{ cert_file_filename }}"
-    when: generate_signatures | bool
+- name: Combine trust args if set
+  ansible.builtin.set_fact:
+    trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }},{{ cert_dir }}/{{ cert_file_filename }}"
+  when: generate_signatures | bool
 
-  - name: Compile iPXE bootloader for Legacy BIOS
-    shell: |
-      make clean
-      make EMBED={{ bootloader_filename }} \
-           TRUST={{ trust_files }} \
-           bin/ipxe.dsk \
-           bin/ipxe.pdsk \
-           bin/ipxe.lkrn \
-           bin/ipxe.kpxe \
-           bin/undionly.kpxe
-    args:
-      chdir: "{{ ipxe_source_dir }}/src"
-    tags:
+- name: Compile iPXE bootloader for Legacy BIOS
+  shell: |
+    make clean
+    make EMBED={{ bootloader_filename }} \
+         TRUST={{ trust_files }} \
+         bin/ipxe.dsk \
+         bin/ipxe.pdsk \
+         bin/ipxe.lkrn \
+         bin/ipxe.kpxe \
+         bin/undionly.kpxe
+  args:
+    chdir: "{{ ipxe_source_dir }}/src"
+  tags:
     - skip_ansible_lint
-    when: ipxe_debug_enabled | bool == false
+  when: ipxe_debug_enabled | bool == false
 
-  - name: Compile iPXE bootloader for Legacy BIOS with debug flags
-    shell: |
-      make clean
-      make EMBED={{ bootloader_filename }} \
-           DEBUG={{ ipxe_debug_options }} \
-           TRUST={{ trust_files }} \
-           bin/ipxe.dsk \
-           bin/ipxe.pdsk \
-           bin/ipxe.lkrn \
-           bin/ipxe.kpxe \
-           bin/undionly.kpxe
-    args:
-      chdir: "{{ ipxe_source_dir }}/src"
-    tags:
+- name: Compile iPXE bootloader for Legacy BIOS with debug flags
+  shell: |
+    make clean
+    make EMBED={{ bootloader_filename }} \
+         DEBUG={{ ipxe_debug_options }} \
+         TRUST={{ trust_files }} \
+         bin/ipxe.dsk \
+         bin/ipxe.pdsk \
+         bin/ipxe.lkrn \
+         bin/ipxe.kpxe \
+         bin/undionly.kpxe
+  args:
+    chdir: "{{ ipxe_source_dir }}/src"
+  tags:
     - skip_ansible_lint
-    when: ipxe_debug_enabled | bool
+  when: ipxe_debug_enabled | bool
 
-  - name: Copy iPXE files for Legacy BIOS to http directory
-    copy:
-      src: "{{ ipxe_source_dir }}/src/bin/ipxe{{ item }}"
-      dest: "{{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}{{ item }}"
-      remote_src: True
-    with_items:
+- name: Copy iPXE files for Legacy BIOS to http directory
+  ansible.builtin.copy:
+    src: "{{ ipxe_source_dir }}/src/bin/ipxe{{ item }}"
+    dest: "{{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}{{ item }}"
+    remote_src: true
+  with_items:
     - ".pdsk"
     - ".dsk"
     - ".lkrn"
     - ".kpxe"
-    when: bootloader_filename != "netboot.xyz-metal"
+  when: bootloader_filename != "netboot.xyz-metal"
 
-  - name: Copy iPXE files for Legacy BIOS to http directory
-    copy:
-      src: "{{ ipxe_source_dir }}/src/bin/ipxe{{ item }}"
-      dest: "{{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}{{ item }}"
-      remote_src: True
-    with_items:
+- name: Copy iPXE files for Legacy BIOS to http directory
+  ansible.builtin.copy:
+    src: "{{ ipxe_source_dir }}/src/bin/ipxe{{ item }}"
+    dest: "{{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}{{ item }}"
+    remote_src: true
+  with_items:
     - ".kpxe"
-    when: bootloader_filename == "netboot.xyz-metal"
+  when: bootloader_filename == "netboot.xyz-metal"
 
-  - name: Copy undionly.kpxe for Legacy BIOS to http directory
-    copy:
-      src: "{{ ipxe_source_dir }}/src/bin/undionly.kpxe"
-      dest: "{{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-undionly.kpxe"
-      remote_src: True
-    when: bootloader_filename != "netboot.xyz-metal"
+- name: Copy undionly.kpxe for Legacy BIOS to http directory
+  ansible.builtin.copy:
+    src: "{{ ipxe_source_dir }}/src/bin/undionly.kpxe"
+    dest: "{{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-undionly.kpxe"
+    remote_src: true
+  when: bootloader_filename != "netboot.xyz-metal"

+ 48 - 48
roles/netbootxyz/tasks/generate_disks_linux.yml

@@ -1,57 +1,57 @@
 ---
 
-  - name: Copy netboot.xyz local legacy iPXE configs
-    copy:
-      src: "ipxe/local/{{ item }}"
-      dest: "{{ ipxe_source_dir }}/src/config/local/{{ item }}"
-    with_items:
-      - colour.h
-      - console.h
-      - crypto.h
+- name: Copy netboot.xyz local legacy iPXE configs
+  ansible.builtin.copy:
+    src: "ipxe/local/{{ item }}"
+    dest: "{{ ipxe_source_dir }}/src/config/local/{{ item }}"
+  with_items:
+    - colour.h
+    - console.h
+    - crypto.h
 
-  - name: Copy netboot.xyz general.h.efi iPXE config
-    copy:
-      src: "ipxe/local/general.h.efi"
-      dest: "{{ ipxe_source_dir }}/src/config/local/general.h"
-      
-  - name: Set trust file to ipxe ca
-    set_fact:
-      trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }}"
-    when: not generate_signatures
+- name: Copy netboot.xyz general.h.efi iPXE config
+  ansible.builtin.copy:
+    src: "ipxe/local/general.h.efi"
+    dest: "{{ ipxe_source_dir }}/src/config/local/general.h"
 
-  - name: Combine trust args if set
-    set_fact:
-      trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }},{{ cert_dir }}/{{ cert_file_filename }}"
-    when: generate_signatures | bool
+- name: Set trust file to ipxe ca
+  ansible.builtin.set_fact:
+    trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }}"
+  when: not generate_signatures
 
-  - name: Compile iPXE Linux bootloader for Legacy BIOS
-    shell: |
-      make clean
-      make EMBED={{ bootloader_filename }} \
-           TRUST={{ trust_files }} \
-           bin-x86_64-linux/slirp.linux
-    args:
-      chdir: "{{ ipxe_source_dir }}/src"
-    tags:
+- name: Combine trust args if set
+  ansible.builtin.set_fact:
+    trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }},{{ cert_dir }}/{{ cert_file_filename }}"
+  when: generate_signatures | bool
+
+- name: Compile iPXE Linux bootloader for Legacy BIOS
+  shell: |
+    make clean
+    make EMBED={{ bootloader_filename }} \
+         TRUST={{ trust_files }} \
+         bin-x86_64-linux/slirp.linux
+  args:
+    chdir: "{{ ipxe_source_dir }}/src"
+  tags:
     - skip_ansible_lint
-    when: ipxe_debug_enabled | bool == false
+  when: ipxe_debug_enabled | bool == false
 
-  - name: Compile iPXE Linux bootloader for Legacy BIOS with debug flags
-    shell: |
-      make clean
-      make EMBED={{ bootloader_filename }} \
-           DEBUG={{ ipxe_debug_options }} \
-           TRUST={{ trust_files }} \
-           bin-x86_64-linux/slirp.linux
-    args:
-      chdir: "{{ ipxe_source_dir }}/src"
-    tags:
+- name: Compile iPXE Linux bootloader for Legacy BIOS with debug flags
+  shell: |
+    make clean
+    make EMBED={{ bootloader_filename }} \
+         DEBUG={{ ipxe_debug_options }} \
+         TRUST={{ trust_files }} \
+         bin-x86_64-linux/slirp.linux
+  args:
+    chdir: "{{ ipxe_source_dir }}/src"
+  tags:
     - skip_ansible_lint
-    when: ipxe_debug_enabled | bool
+  when: ipxe_debug_enabled | bool
 
-  - name: Copy iPXE linux binary for Legacy BIOS to http directory
-    copy:
-      src: "{{ ipxe_source_dir }}/src/bin-x86_64-linux/slirp.linux"
-      dest: "{{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-linux.bin"
-      remote_src: True
-    when: bootloader_filename != "netboot.xyz-metal"
+- name: Copy iPXE linux binary for Legacy BIOS to http directory
+  ansible.builtin.copy:
+    src: "{{ ipxe_source_dir }}/src/bin-x86_64-linux/slirp.linux"
+    dest: "{{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-linux.bin"
+    remote_src: true
+  when: bootloader_filename != "netboot.xyz-metal"

+ 56 - 56
roles/netbootxyz/tasks/generate_disks_rpi.yml

@@ -1,66 +1,66 @@
 ---
-    - name: Install required packages
-      package:
-        name: "{{ item }}"
-        state: present
-      with_items: "{{ pipxe_packages }}"
+- name: Install required packages
+  ansible.builtin.package:
+    name: "{{ item }}"
+    state: present
+  with_items: "{{ pipxe_packages }}"
 
-    - name: Check out latest pipxe sources
-      git:
-        repo: "{{ pipxe_repo }}"
-        dest: "{{ pipxe_source_dir }}"
-        version: "{{ pipxe_branch }}"
-        force: true
-        recursive: yes
-      register: pipxe_git_checkout
+- name: Check out latest pipxe sources
+  ansible.builtin.git:
+    repo: "{{ pipxe_repo }}"
+    dest: "{{ pipxe_source_dir }}"
+    version: "{{ pipxe_branch }}"
+    force: true
+    recursive: true
+  register: pipxe_git_checkout
 
-    - name: Copy iPXE Bootloader template to iPXE source directory
-      template:
-        src: "disks/{{ bootloader_filename }}.j2"
-        dest: "{{ pipxe_source_dir }}/ipxe/src/{{ bootloader_filename }}"
+- name: Copy iPXE Bootloader template to iPXE source directory
+  ansible.builtin.template:
+    src: "disks/{{ bootloader_filename }}.j2"
+    dest: "{{ pipxe_source_dir }}/ipxe/src/{{ bootloader_filename }}"
 
-    - name: Copy netboot.xyz local EFI iPXE configs
-      copy:
-        src: "ipxe/local/{{ item }}"
-        dest: "{{ pipxe_source_dir }}/ipxe/src/config/local/{{ item }}"
-      with_items:
-        - colour.h
-        - console.h
-        - crypto.h
+- name: Copy netboot.xyz local EFI iPXE configs
+  ansible.builtin.copy:
+    src: "ipxe/local/{{ item }}"
+    dest: "{{ pipxe_source_dir }}/ipxe/src/config/local/{{ item }}"
+  with_items:
+    - colour.h
+    - console.h
+    - crypto.h
 
-    - name: Copy netboot.xyz general.h.efi iPXE config
-      copy:
-        src: "ipxe/local/general.h.efi"
-        dest: "{{ pipxe_source_dir }}/ipxe/src/config/local/general.h"
+- name: Copy netboot.xyz general.h.efi iPXE config
+  ansible.builtin.copy:
+    src: "ipxe/local/general.h.efi"
+    dest: "{{ pipxe_source_dir }}/ipxe/src/config/local/general.h"
 
-    - name: Set trust file to ipxe ca
-      set_fact:
-        trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }}"
-      when: not generate_signatures
+- name: Set trust file to ipxe ca
+  ansible.builtin.set_fact:
+    trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }}"
+  when: not generate_signatures
 
-    - name: Combine trust files if set
-      set_fact:
-        trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }},{{ cert_dir }}/{{ cert_file_filename }}"
-      when: generate_signatures | bool
+- name: Combine trust files if set
+  ansible.builtin.set_fact:
+    trust_files: "{{ cert_dir }}/{{ ipxe_ca_filename }},{{ cert_dir }}/{{ cert_file_filename }}"
+  when: generate_signatures | bool
 
-    - name: Copy Makefile template into pipxe
-      template:
-        src: pipxe/Makefile-rpi4.j2
-        dest: "{{ pipxe_source_dir }}/Makefile"
+- name: Copy Makefile template into pipxe
+  ansible.builtin.template:
+    src: pipxe/Makefile-rpi4.j2
+    dest: "{{ pipxe_source_dir }}/Makefile"
 
-    - name: Compile iPXE bootloader for RPI build
-      shell: |
-        make
-      args:
-        chdir: "{{ pipxe_source_dir }}"
-      tags:
-      - skip_ansible_lint
+- name: Compile iPXE bootloader for RPI build
+  shell: |
+    make
+  args:
+    chdir: "{{ pipxe_source_dir }}"
+  tags:
+    - skip_ansible_lint
 
-    - name: Copy iPXE RPI builds to http directory
-      copy:
-        src: "{{ pipxe_source_dir }}/{{ item.src }}"
-        dest: "{{ netbootxyz_root }}/ipxe/{{ item.dest }}"
-        remote_src: True
-      with_items:
-        - { src: "sdcard.img", dest: "{{ bootloader_filename }}-rpi4-sdcard.img" }
-        - { src: "ipxe/src/bin-arm64-efi/snp.efi", dest: "{{ bootloader_filename }}-rpi4-snp.efi" }
+- name: Copy iPXE RPI builds to http directory
+  ansible.builtin.copy:
+    src: "{{ pipxe_source_dir }}/{{ item.src }}"
+    dest: "{{ netbootxyz_root }}/ipxe/{{ item.dest }}"
+    remote_src: true
+  with_items:
+    - {src: "sdcard.img", dest: "{{ bootloader_filename }}-rpi4-sdcard.img"}
+    - {src: "ipxe/src/bin-arm64-efi/snp.efi", dest: "{{ bootloader_filename }}-rpi4-snp.efi"}

+ 66 - 66
roles/netbootxyz/tasks/generate_menus.yml

@@ -1,81 +1,81 @@
 ---
-  - name: Combine overrides with release defaults
-    set_fact:
-      _releases: "{{ releases|combine(release_overrides, recursive=True) }}"
-    when: release_overrides is defined
+- name: Combine overrides with release defaults
+  ansible.builtin.set_fact:
+    _releases: "{{ releases|combine(release_overrides, recursive=True) }}"
+  when: release_overrides is defined
 
-  - name: Set releases with user overrides
-    set_fact:
-      releases: "{{ _releases }}"
-    when: release_overrides is defined
+- name: Set releases with user overrides
+  ansible.builtin.set_fact:
+    releases: "{{ _releases }}"
+  when: release_overrides is defined
 
-  # PC BIOS utilities
-  - name: Combine overrides with utilitiespcbios64 defaults
-    set_fact:
-      _utilitiespcbios64: "{{ utilitiespcbios64|combine(utilitiespcbios64_overrides, recursive=True) }}"
-    when: utilitiespcbios64_overrides is defined
+# PC BIOS utilities
+- name: Combine overrides with utilitiespcbios64 defaults
+  ansible.builtin.set_fact:
+    _utilitiespcbios64: "{{ utilitiespcbios64|combine(utilitiespcbios64_overrides, recursive=True) }}"
+  when: utilitiespcbios64_overrides is defined
 
-  - name: Set utilitypcbios64 with user overrides
-    set_fact:
-      utilitiespcbios64: "{{ _utilitiespcbios64 }}"
-    when: utilitiespcbios64_overrides is defined
+- name: Set utilitypcbios64 with user overrides
+  ansible.builtin.set_fact:
+    utilitiespcbios64: "{{ _utilitiespcbios64 }}"
+  when: utilitiespcbios64_overrides is defined
 
-  - name: Combine overrides with utilitiespcbios32 defaults
-    set_fact:
-      _utilitiespcbios32: "{{ utilitiespcbios32|combine(utilitiespcbios32_overrides, recursive=True) }}"
-    when: utilitiespcbios32_overrides is defined
+- name: Combine overrides with utilitiespcbios32 defaults
+  ansible.builtin.set_fact:
+    _utilitiespcbios32: "{{ utilitiespcbios32|combine(utilitiespcbios32_overrides, recursive=True) }}"
+  when: utilitiespcbios32_overrides is defined
 
-  - name: Set utilitypcbios32 with user overrides
-    set_fact:
-      utilitiespcbios32: "{{ _utilitiespcbios32 }}"
-    when: utilitiespcbios32_overrides is defined
+- name: Set utilitypcbios32 with user overrides
+  ansible.builtin.set_fact:
+    utilitiespcbios32: "{{ _utilitiespcbios32 }}"
+  when: utilitiespcbios32_overrides is defined
 
-  # EFI utilities
-  - name: Combine overrides with utilitiesefi defaults
-    set_fact:
-      _utilitiesefi: "{{ utilitiesefi|combine(utilitiesefi_overrides, recursive=True) }}"
-    when: utilitiesefi_overrides is defined
+# EFI utilities
+- name: Combine overrides with utilitiesefi defaults
+  ansible.builtin.set_fact:
+    _utilitiesefi: "{{ utilitiesefi|combine(utilitiesefi_overrides, recursive=True) }}"
+  when: utilitiesefi_overrides is defined
 
-  - name: Set utilityefi with user overrides
-    set_fact:
-      utilitiesefi: "{{ _utilitiesefi }}"
-    when: utilitiesefi_overrides is defined
+- name: Set utilityefi with user overrides
+  ansible.builtin.set_fact:
+    utilitiesefi: "{{ _utilitiesefi }}"
+  when: utilitiesefi_overrides is defined
 
-  - name: Generate directories
-    file:
-      path: "{{ netbootxyz_root }}"
-      state: directory
+- name: Generate directories
+  ansible.builtin.file:
+    path: "{{ netbootxyz_root }}"
+    state: directory
 
-  - name: Set menu version
-    set_fact:
-      upstream_version: "{{ boot_version }}"
-    when:
-      - generate_version_file | bool
+- name: Set menu version
+  ansible.builtin.set_fact:
+    upstream_version: "{{ boot_version }}"
+  when:
+    - generate_version_file | bool
 
-  - name: Generate version.ipxe for upstream
-    template:
-      src: "version.ipxe.j2"
-      dest: "{{ netbootxyz_root }}/version.ipxe"
-    when:
-      - generate_version_file | bool
+- name: Generate version.ipxe for upstream
+  ansible.builtin.template:
+    src: "version.ipxe.j2"
+    dest: "{{ netbootxyz_root }}/version.ipxe"
+  when:
+    - generate_version_file | bool
 
-  - name: Generate netboot.xyz source files templates
-    template:
-      src: "{{ item.src }}"
-      dest: "{{ netbootxyz_root }}/{{ item.path | regex_replace('.j2','') }}"
-    with_filetree: "templates/menu/"
-    when: item.state == "file"
-    tags:
+- name: Generate netboot.xyz source files templates
+  template:
+    src: "{{ item.src }}"
+    dest: "{{ netbootxyz_root }}/{{ item.path | regex_replace('.j2','') }}"
+  with_filetree: "templates/menu/"
+  when: item.state == "file"
+  tags:
     - skip_ansible_lint
 
-  - name: Generate local-vars.ipxe if enabled
-    template:
-      src: "local-vars.ipxe.j2"
-      dest: "{{ netbootxyz_root }}/local-vars.ipxe"
-    when:
-      - generate_local_vars | bool
+- name: Generate local-vars.ipxe if enabled
+  ansible.builtin.template:
+    src: "local-vars.ipxe.j2"
+    dest: "{{ netbootxyz_root }}/local-vars.ipxe"
+  when:
+    - generate_local_vars | bool
 
-  - name: Retrieve pciids.ipxe
-    get_url:
-      url: "{{ pciids_url }}"
-      dest: "{{ netbootxyz_root }}/pciids.ipxe"
+- name: Retrieve pciids.ipxe
+  ansible.builtin.get_url:
+    url: "{{ pciids_url }}"
+    dest: "{{ netbootxyz_root }}/pciids.ipxe"

+ 15 - 15
roles/netbootxyz/tasks/generate_menus_custom.yml

@@ -1,18 +1,18 @@
 ---
 
-  - name: Generate directories
-    file:
-      path: "{{ item }}"
-      state: directory
-    with_items:
-      - "{{ custom_templates_dir }}"
-      - "{{ netbootxyz_root }}/custom"
+- name: Generate directories
+  ansible.builtin.file:
+    path: "{{ item }}"
+    state: directory
+  with_items:
+    - "{{ custom_templates_dir }}"
+    - "{{ netbootxyz_root }}/custom"
 
-  - name: Generate custom user menu templates
-    template:
-      src: "{{ item.src }}"
-      dest: "{{ netbootxyz_root }}/custom/{{ item.path | regex_replace('.j2','') }}"
-    with_filetree: "{{ custom_templates_dir }}"
-    when: item.state == "file"
-    tags:
-    - skip_ansible_lint
+- name: Generate custom user menu templates
+  template:
+    src: "{{ item.src }}"
+    dest: "{{ netbootxyz_root }}/custom/{{ item.path | regex_replace('.j2','') }}"
+  with_filetree: "{{ custom_templates_dir }}"
+  when: item.state == "file"
+  tags:
+    - skip_ansible_lint

+ 23 - 23
roles/netbootxyz/tasks/generate_signatures.yml

@@ -1,26 +1,26 @@
 ---
-  - name: Gather list of source files
-    command: ls {{ netbootxyz_root }}
-    register: source_files
-    tags:
-      - skip_ansible_lint
+- name: Gather list of source files
+  command: ls {{ netbootxyz_root }}
+  register: source_files
+  tags:
+    - skip_ansible_lint
 
-  - name: Create directories for signatures
-    file:
-      path: "{{ item }}"
-      state: directory
-    with_items:
-      - "{{ sigs_dir }}"
+- name: Create directories for signatures
+  ansible.builtin.file:
+    path: "{{ item }}"
+    state: directory
+  with_items:
+    - "{{ sigs_dir }}"
 
-  - name: Generate signatures for source files
-    shell: |
-      openssl cms -sign -binary -noattr -in {{ netbootxyz_root }}/{{ item }} \
-      -signer {{ codesign_cert_filename }} -inkey {{ codesign_key_filename }} -certfile {{ cert_file_filename }} -outform DER \
-      -out {{ sigs_dir }}/{{ item }}.sig
-    args:
-      chdir: "{{ cert_dir }}"
-      warn: false
-    with_items:
-      - "{{ source_files.stdout_lines }}"
-    tags:
-    - skip_ansible_lint
+- name: Generate signatures for source files
+  shell: |
+    openssl cms -sign -binary -noattr -in {{ netbootxyz_root }}/{{ item }} \
+    -signer {{ codesign_cert_filename }} -inkey {{ codesign_key_filename }} -certfile {{ cert_file_filename }} -outform DER \
+    -out {{ sigs_dir }}/{{ item }}.sig
+  args:
+    chdir: "{{ cert_dir }}"
+    warn: false
+  with_items:
+    - "{{ source_files.stdout_lines }}"
+  tags:
+    - skip_ansible_lint

+ 13 - 13
roles/netbootxyz/tasks/main.yml

@@ -1,24 +1,24 @@
 ---
-  - include_tasks: generate_menus.yml
-    when:
+- include_tasks: generate_menus.yml
+  when:
     - generate_menus | default(true) | bool
 
-  - include_tasks: generate_menus_custom.yml
-    when:
+- include_tasks: generate_menus_custom.yml
+  when:
     - custom_generate_menus | default(false) | bool
 
-  - include_tasks: generate_disks.yml
-    with_items:
+- include_tasks: generate_disks.yml
+  with_items:
     - "{{ bootloader_disks }}"
-    loop_control:
-      loop_var: bootloader_file
-    when:
+  loop_control:
+    loop_var: bootloader_file
+  when:
     - generate_disks | default(true) | bool
 
-  - include_tasks: generate_checksums.yml
-    when:
+- include_tasks: generate_checksums.yml
+  when:
     - generate_checksums | default(true) | bool
 
-  - include_tasks: generate_signatures.yml
-    when:
+- include_tasks: generate_signatures.yml
+  when:
     - generate_signatures | default(false) | bool

+ 2 - 2
roles/netbootxyz/templates/menu/harvester.ipxe.j2

@@ -2,7 +2,7 @@
 
 # Harvester
 # https://harvesterhci.io/
-# https://docs.harvesterhci.io/v0.3/install/pxe-boot-install/
+# https://docs.harvesterhci.io/v1.0/install/pxe-boot-install/
 
 goto ${menu} ||
 
@@ -53,7 +53,7 @@ goto harvester
 :harvester_boot
 isset ${harvester_base_url} || set harvester_base_url ${harvester_mirror}/${harvester_version}
 set install_params harvester.install.automatic=true harvester.install.config_url=${harvester_config_url}
-set boot_params ip=dhcp console=ttyS0 console=tty1 rd.cos.disable root=live:${harvester_base_url}/harvester-${harvester_version}-rootfs-${os_arch}.squashfs rd.noverifyssl
+set boot_params ip=dhcp net.ifnames=1 console=ttyS0 console=tty1 rd.cos.disable root=live:${harvester_base_url}/harvester-${harvester_version}-rootfs-${os_arch}.squashfs rd.noverifyssl
 imgfree
 kernel ${harvester_base_url}/harvester-${harvester_version}-vmlinuz-${os_arch} ${install_params} ${boot_params} {{ kernel_params }}
 initrd ${harvester_base_url}/harvester-${harvester_version}-initrd-${os_arch}

+ 6 - 5
roles/netbootxyz/templates/menu/live-ubuntu.ipxe.j2

@@ -6,8 +6,8 @@ goto ${menu} ||
 set os Ubuntu Live
 menu ${os}
 item --gap ${os} Versions
+item jammy ${space} ${os} 22.04
 item impish ${space} ${os} 21.10
-item hirsute ${space} ${os} 21.04
 item focal ${space} ${os} 20.04
 item bionic ${space} ${os} 18.04
 choose live_version || goto live_exit
@@ -15,17 +15,17 @@ menu ${os} ${live_version}
 item --gap ${os} Flavors
 goto ${live_version}
 
-:impish
+:jammy
 {% for key, value in endpoints.items() | sort %}
-{% if value.os == "ubuntu" and 'squash' in key and value.version == "21.10" %}
+{% if value.os == "ubuntu" and 'squash' in key and value.version == "22.04" %}
 item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title }}
 {% endif %}
 {% endfor %}
 goto flavor_select
 
-:hirsute
+:impish
 {% for key, value in endpoints.items() | sort %}
-{% if value.os == "ubuntu" and 'squash' in key and value.version == "21.04" %}
+{% if value.os == "ubuntu" and 'squash' in key and value.version == "21.10" %}
 item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title }}
 {% endif %}
 {% endfor %}
@@ -75,6 +75,7 @@ boot
 :20.04-boot
 :21.04-boot
 :21.10-boot
+:22.04-boot
 imgfree
 kernel ${kernel_url}vmlinuz ip=dhcp boot=casper netboot=url url=${squash_url} {{ kernel_params }}
 initrd ${kernel_url}initrd

+ 1 - 1
roles/netbootxyz/templates/menu/ubuntu.ipxe.j2

@@ -26,8 +26,8 @@ item older_release ${space} Set release codename...
 choose ubuntu_version || goto ubuntu_exit
 iseq ${ubuntu_version} older_release && goto older_release ||
 iseq ${ubuntu_version} focal && set install_type sub ||
-iseq ${ubuntu_version} hirsute && set install_type sub ||
 iseq ${ubuntu_version} impish && set install_type sub ||
+iseq ${ubuntu_version} jammy && set install_type sub ||
 iseq ${ubuntu_version} focal-legacy && set ubuntu_version focal ||
 iseq ${install_type} sub && goto boot_type ||
 iseq ${os_arch} arm64 && echo "arm64 not supported on legacy network installs, please use 20.04 Subiquity and up" && sleep 5 && goto ubuntu ||

+ 1 - 1
roles/netbootxyz/vars/ubuntu.yml

@@ -25,7 +25,7 @@ pipxe_packages:
   - make
   - mtools
   - perl
-  - python
+  - python2
   - subversion
   - uuid
   - uuid-dev

+ 2 - 2
script/build_release

@@ -31,10 +31,10 @@ fi
 # build release files 
 if ! [[ "${TYPE}" == "rolling" ]]; then
   sed -i \
-    "/^#boot_version/c\boot_version: \"${BOOT_VERSION}\"" \
+    "/^# boot_version/c\boot_version: \"${BOOT_VERSION}\"" \
     user_overrides.yml
   sed -i \
-    "/^#boot_domain/c\boot_domain: ${BOOT_DOMAIN}" \
+    "/^# boot_domain/c\boot_domain: ${BOOT_DOMAIN}" \
     user_overrides.yml
 
   # Build release

+ 2 - 2
script/netbootxyz-overrides.yml

@@ -4,7 +4,7 @@ sigs_enabled: true
 generate_disks_arm: true
 generate_disks_hybrid: true
 generate_disks_linux: true
-generate_disks_rpi: true
+generate_disks_rpi: false
 generate_version_file: true
 generate_local_vars: false
 bootloader_multiple: true
@@ -20,4 +20,4 @@ ipxe_ca_url: http://ca.ipxe.org/ca.crt
 ipxe_ca_filename: ca-ipxe-org.crt
 codesign_cert_filename: codesign.crt
 codesign_key_filename: codesign.key
-cert_file_filename : ca-netboot-xyz.crt
+cert_file_filename: ca-netboot-xyz.crt

+ 14 - 14
user_overrides.yml

@@ -7,38 +7,38 @@ generate_checksums: true
 generate_local_vars: true
 
 # set desired site name
-#site_name: mysitename.com
+# site_name: mysitename.com
 
 # set desired boot domain
-#boot_domain: boot.mysitename.com
+# boot_domain: boot.mysitename.com
 
 # set boot version
-#boot_version: "2.x"
+# boot_version: "2.x"
 
-#bootloader_tftp_enabled: false
-#bootloader_https_enabled: true
-#bootloader_http_enabled: true
+# bootloader_tftp_enabled: false
+# bootloader_https_enabled: true
+# bootloader_http_enabled: true
 
 # set release overrides from standard netboot.xyz defaults
-#release_overrides:
-#  alpinelinux:
-#    name: "Alpine Linux"
-#  fedora:
-#    mirror: "mirrors.kernel.org"
+# release_overrides:
+#   alpinelinux:
+#     name: "Alpine Linux"
+#   fedora:
+#     mirror: "mirrors.kernel.org"
 
 # set utilitiesefi_overrides from standard netboot.xyz defaults for EFI utilities
-#utilitiesefi_overrides:
+# utilitiesefi_overrides:
 #  supergrub:
 #    enabled: false
 
 # set utilities_overrides from standard netboot.xyz defaults for PC BIOS utilities
-#utilitiespcbios64_overrides:
+# utilitiespcbios64_overrides:
 #  supergrub:
 #    enabled: false
 
 # set licensed media locations in boot.cfg
 # win_base_url:
-# rhel_base_url: 
+# rhel_base_url:
 
 early_menu_enabled: false
 early_menu_contents: |

+ 1 - 1
version.txt

@@ -1 +1 @@
-2.0.57
+2.0.58