Răsfoiți Sursa

Merge pull request #1389 from netbootxyz/development

Release 2.0.76-RC
Antony Messerli 1 an în urmă
părinte
comite
611e141b9c

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

@@ -14,14 +14,14 @@ jobs:
     steps:
     steps:
     - uses: actions/checkout@v4
     - uses: actions/checkout@v4
 
 
-    - uses: actions/setup-python@v4
+    - uses: actions/setup-python@v5
       with:
       with:
         python-version: '3.10'
         python-version: '3.10'
-        
+
     - name: Install dependencies
     - name: Install dependencies
       run: |
       run: |
         python -m pip install --upgrade pip
         python -m pip install --upgrade pip
-        pip install ansible==7.6.0 ansible-lint==6.15.0
+        pip install ansible==9.0.1 ansible-lint==6.22.1
 
 
     - name: Syntax Check
     - name: Syntax Check
       run: |
       run: |
@@ -37,7 +37,7 @@ jobs:
     steps:
     steps:
     - uses: actions/checkout@v4
     - uses: actions/checkout@v4
 
 
-    - uses: actions/setup-python@v4
+    - uses: actions/setup-python@v5
 
 
     - name: Build PR release
     - name: Build PR release
       run: |
       run: |

+ 10 - 0
CHANGELOG.md

@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
 
 
 ## [Unreleased]
 ## [Unreleased]
 
 
+## [2.0.76] - 2023-12-31
+
+### Added
+
+- Memtest86+ 6.20 for EFI and Legacy x86_64 modes, leaves 5.01 for Legacy purposes
+  as some issues were noticed loading 6.20 Legacy on KVM where it hangs on
+  loading but works fine using VMware.
+- ARM ISO and USB Images added
+- Tunable make_num_jobs for compiling in parallel
+
 ## [2.0.75] - 2023-12-03
 ## [2.0.75] - 2023-12-03
 
 
 ### Fixed
 ### Fixed

+ 13 - 13
README.md

@@ -137,9 +137,9 @@ In addition to being able to host netboot.xyz locally, you can also create your
 | Fatdog64 | https://distro.ibiblio.org/fatdog/web/ | No | Yes |
 | Fatdog64 | https://distro.ibiblio.org/fatdog/web/ | No | Yes |
 | Fedora | https://fedoraproject.org | Yes | Yes |
 | Fedora | https://fedoraproject.org | Yes | Yes |
 | Feren OS | https://ferenos.weebly.com/ | Yes | No |
 | Feren OS | https://ferenos.weebly.com/ | Yes | No |
-| Flatcar Container Linux | https://flatcar-linux.org/ | Yes | No |
+| Flatcar Container Linux | https://www.flatcar.org | Yes | No |
 | FreeBSD | https://freebsd.org | Yes, disk image | No |
 | FreeBSD | https://freebsd.org | Yes, disk image | No |
-| FreeDOS | http://www.freedos.org | ISO - Memdisk| No |
+| FreeDOS | https://www.freedos.org | ISO - Memdisk| No |
 | Garuda Linux | https://garudalinux.org/ | No | Yes |
 | Garuda Linux | https://garudalinux.org/ | No | Yes |
 | Gentoo | https://gentoo.org | Yes | Yes |
 | Gentoo | https://gentoo.org | Yes | Yes |
 | Harvester | https://harvesterhci.io | Yes | No |
 | Harvester | https://harvesterhci.io | Yes | No |
@@ -155,7 +155,7 @@ In addition to being able to host netboot.xyz locally, you can also create your
 | Manjaro | https://manjaro.org | No | Yes |
 | Manjaro | https://manjaro.org | No | Yes |
 | Mint | https://linuxmint.com | No | Yes |
 | Mint | https://linuxmint.com | No | Yes |
 | Microsoft Windows | https://www.microsoft.com | User supplied media | No |
 | Microsoft Windows | https://www.microsoft.com | User supplied media | No |
-| MirOS | https://www.mirbsd.org | Yes | No |
+| MirOS | http://www.mirbsd.org | Yes | No |
 | Nitrux | https://nxos.org/ | No | Yes |
 | Nitrux | https://nxos.org/ | No | Yes |
 | NixOS | https://nixos.org | Yes | No |
 | NixOS | https://nixos.org | Yes | No |
 | OpenBSD | https://openbsd.org | Yes | No |
 | OpenBSD | https://openbsd.org | Yes | No |
@@ -185,7 +185,7 @@ In addition to being able to host netboot.xyz locally, you can also create your
 | Voyager | https://voyagerlive.org | No | Yes |
 | Voyager | https://voyagerlive.org | No | Yes |
 | VyOS | https://vyos.io | Yes | No |
 | VyOS | https://vyos.io | Yes | No |
 | Zen Installer | https://sourceforge.net/projects/revenge-installer | Yes | No |
 | Zen Installer | https://sourceforge.net/projects/revenge-installer | Yes | No |
-| Zorin OS | https://zorinos.com | No | Yes |
+| Zorin OS | https://zorin.com | No | Yes |
 
 
 ### Utilities
 ### Utilities
 
 
@@ -193,22 +193,22 @@ In addition to being able to host netboot.xyz locally, you can also create your
 |------------|-------------------------|------|
 |------------|-------------------------|------|
 | 4MLinux | https://4mlinux.com/ | Kernel/Initrd |
 | 4MLinux | https://4mlinux.com/ | Kernel/Initrd |
 | Boot Repair CD | https://sourceforge.net/projects/boot-repair-cd/ | LiveCD |
 | Boot Repair CD | https://sourceforge.net/projects/boot-repair-cd/ | LiveCD |
-| Breakin | http://www.advancedclustering.com/products/software/breakin/ | Kernel/Initrd |
+| Breakin | https://www.advancedclustering.com/products/software/breakin/ | Kernel/Initrd |
 | CAINE | https://www.caine-live.net/ | LiveCD |
 | CAINE | https://www.caine-live.net/ | LiveCD |
-| Clonezilla | http://www.clonezilla.org/ | LiveCD |
-| DBAN | http://www.dban.org/ | Kernel |
-| GParted | http://gparted.org | LiveCD |
-| Grml | http://grml.org | LiveCD |
-| Kaspersky Rescue Disk | https://support.kaspersky.com/viruses/krd18 | LiveCD |
-| Memtest | http://www.memtest.org/ | Kernel |
+| Clonezilla | https://www.clonezilla.org/ | LiveCD |
+| DBAN | https://www.dban.org/ | Kernel |
+| GParted | https://gparted.org | LiveCD |
+| Grml | https://grml.org | LiveCD |
+| Kaspersky Rescue Disk | https://support.kaspersky.com/krd18 | LiveCD |
+| Memtest | https://www.memtest.org/ | Kernel |
 | MemTest86 Free | https://www.memtest86.com | USB Img |
 | MemTest86 Free | https://www.memtest86.com | USB Img |
 | Redo Rescue | http://redorescue.com/ | LiveCD |
 | Redo Rescue | http://redorescue.com/ | LiveCD |
 | Rescatux | https://www.supergrubdisk.org/rescatux/ | LiveCD |
 | Rescatux | https://www.supergrubdisk.org/rescatux/ | LiveCD |
 | Rescuezilla | https://rescuezilla.com/ | LiveCD |
 | Rescuezilla | https://rescuezilla.com/ | LiveCD |
 | ShredOS | https://github.com/PartialVolume/shredos.x86_64 | Kernel | 
 | ShredOS | https://github.com/PartialVolume/shredos.x86_64 | Kernel | 
-| Super Grub2 Disk | http://www.supergrubdisk.org | ISO - Memdisk |
+| Super Grub2 Disk | https://www.supergrubdisk.org | ISO - Memdisk |
 | System Rescue | https://system-rescue.org/ | LiveCD |
 | System Rescue | https://system-rescue.org/ | LiveCD |
-| Ultimate Boot CD | http://www.ultimatebootcd.com | ISO - Memdisk |
+| Ultimate Boot CD | https://www.ultimatebootcd.com | ISO - Memdisk |
 
 
 ### Stargazers over time
 ### Stargazers over time
 
 

+ 90 - 149
endpoints.yml

@@ -126,23 +126,23 @@ endpoints:
     flavor: mate
     flavor: mate
     kernel: debian-10-live-kernel
     kernel: debian-10-live-kernel
   kali-xfce-squash:
   kali-xfce-squash:
-    path: /debian-squash/releases/download/2023.3-dbd65156/
+    path: /debian-squash/releases/download/2023.4-dbd65156/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     - initrd
     - initrd
     - vmlinuz
     - vmlinuz
     os: kali
     os: kali
-    version: '2023.3'
+    version: '2023.4'
     flavor: xfce
     flavor: xfce
     kernel: kali-xfce-squash
     kernel: kali-xfce-squash
   kde-neon-user:
   kde-neon-user:
-    path: /ubuntu-squash/releases/download/20231130-0716-aa25e926/
+    path: /ubuntu-squash/releases/download/20231221-0716-aa25e926/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - filesystem.squashfs
     - filesystem.squashfs
     - initrd.lz
     - initrd.lz
     os: neon
     os: neon
-    version: 20231130-0716
+    version: 20231221-0716
     flavor: user
     flavor: user
     kernel: kde-neon-user
     kernel: kde-neon-user
   regolith-current:
   regolith-current:
@@ -205,7 +205,7 @@ endpoints:
     os: dban
     os: dban
     version: 2.3.0
     version: 2.3.0
   sparky-stable-mingui:
   sparky-stable-mingui:
-    path: /debian-squash/releases/download/7.1-878f4bd5/
+    path: /debian-squash/releases/download/7.2-878f4bd5/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     - initrd
     - initrd
@@ -215,7 +215,7 @@ endpoints:
     flavor: xfce-min
     flavor: xfce-min
     kernel: sparky-stable-mingui
     kernel: sparky-stable-mingui
   sparky-stable-gui:
   sparky-stable-gui:
-    path: /debian-squash/releases/download/7.1-9eb8e1da/
+    path: /debian-squash/releases/download/7.2-9eb8e1da/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     - initrd
     - initrd
@@ -225,7 +225,7 @@ endpoints:
     flavor: xfce
     flavor: xfce
     kernel: sparky-stable-gui
     kernel: sparky-stable-gui
   sparky-stable-lxqt:
   sparky-stable-lxqt:
-    path: /debian-squash/releases/download/7.1-33567050/
+    path: /debian-squash/releases/download/7.2-33567050/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     - initrd
     - initrd
@@ -358,7 +358,7 @@ endpoints:
     os: blackarch
     os: blackarch
     version: current
     version: current
   bluestar:
   bluestar:
-    path: /asset-mirror/releases/download/6.6.3-2023.11.30-a0ca79e8/
+    path: /asset-mirror/releases/download/6.6.7-2023.12.19-a0ca79e8/
     files:
     files:
     - initrd
     - initrd
     - vmlinuz
     - vmlinuz
@@ -406,7 +406,7 @@ endpoints:
     os: septor
     os: septor
     version: current
     version: current
   manjaro-xfce-current:
   manjaro-xfce-current:
-    path: /manjaro-squash/releases/download/23.0.4-minimal-231015-linux65-55621038/
+    path: /manjaro-squash/releases/download/23.1.1-minimal-231223-linux66-0a4858b7/
     files:
     files:
     - livefs.sfs
     - livefs.sfs
     - rootfs.sfs
     - rootfs.sfs
@@ -419,7 +419,7 @@ endpoints:
     flavor: xfce
     flavor: xfce
     kernel: manjaro-xfce-current
     kernel: manjaro-xfce-current
   manjaro-gnome-current:
   manjaro-gnome-current:
-    path: /manjaro-squash/releases/download/23.0.4-minimal-231015-linux65-121c09b2/
+    path: /manjaro-squash/releases/download/23.1.1-minimal-231223-linux66-0134a253/
     files:
     files:
     - livefs.sfs
     - livefs.sfs
     - rootfs.sfs
     - rootfs.sfs
@@ -432,7 +432,7 @@ endpoints:
     flavor: gnome
     flavor: gnome
     kernel: manjaro-gnome-current
     kernel: manjaro-gnome-current
   manjaro-kde-current:
   manjaro-kde-current:
-    path: /manjaro-squash/releases/download/23.0.4-minimal-231015-linux65-e00f990d/
+    path: /manjaro-squash/releases/download/23.1.1-minimal-231223-linux66-34f7fe28/
     files:
     files:
     - livefs.sfs
     - livefs.sfs
     - rootfs.sfs
     - rootfs.sfs
@@ -542,7 +542,7 @@ endpoints:
     flavor: MATE
     flavor: MATE
     kernel: ubuntu-20.04-MATE-squash
     kernel: ubuntu-20.04-MATE-squash
   ubuntu-20.04-kylin-squash:
   ubuntu-20.04-kylin-squash:
-    path: /ubuntu-squash/releases/download/20.04.6-65dad135/
+    path: /ubuntu-squash/releases/download/20.04.6-ed7fce19/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     - initrd
     - initrd
@@ -607,7 +607,7 @@ endpoints:
     version: 5.8
     version: 5.8
     kernel: linux-lite-5-squash
     kernel: linux-lite-5-squash
   vyos-rolling:
   vyos-rolling:
-    path: /debian-squash/releases/download/1.5-rolling-202312010026-7bd945ba/
+    path: /debian-squash/releases/download/1.5-rolling-202312261220-7bd945ba/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     - initrd
     - initrd
@@ -616,42 +616,6 @@ endpoints:
     version: rolling
     version: rolling
     flavor: rolling
     flavor: rolling
     kernel: vyos-rolling
     kernel: vyos-rolling
-  q4os-3.12-plasma-squash:
-    path: /debian-squash/releases/download/3.12-6e0ca54b/
-    files:
-    - filesystem.squashfs
-    os: Q4OS
-    version: '3.12'
-    flavor: plasma
-    kernel: q4os-3.12-default-squash
-  q4os-3.12-default-squash:
-    path: /debian-squash/releases/download/3.12-cf19590d/
-    files:
-    - filesystem.squashfs
-    - initrd
-    - vmlinuz
-    os: Q4OS
-    version: '3.12'
-    flavor: trinity
-    kernel: q4os-3.12-default-squash
-  q4os-3.13-default-squash:
-    path: /debian-squash/releases/download/3.13-18394906/
-    files:
-    - filesystem.squashfs
-    - initrd
-    - vmlinuz
-    os: Q4OS
-    version: '3.13'
-    flavor: trinity
-    kernel: q4os-3.13-default-squash
-  q4os-3.13-plasma-squash:
-    path: /debian-squash/releases/download/3.13-68332b76/
-    files:
-    - filesystem.squashfs
-    os: Q4OS
-    version: '3.13'
-    flavor: plasma
-    kernel: q4os-3.13-default-squash
   pureos-gnome:
   pureos-gnome:
     path: /ubuntu-squash/releases/download/2020-08-06-83257efc/
     path: /ubuntu-squash/releases/download/2020-08-06-83257efc/
     files:
     files:
@@ -751,13 +715,6 @@ endpoints:
     version: '20.3'
     version: '20.3'
     flavor: Cinnamon
     flavor: Cinnamon
     kernel: mint-20-cinnamon-squash
     kernel: mint-20-cinnamon-squash
-  talos:
-    path: /asset-mirror/releases/download/0.13.4-3f5e10e5/
-    files:
-    - vmlinuz
-    - initramfs.xz
-    os: talos
-    version: 0.13.4
   elementaryos-6-default-squash:
   elementaryos-6-default-squash:
     path: /ubuntu-squash/releases/download/6-3e90a5ea/
     path: /ubuntu-squash/releases/download/6-3e90a5ea/
     files:
     files:
@@ -767,16 +724,6 @@ endpoints:
     os: elementary-os
     os: elementary-os
     version: '6'
     version: '6'
     kernel: elementaryos-6-default-squash
     kernel: elementaryos-6-default-squash
-  zorin-16-core-squash:
-    path: /ubuntu-squash/releases/download/16.3-36c2facb/
-    files:
-    - filesystem.squashfs
-    - initrd
-    - vmlinuz
-    os: zorin
-    version: '16.3'
-    flavor: Core
-    kernel: zorin-16-core-squash
   debian-11-cinnamon-squash:
   debian-11-cinnamon-squash:
     path: /debian-squash/releases/download/11.7.0-66ae1880/
     path: /debian-squash/releases/download/11.7.0-66ae1880/
     files:
     files:
@@ -865,13 +812,13 @@ endpoints:
     os: memtest86-free
     os: memtest86-free
     version: '10.6'
     version: '10.6'
   gentoo-x86:
   gentoo-x86:
-    path: /asset-mirror/releases/download/20231023T141658Z-bb45ee28/
+    path: /asset-mirror/releases/download/20231106T160201Z-bb45ee28/
     files:
     files:
     - image.squashfs
     - image.squashfs
     - initrd
     - initrd
     - vmlinuz
     - vmlinuz
     os: gentoo
     os: gentoo
-    version: 20231023T141658Z
+    version: 20231106T160201Z
     arch: x86
     arch: x86
   gentoo-arm64:
   gentoo-arm64:
     path: /asset-mirror/releases/download/20231105T230202Z-cf0aebeb/
     path: /asset-mirror/releases/download/20231105T230202Z-cf0aebeb/
@@ -883,22 +830,22 @@ endpoints:
     version: 20231105T230202Z
     version: 20231105T230202Z
     arch: arm64
     arch: arm64
   gentoo-amd64:
   gentoo-amd64:
-    path: /asset-mirror/releases/download/20231029T164701Z-4211b989/
+    path: /asset-mirror/releases/download/20231105T170200Z-4211b989/
     files:
     files:
     - image.squashfs
     - image.squashfs
     - initrd
     - initrd
     - vmlinuz
     - vmlinuz
     os: gentoo
     os: gentoo
-    version: 20231029T164701Z
+    version: 20231105T170200Z
     arch: amd64
     arch: amd64
   tails:
   tails:
-    path: /asset-mirror/releases/download/5.20-4cc03645/
+    path: /asset-mirror/releases/download/5.21-4cc03645/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd.img
     - initrd.img
     - 9990-misc-helpers.sh
     - 9990-misc-helpers.sh
     os: tails
     os: tails
-    version: '5.20'
+    version: '5.21'
     arch: amd64
     arch: amd64
   hrmpf:
   hrmpf:
     path: /asset-mirror/releases/download/20230105-b11dcf35/
     path: /asset-mirror/releases/download/20230105-b11dcf35/
@@ -973,24 +920,6 @@ endpoints:
     os: archlinux
     os: archlinux
     version: 2023.03.02
     version: 2023.03.02
     arch: i686
     arch: i686
-  q4os-4.6-default-squash:
-    path: /debian-squash/releases/download/4.6-2de282e7/
-    files:
-    - filesystem.squashfs
-    - initrd
-    - vmlinuz
-    os: Q4OS
-    version: '4.6'
-    flavor: trinity
-    kernel: q4os-4.6-default-squash
-  q4os-4.6-plasma-squash:
-    path: /debian-squash/releases/download/4.6-f1c7b2cc/
-    files:
-    - filesystem.squashfs
-    os: Q4OS
-    version: '4.6'
-    flavor: plasma
-    kernel: q4os-4.6-default-squash
   clonezilla-debian-stable-i686:
   clonezilla-debian-stable-i686:
     path: /debian-squash/releases/download/3.1.1-27-d9f6cb5e/
     path: /debian-squash/releases/download/3.1.1-27-d9f6cb5e/
     files:
     files:
@@ -1025,35 +954,35 @@ endpoints:
     kernel: clonezilla-ubuntu-stable-amd64
     kernel: clonezilla-ubuntu-stable-amd64
     arch: amd64
     arch: amd64
   clonezilla-debian-testing-amd64:
   clonezilla-debian-testing-amd64:
-    path: /debian-squash/releases/download/3.1.2-2-b225582a/
+    path: /debian-squash/releases/download/3.1.2-6-b225582a/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     - initrd
     - initrd
     - vmlinuz
     - vmlinuz
     os: clonezilla
     os: clonezilla
-    version: 3.1.2-2
+    version: 3.1.2-6
     flavor: testing
     flavor: testing
     kernel: clonezilla-debian-testing-amd64
     kernel: clonezilla-debian-testing-amd64
     arch: amd64
     arch: amd64
   clonezilla-debian-testing-i686:
   clonezilla-debian-testing-i686:
-    path: /debian-squash/releases/download/3.1.2-2-d0af3d91/
+    path: /debian-squash/releases/download/3.1.2-6-d0af3d91/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     - initrd
     - initrd
     - vmlinuz
     - vmlinuz
     os: clonezilla
     os: clonezilla
-    version: 3.1.2-2
+    version: 3.1.2-6
     flavor: testing
     flavor: testing
     kernel: clonezilla-debian-testing-i686
     kernel: clonezilla-debian-testing-i686
     arch: i686
     arch: i686
   clonezilla-ubuntu-testing-amd64:
   clonezilla-ubuntu-testing-amd64:
-    path: /ubuntu-squash/releases/download/20231125-noble-79e325d5/
+    path: /ubuntu-squash/releases/download/20231218-noble-79e325d5/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     - initrd
     - initrd
     - vmlinuz
     - vmlinuz
     os: clonezilla
     os: clonezilla
-    version: 20231125-noble
+    version: 20231218-noble
     flavor: testing
     flavor: testing
     kernel: clonezilla-ubuntu-testing-amd64
     kernel: clonezilla-ubuntu-testing-amd64
     arch: amd64
     arch: amd64
@@ -1212,7 +1141,7 @@ endpoints:
     flavor: kde-barebones
     flavor: kde-barebones
     version: 220329
     version: 220329
   proxmox-backup-server:
   proxmox-backup-server:
-    path: /asset-mirror/releases/download/3.1-1-1f89c709/
+    path: /asset-mirror/releases/download/3.1-1-e7504e47/
     files:
     files:
     - initrd
     - initrd
     - proxmox-backup-server.iso
     - proxmox-backup-server.iso
@@ -1228,7 +1157,7 @@ endpoints:
     os: proxmox-ve
     os: proxmox-ve
     version: 8.1-1
     version: 8.1-1
   proxmox-mailgateway:
   proxmox-mailgateway:
-    path: /asset-mirror/releases/download/8.0-1-6687dfaa/
+    path: /asset-mirror/releases/download/8.0-1-35895b43/
     files:
     files:
     - initrd
     - initrd
     - proxmox-mailgateway.iso
     - proxmox-mailgateway.iso
@@ -1338,13 +1267,6 @@ endpoints:
     version: jammy
     version: jammy
     flavor: jammy
     flavor: jammy
     kernel: voyager-jammy-squash
     kernel: voyager-jammy-squash
-  talos-amd64:
-    path: /asset-mirror/releases/download/1.0.4-9616af8f/
-    files:
-    - vmlinuz-amd64
-    - initramfs-amd64.xz
-    os: talos
-    version: 1.0.4
   pop-22.04-default-squash:
   pop-22.04-default-squash:
     path: /ubuntu-squash/releases/download/21-a9399656/
     path: /ubuntu-squash/releases/download/21-a9399656/
     files:
     files:
@@ -1559,24 +1481,6 @@ endpoints:
     os: fedora
     os: fedora
     version: 37
     version: 37
     flavor: Xfce
     flavor: Xfce
-  q4os-4.11-default-squash:
-    path: /debian-squash/releases/download/4.11-41829bdb/
-    files:
-    - filesystem.squashfs
-    - initrd
-    - vmlinuz
-    os: Q4OS
-    version: '4.11'
-    flavor: trinity
-    kernel: q4os-4.11-default-squash
-  q4os-4.11-plasma-squash:
-    path: /debian-squash/releases/download/4.11-62cc7148/
-    files:
-    - filesystem.squashfs
-    os: Q4OS
-    version: '4.11'
-    flavor: plasma
-    kernel: q4os-4.11-default-squash
   elementaryos-7-default-squash:
   elementaryos-7-default-squash:
     path: /ubuntu-squash/releases/download/7-f567b122/
     path: /ubuntu-squash/releases/download/7-f567b122/
     files:
     files:
@@ -1605,7 +1509,7 @@ endpoints:
     flavor: LXQT
     flavor: LXQT
     kernel: ubuntu-20.04-LXQT-squash
     kernel: ubuntu-20.04-LXQT-squash
   fedora-38-gnome:
   fedora-38-gnome:
-    path: /fedora-assets/releases/download/1.6-1490a6a4/
+    path: /fedora-assets/releases/download/1.6-3a1420ff/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -1614,7 +1518,7 @@ endpoints:
     version: 38
     version: 38
     flavor: GNOME
     flavor: GNOME
   fedora-38-Cinnamon:
   fedora-38-Cinnamon:
-    path: /fedora-assets/releases/download/1.6-74bd0862/
+    path: /fedora-assets/releases/download/1.6-568c3951/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -1623,7 +1527,7 @@ endpoints:
     version: 38
     version: 38
     flavor: Cinnamon
     flavor: Cinnamon
   fedora-38-LXDE:
   fedora-38-LXDE:
-    path: /fedora-assets/releases/download/1.6-ed419272/
+    path: /fedora-assets/releases/download/1.6-e7b172f8/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -1632,7 +1536,7 @@ endpoints:
     version: 38
     version: 38
     flavor: LXDE
     flavor: LXDE
   fedora-38-KDE:
   fedora-38-KDE:
-    path: /fedora-assets/releases/download/1.6-900bb188/
+    path: /fedora-assets/releases/download/1.6-7849a809/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -1641,7 +1545,7 @@ endpoints:
     version: 38
     version: 38
     flavor: KDE
     flavor: KDE
   fedora-38-LXQt:
   fedora-38-LXQt:
-    path: /fedora-assets/releases/download/1.6-e33a6ad4/
+    path: /fedora-assets/releases/download/1.6-75ab5226/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -1650,7 +1554,7 @@ endpoints:
     version: 38
     version: 38
     flavor: LXQt
     flavor: LXQt
   fedora-38-MATE_Compiz:
   fedora-38-MATE_Compiz:
-    path: /fedora-assets/releases/download/1.6-61818d7f/
+    path: /fedora-assets/releases/download/1.6-3d3831ab/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -1659,7 +1563,7 @@ endpoints:
     version: 38
     version: 38
     flavor: MATE_Compiz
     flavor: MATE_Compiz
   fedora-38-SoaS:
   fedora-38-SoaS:
-    path: /fedora-assets/releases/download/1.6-97014950/
+    path: /fedora-assets/releases/download/1.6-fd0f3555/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -1668,7 +1572,7 @@ endpoints:
     version: 38
     version: 38
     flavor: SoaS
     flavor: SoaS
   fedora-38-i3:
   fedora-38-i3:
-    path: /fedora-assets/releases/download/1.6-2af51286/
+    path: /fedora-assets/releases/download/1.6-9f5ea280/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -1759,14 +1663,14 @@ endpoints:
     flavor: kylin
     flavor: kylin
     kernel: ubuntu-23.04-kylin-squash
     kernel: ubuntu-23.04-kylin-squash
   debian-12-live-kernel:
   debian-12-live-kernel:
-    path: /debian-core-12/releases/download/12.2.0-e814dabe/
+    path: /debian-core-12/releases/download/12.4.0-e814dabe/
     files:
     files:
     - initrd
     - initrd
     - vmlinuz
     - vmlinuz
     os: debian
     os: debian
     version: '12'
     version: '12'
   debian-12-default-squash:
   debian-12-default-squash:
-    path: /debian-squash/releases/download/12.2.0-40e4349d/
+    path: /debian-squash/releases/download/12.4.0-40e4349d/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     os: debian
     os: debian
@@ -1774,7 +1678,7 @@ endpoints:
     flavor: core
     flavor: core
     kernel: debian-12-live-kernel
     kernel: debian-12-live-kernel
   debian-12-gnome-squash:
   debian-12-gnome-squash:
-    path: /debian-squash/releases/download/12.2.0-69d8e17e/
+    path: /debian-squash/releases/download/12.4.0-69d8e17e/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     os: debian
     os: debian
@@ -1782,7 +1686,7 @@ endpoints:
     flavor: gnome
     flavor: gnome
     kernel: debian-12-live-kernel
     kernel: debian-12-live-kernel
   debian-12-cinnamon-squash:
   debian-12-cinnamon-squash:
-    path: /debian-squash/releases/download/12.2.0-cba61a5d/
+    path: /debian-squash/releases/download/12.4.0-cba61a5d/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     os: debian
     os: debian
@@ -1790,7 +1694,7 @@ endpoints:
     flavor: cinnamon
     flavor: cinnamon
     kernel: debian-12-live-kernel
     kernel: debian-12-live-kernel
   debian-12-lxqt-squash:
   debian-12-lxqt-squash:
-    path: /debian-squash/releases/download/12.2.0-c387dd82/
+    path: /debian-squash/releases/download/12.4.0-c387dd82/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     os: debian
     os: debian
@@ -1798,7 +1702,7 @@ endpoints:
     flavor: lxqt
     flavor: lxqt
     kernel: debian-12-live-kernel
     kernel: debian-12-live-kernel
   debian-12-mate-squash:
   debian-12-mate-squash:
-    path: /debian-squash/releases/download/12.2.0-a011040b/
+    path: /debian-squash/releases/download/12.4.0-261fbe0e/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     os: debian
     os: debian
@@ -1806,7 +1710,7 @@ endpoints:
     flavor: mate
     flavor: mate
     kernel: debian-12-live-kernel
     kernel: debian-12-live-kernel
   debian-12-lxde-squash:
   debian-12-lxde-squash:
-    path: /debian-squash/releases/download/12.2.0-f8e47c01/
+    path: /debian-squash/releases/download/12.4.0-f8e47c01/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     os: debian
     os: debian
@@ -1814,7 +1718,7 @@ endpoints:
     flavor: lxde
     flavor: lxde
     kernel: debian-12-live-kernel
     kernel: debian-12-live-kernel
   debian-12-xfce-squash:
   debian-12-xfce-squash:
-    path: /debian-squash/releases/download/12.2.0-b49f038c/
+    path: /debian-squash/releases/download/12.4.0-b49f038c/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     os: debian
     os: debian
@@ -1822,7 +1726,7 @@ endpoints:
     flavor: xfce
     flavor: xfce
     kernel: debian-12-live-kernel
     kernel: debian-12-live-kernel
   debian-12-kde-squash:
   debian-12-kde-squash:
-    path: /debian-squash/releases/download/12.2.0-0f2d09c7/
+    path: /debian-squash/releases/download/12.4.0-0f2d09c7/
     files:
     files:
     - filesystem.squashfs
     - filesystem.squashfs
     os: debian
     os: debian
@@ -1923,7 +1827,7 @@ endpoints:
     flavor: GNOME
     flavor: GNOME
     kernel: ubuntu-23.10-default-squash
     kernel: ubuntu-23.10-default-squash
   fedora-39-gnome:
   fedora-39-gnome:
-    path: /fedora-assets/releases/download/1.5-11d0b99c/
+    path: /fedora-assets/releases/download/1.5-d2a4f76a/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -1932,7 +1836,7 @@ endpoints:
     version: 39
     version: 39
     flavor: GNOME
     flavor: GNOME
   fedora-39-Cinnamon:
   fedora-39-Cinnamon:
-    path: /fedora-assets/releases/download/1.5-e00d974c/
+    path: /fedora-assets/releases/download/1.5-d6c90f59/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -1941,7 +1845,7 @@ endpoints:
     version: 39
     version: 39
     flavor: Cinnamon
     flavor: Cinnamon
   fedora-39-KDE:
   fedora-39-KDE:
-    path: /fedora-assets/releases/download/1.5-3a868889/
+    path: /fedora-assets/releases/download/1.5-7771763e/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -1950,7 +1854,7 @@ endpoints:
     version: 39
     version: 39
     flavor: KDE
     flavor: KDE
   fedora-39-LXDE:
   fedora-39-LXDE:
-    path: /fedora-assets/releases/download/1.5-1f37754b/
+    path: /fedora-assets/releases/download/1.5-9dc935b5/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -1959,7 +1863,7 @@ endpoints:
     version: 39
     version: 39
     flavor: LXDE
     flavor: LXDE
   fedora-39-LXQt:
   fedora-39-LXQt:
-    path: /fedora-assets/releases/download/1.5-4749f2cf/
+    path: /fedora-assets/releases/download/1.5-ee1e19c5/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -1968,7 +1872,7 @@ endpoints:
     version: 39
     version: 39
     flavor: LXQt
     flavor: LXQt
   fedora-39-MATE_Compiz:
   fedora-39-MATE_Compiz:
-    path: /fedora-assets/releases/download/1.5-a21f1e95/
+    path: /fedora-assets/releases/download/1.5-be74b536/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -1977,7 +1881,7 @@ endpoints:
     version: 39
     version: 39
     flavor: MATE_Compiz
     flavor: MATE_Compiz
   fedora-39-Xfce:
   fedora-39-Xfce:
-    path: /fedora-assets/releases/download/1.5-47252a76/
+    path: /fedora-assets/releases/download/1.5-3180dd29/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -1986,7 +1890,7 @@ endpoints:
     version: 39
     version: 39
     flavor: Xfce
     flavor: Xfce
   fedora-39-i3:
   fedora-39-i3:
-    path: /fedora-assets/releases/download/1.5-ab56e78c/
+    path: /fedora-assets/releases/download/1.5-3ca11c98/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -1995,7 +1899,7 @@ endpoints:
     version: 39
     version: 39
     flavor: i3
     flavor: i3
   fedora-39-SoaS:
   fedora-39-SoaS:
-    path: /fedora-assets/releases/download/1.5-3e5be5fd/
+    path: /fedora-assets/releases/download/1.5-2ef7c492/
     files:
     files:
     - vmlinuz
     - vmlinuz
     - initrd
     - initrd
@@ -2048,3 +1952,40 @@ endpoints:
     - special-edition.img
     - special-edition.img
     os: freebsd
     os: freebsd
     version: '14'
     version: '14'
+  zorin-core-squash:
+    path: /ubuntu-squash/releases/download/17-71c713e6/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: zorin
+    version: '17'
+    flavor: Core
+    kernel: zorin-core-squash
+  q4os-plasma-squash:
+    path: /debian-squash/releases/download/5.4-4600bbb9/
+    files:
+    - filesystem.squashfs
+    os: Q4OS
+    version: '5.4'
+    flavor: plasma
+    kernel: q4os-default-squash
+  q4os-default-squash:
+    path: /debian-squash/releases/download/5.4-f38143cc/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: Q4OS
+    version: '5.4'
+    flavor: trinity
+    kernel: q4os-default-squash
+  memtest86plus:
+    path: /asset-mirror/releases/download/6.20-e94f62f9/
+    files:
+    - memtest32.bin
+    - memtest32.efi
+    - memtest64.bin
+    - memtest64.efi
+    os: memtest86-plus
+    version: '6.20'

+ 67 - 29
roles/netbootxyz/defaults/main.yml

@@ -7,6 +7,14 @@ bootloader_http_enabled: true
 bootloader_https_enabled: true
 bootloader_https_enabled: true
 bootloaders:
 bootloaders:
   arm:
   arm:
+  - desc: Used for CD/DVD, Virtual CDs, DRAC/iLO, VMware, Virtual Box
+    ipxe_bin: ipxe.iso
+    output_bin: -arm64.iso
+    type: ISO
+  - desc: Used for creation of USB Keys
+    ipxe_bin: ipxe.img
+    output_bin: -arm64.img
+    type: IMG
   - desc: DHCP EFI boot image file, uses built-in iPXE NIC drivers
   - desc: DHCP EFI boot image file, uses built-in iPXE NIC drivers
     ipxe_bin: ipxe.efi
     ipxe_bin: ipxe.efi
     output_bin: -arm64.efi
     output_bin: -arm64.efi
@@ -112,6 +120,7 @@ ipxe_repo: https://github.com/ipxe/ipxe
 ipxe_source_dir: /usr/src/ipxe
 ipxe_source_dir: /usr/src/ipxe
 kernel_params: initrd=initrd.magic ${cmdline}
 kernel_params: initrd=initrd.magic ${cmdline}
 live_endpoint: https://github.com/netbootxyz
 live_endpoint: https://github.com/netbootxyz
+make_num_jobs: 1
 memdisk_location: http://${boot_domain}/memdisk
 memdisk_location: http://${boot_domain}/memdisk
 netbootxyz_conf_dir: /etc/netbootxyz
 netbootxyz_conf_dir: /etc/netbootxyz
 netbootxyz_root: /var/www/html
 netbootxyz_root: /var/www/html
@@ -138,8 +147,8 @@ releases:
     mirror: http://dl-cdn.alpinelinux.org
     mirror: http://dl-cdn.alpinelinux.org
     name: Alpine Linux
     name: Alpine Linux
     versions:
     versions:
-    - code_name: v3.18
-      name: '3.18'
+    - code_name: v3.19
+      name: '3.19'
     - code_name: edge
     - code_name: edge
       name: Edge (development)
       name: Edge (development)
   archlinux:
   archlinux:
@@ -149,8 +158,8 @@ releases:
     mirror: mirrors.kernel.org
     mirror: mirrors.kernel.org
     name: Arch Linux
     name: Arch Linux
     versions:
     versions:
-    - code_name: 2023.11.01
-      name: 2023.11.01
+    - code_name: 2023.12.01
+      name: 2023.12.01
   blackarch:
   blackarch:
     enabled: true
     enabled: true
     menu: linux
     menu: linux
@@ -182,11 +191,11 @@ releases:
     mirror: https://builds.coreos.fedoraproject.org
     mirror: https://builds.coreos.fedoraproject.org
     name: Fedora CoreOS
     name: Fedora CoreOS
     versions:
     versions:
-    - code_name: 38.20231027.3.2
+    - code_name: 39.20231119.3.0
       name: stable
       name: stable
-    - code_name: 39.20231101.2.0
+    - code_name: 39.20231204.2.1
       name: testing
       name: testing
-    - code_name: 39.20231106.1.0
+    - code_name: 39.20231204.1.0
       name: next
       name: next
   debian:
   debian:
     archive_mirror: http://archive.debian.org
     archive_mirror: http://archive.debian.org
@@ -282,8 +291,8 @@ releases:
     mirror: https://downloads.ipfire.org
     mirror: https://downloads.ipfire.org
     name: IPFire
     name: IPFire
     versions:
     versions:
-    - code_name: 2.27-core180
-      name: 2.27 Core180
+    - code_name: 2.27-core181
+      name: 2.27 Core181
   k3os:
   k3os:
     enabled: true
     enabled: true
     menu: linux
     menu: linux
@@ -327,6 +336,8 @@ releases:
       name: nixos-22.11
       name: nixos-22.11
     - code_name: nixos-23.05
     - code_name: nixos-23.05
       name: nixos-23.05
       name: nixos-23.05
+    - code_name: nixos-23.11
+      name: nixos-23.11
     - code_name: nixos-unstable
     - code_name: nixos-unstable
       name: nixos-unstable
       name: nixos-unstable
   openEuler:
   openEuler:
@@ -449,14 +460,14 @@ releases:
     mirror: https://netboot.joyent.com/os/
     mirror: https://netboot.joyent.com/os/
     name: SmartOS
     name: SmartOS
     versions:
     versions:
-    - code_name: 20231102T000310Z
-      name: 20231102T000310Z
-    - code_name: 20231019T000454Z
-      name: 20231019T000454Z
-    - code_name: 20231005T000607Z
-      name: 20231005T000607Z
-    - code_name: 20230921T034751Z
-      name: 20230921T034751Z
+    - code_name: 20231228T001409Z
+      name: 20231228T001409Z
+    - code_name: 20231214T000645Z
+      name: 20231214T000645Z
+    - code_name: 20231130T043122Z
+      name: 20231130T043122Z
+    - code_name: 20231116T064739Z
+      name: 20231116T064739Z
   talos:
   talos:
     enabled: true
     enabled: true
     menu: linux
     menu: linux
@@ -469,14 +480,28 @@ releases:
       name: AWS
       name: AWS
     - key: azure
     - key: azure
       name: Azure
       name: Azure
-    - key: digital-ocean
+    - key: digitalocean
       name: Digital Ocean
       name: Digital Ocean
+    - key: equinixMetal
+      name: Equinix Metal
     - key: gcp
     - key: gcp
       name: GCP
       name: GCP
-    - key: metal
-      name: Equinix Metal
+    - key: hcloud
+      name: Hetzner Cloud
+    - key: nocloud
+      name: Nocloud
+    - key: openstack
+      name: Openstack
+    - key: oracle
+      name: oracle
+    - key: scaleway
+      name: Scaleway
+    - key: upcloud
+      name: Upcloud
     - key: vmware
     - key: vmware
       name: VMware
       name: VMware
+    - key: vultr
+      name: Vultr
   tinycore:
   tinycore:
     enabled: true
     enabled: true
     menu: linux
     menu: linux
@@ -674,11 +699,12 @@ utilitiesefi:
     enabled: true
     enabled: true
     name: Kaspersky Rescue Disk
     name: Kaspersky Rescue Disk
     type: ipxemenu
     type: ipxemenu
-  memtest86:
-    enabled: false
-    kernel: ${live_endpoint}{{ endpoints.memtest86.path }}memtest86-usb.img
-    name: Memtest86 Free - {{ endpoints.memtest86.version }}
-    type: sanboot
+  memtest86plus:
+    enabled: true
+    name: Memtest86+ {{ endpoints.memtest86plus.version }}
+    type: memtest
+    util_path: ${live_endpoint}{{ endpoints.memtest86plus.path }}memtest64.efi
+    version: '{{ endpoints.memtest86plus.version }}'
   redorescue:
   redorescue:
     enabled: true
     enabled: true
     initrd: ${live_endpoint}{{ endpoints.redorescue.path }}initrd
     initrd: ${live_endpoint}{{ endpoints.redorescue.path }}initrd
@@ -712,12 +738,18 @@ utilitiespcbios32:
     enabled: true
     enabled: true
     name: Clonezilla
     name: Clonezilla
     type: ipxemenu
     type: ipxemenu
-  memtest:
+  memtest86legacy:
     enabled: true
     enabled: true
-    name: Memtest
+    name: Memtest86+ 5.01.0
     type: memtest
     type: memtest
     util_path: https://boot.netboot.xyz/utils/memtest86-5.01.0
     util_path: https://boot.netboot.xyz/utils/memtest86-5.01.0
     version: 5.01.0
     version: 5.01.0
+  memtest86plus:
+    enabled: true
+    name: Memtest86+ {{ endpoints.memtest86plus.version }}
+    type: memtest
+    util_path: ${live_endpoint}{{ endpoints.memtest86plus.path }}memtest32.bin
+    version: '{{ endpoints.memtest86plus.version }}'
   shredos:
   shredos:
     enabled: true
     enabled: true
     name: ShredOS
     name: ShredOS
@@ -774,12 +806,18 @@ utilitiespcbios64:
     enabled: true
     enabled: true
     name: Kaspersky Rescue Disk
     name: Kaspersky Rescue Disk
     type: ipxemenu
     type: ipxemenu
-  memtest:
+  memtest86legacy:
     enabled: true
     enabled: true
-    name: Memtest
+    name: Memtest86+ 5.01.0
     type: memtest
     type: memtest
     util_path: https://boot.netboot.xyz/utils/memtest86-5.01.0
     util_path: https://boot.netboot.xyz/utils/memtest86-5.01.0
     version: 5.01.0
     version: 5.01.0
+  memtest86plus:
+    enabled: true
+    name: Memtest86+ {{ endpoints.memtest86plus.version }}
+    type: memtest
+    util_path: ${live_endpoint}{{ endpoints.memtest86plus.path }}memtest64.bin
+    version: '{{ endpoints.memtest86plus.version }}'
   redorescue:
   redorescue:
     enabled: true
     enabled: true
     initrd: ${live_endpoint}{{ endpoints.redorescue.path }}initrd
     initrd: ${live_endpoint}{{ endpoints.redorescue.path }}initrd

+ 0 - 3
roles/netbootxyz/tasks/generate_disks.yml

@@ -33,7 +33,4 @@
   ansible.builtin.include_tasks: generate_disks_hybrid.yml
   ansible.builtin.include_tasks: generate_disks_hybrid.yml
   when:
   when:
     - generate_disks_hybrid | default(false) | bool
     - generate_disks_hybrid | default(false) | bool
-    - generate_disks_legacy | default(true) | bool
-    - generate_disks_efi | default(true) | bool
-    - generate_disks_arm | default(false) | bool
     - bootloader_filename == "netboot.xyz"
     - bootloader_filename == "netboot.xyz"

+ 4 - 2
roles/netbootxyz/tasks/generate_disks_arm.yml

@@ -35,7 +35,8 @@
 - name: Compile iPXE bootloaders for EFI arm64
 - name: Compile iPXE bootloaders for EFI arm64
   ansible.builtin.shell: |
   ansible.builtin.shell: |
     make clean
     make clean
-    make CROSS_COMPILE=aarch64-linux-gnu- \
+    make -j{{ make_num_jobs }} \
+         CROSS_COMPILE=aarch64-linux-gnu- \
          ARCH=arm64 \
          ARCH=arm64 \
          EMBED={{ bootloader_filename }} \
          EMBED={{ bootloader_filename }} \
          TRUST={{ trust_files }} \
          TRUST={{ trust_files }} \
@@ -49,7 +50,8 @@
 - name: Compile iPXE bootloader for EFI arm64 with debug flags
 - name: Compile iPXE bootloader for EFI arm64 with debug flags
   ansible.builtin.shell: |
   ansible.builtin.shell: |
     make clean
     make clean
-    make CROSS_COMPILE=aarch64-linux-gnu- \
+    make -j{{ make_num_jobs }} \
+         CROSS_COMPILE=aarch64-linux-gnu- \
          ARCH=arm64 \
          ARCH=arm64 \
          DEBUG={{ ipxe_debug_options }} \
          DEBUG={{ ipxe_debug_options }} \
          EMBED={{ bootloader_filename }} \
          EMBED={{ bootloader_filename }} \

+ 4 - 2
roles/netbootxyz/tasks/generate_disks_efi.yml

@@ -27,7 +27,8 @@
 - name: Compile iPXE bootloader for EFI
 - name: Compile iPXE bootloader for EFI
   ansible.builtin.shell: |
   ansible.builtin.shell: |
     make clean
     make clean
-    make EMBED={{ bootloader_filename }} \
+    make -j{{ make_num_jobs }} \
+         EMBED={{ bootloader_filename }} \
          TRUST={{ trust_files }} \
          TRUST={{ trust_files }} \
          bin-x86_64-efi/ipxe.efi \
          bin-x86_64-efi/ipxe.efi \
          bin-x86_64-efi/snp.efi \
          bin-x86_64-efi/snp.efi \
@@ -39,7 +40,8 @@
 - name: Compile iPXE bootloader for EFI with debug flags
 - name: Compile iPXE bootloader for EFI with debug flags
   ansible.builtin.shell: |
   ansible.builtin.shell: |
     make clean
     make clean
-    make EMBED={{ bootloader_filename }} \
+    make -j{{ make_num_jobs }} \
+         EMBED={{ bootloader_filename }} \
          DEBUG={{ ipxe_debug_options }} \
          DEBUG={{ ipxe_debug_options }} \
          TRUST={{ trust_files }} \
          TRUST={{ trust_files }} \
          bin-x86_64-efi/ipxe.efi \
          bin-x86_64-efi/ipxe.efi \

+ 41 - 0
roles/netbootxyz/tasks/generate_disks_hybrid.yml

@@ -8,6 +8,11 @@
       {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.lkrn
       {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.lkrn
   args:
   args:
     chdir: "{{ ipxe_source_dir }}/src"
     chdir: "{{ ipxe_source_dir }}/src"
+  when:
+    - generate_disks_hybrid | default(false) | bool
+    - generate_disks_legacy | default(true) | bool
+    - generate_disks_efi | default(true) | bool
+
 
 
 - name: Generate hybrid ISO multiarch image
 - name: Generate hybrid ISO multiarch image
   ansible.builtin.shell: |
   ansible.builtin.shell: |
@@ -18,6 +23,22 @@
       {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-arm64.efi
       {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-arm64.efi
   args:
   args:
     chdir: "{{ ipxe_source_dir }}/src"
     chdir: "{{ ipxe_source_dir }}/src"
+  when:
+    - generate_disks_hybrid | default(false) | bool
+    - generate_disks_legacy | default(true) | bool
+    - generate_disks_arm | default(false) | bool
+    - generate_disks_efi | default(true) | bool
+
+- name: Generate hybrid ISO arm64 image
+  ansible.builtin.shell: |
+    ./util/genfsimg -o {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-arm64.iso \
+      -s {{ bootloader_filename }} \
+      {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-arm64.efi
+  args:
+    chdir: "{{ ipxe_source_dir }}/src"
+  when:
+    - generate_disks_hybrid | default(false) | bool
+    - generate_disks_arm | default(false) | bool
 
 
 - name: Generate hybrid USB x86_64 image
 - name: Generate hybrid USB x86_64 image
   ansible.builtin.shell: |
   ansible.builtin.shell: |
@@ -27,6 +48,10 @@
       {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.lkrn
       {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}.lkrn
   args:
   args:
     chdir: "{{ ipxe_source_dir }}/src"
     chdir: "{{ ipxe_source_dir }}/src"
+  when:
+    - generate_disks_hybrid | default(false) | bool
+    - generate_disks_legacy | default(true) | bool
+    - generate_disks_efi | default(true) | bool
 
 
 - name: Generate hybrid USB multiarch image
 - name: Generate hybrid USB multiarch image
   ansible.builtin.shell: |
   ansible.builtin.shell: |
@@ -37,3 +62,19 @@
       {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-arm64.efi
       {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-arm64.efi
   args:
   args:
     chdir: "{{ ipxe_source_dir }}/src"
     chdir: "{{ ipxe_source_dir }}/src"
+  when:
+    - generate_disks_hybrid | default(false) | bool
+    - generate_disks_legacy | default(true) | bool
+    - generate_disks_arm | default(false) | bool
+    - generate_disks_efi | default(true) | bool
+
+- name: Generate hybrid USB arm64 image
+  ansible.builtin.shell: |
+    ./util/genfsimg -o {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-arm64.img \
+      -s {{ bootloader_filename }} \
+      {{ netbootxyz_root }}/ipxe/{{ bootloader_filename }}-arm64.efi
+  args:
+    chdir: "{{ ipxe_source_dir }}/src"
+  when:
+    - generate_disks_hybrid | default(false) | bool
+    - generate_disks_arm | default(false) | bool

+ 4 - 2
roles/netbootxyz/tasks/generate_disks_legacy.yml

@@ -23,7 +23,8 @@
 - name: Compile iPXE bootloader for Legacy BIOS
 - name: Compile iPXE bootloader for Legacy BIOS
   ansible.builtin.shell: |
   ansible.builtin.shell: |
     make clean
     make clean
-    make EMBED={{ bootloader_filename }} \
+    make -j{{ make_num_jobs }} \
+         EMBED={{ bootloader_filename }} \
          TRUST={{ trust_files }} \
          TRUST={{ trust_files }} \
          bin/ipxe.dsk \
          bin/ipxe.dsk \
          bin/ipxe.pdsk \
          bin/ipxe.pdsk \
@@ -37,7 +38,8 @@
 - name: Compile iPXE bootloader for Legacy BIOS with debug flags
 - name: Compile iPXE bootloader for Legacy BIOS with debug flags
   ansible.builtin.shell: |
   ansible.builtin.shell: |
     make clean
     make clean
-    make EMBED={{ bootloader_filename }} \
+    make -j{{ make_num_jobs }} \
+         EMBED={{ bootloader_filename }} \
          DEBUG={{ ipxe_debug_options }} \
          DEBUG={{ ipxe_debug_options }} \
          TRUST={{ trust_files }} \
          TRUST={{ trust_files }} \
          bin/ipxe.dsk \
          bin/ipxe.dsk \

+ 4 - 2
roles/netbootxyz/tasks/generate_disks_linux.yml

@@ -27,7 +27,8 @@
 - name: Compile iPXE Linux bootloader for Legacy BIOS
 - name: Compile iPXE Linux bootloader for Legacy BIOS
   ansible.builtin.shell: |
   ansible.builtin.shell: |
     make clean
     make clean
-    make EMBED={{ bootloader_filename }} \
+    make -j{{ make_num_jobs }} \
+         EMBED={{ bootloader_filename }} \
          TRUST={{ trust_files }} \
          TRUST={{ trust_files }} \
          bin-x86_64-linux/slirp.linux
          bin-x86_64-linux/slirp.linux
   args:
   args:
@@ -37,7 +38,8 @@
 - name: Compile iPXE Linux bootloader for Legacy BIOS with debug flags
 - name: Compile iPXE Linux bootloader for Legacy BIOS with debug flags
   ansible.builtin.shell: |
   ansible.builtin.shell: |
     make clean
     make clean
-    make EMBED={{ bootloader_filename }} \
+    make -j{{ make_num_jobs }} \
+         EMBED={{ bootloader_filename }} \
          DEBUG={{ ipxe_debug_options }} \
          DEBUG={{ ipxe_debug_options }} \
          TRUST={{ trust_files }} \
          TRUST={{ trust_files }} \
          bin-x86_64-linux/slirp.linux
          bin-x86_64-linux/slirp.linux

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

@@ -50,7 +50,7 @@
 
 
 - name: Compile iPXE bootloader for RPI build
 - name: Compile iPXE bootloader for RPI build
   ansible.builtin.shell: |
   ansible.builtin.shell: |
-    make
+    make -j{{ make_num_jobs }}
   args:
   args:
     chdir: "{{ pipxe_source_dir }}"
     chdir: "{{ pipxe_source_dir }}"
 
 

+ 1 - 1
roles/netbootxyz/templates/index.html.j2

@@ -115,7 +115,7 @@ exit
 {% endif %}
 {% endif %}
 
 
 {% if generate_disks_arm == true %}
 {% if generate_disks_arm == true %}
-  <p>ARM64 iPXE Bootloaders</p>
+  <p>ARM64 UEFI iPXE Bootloaders</p>
 
 
   <table style="width:100%">
   <table style="width:100%">
     <!-- table header -->
     <!-- table header -->

+ 4 - 4
roles/netbootxyz/templates/menu/centos.ipxe.j2

@@ -20,10 +20,10 @@ item {{ item.code_name }} ${space} ${os} {{ item.name }}
 {% endfor %}
 {% endfor %}
 isset ${osversion} || choose osversion || goto linux_menu
 isset ${osversion} || choose osversion || goto linux_menu
 echo ${cls}
 echo ${cls}
-iseq os_arch x86_64 && set dir ${centos_base_dir}/${osversion}/BaseOS/${os_arch}/os ||
-iseq os_arch aarch64 && set dir altarch/${osversion}/BaseOS/${os_arch}/os ||
-iseq os_arch x86_64 && iseq ${osversion} 7 && set dir ${centos_base_dir}/${osversion}/os/${os_arch} ||
-iseq os_arch aarch64 && iseq ${osversion} 7 && set dir altarch/${osversion}/os/${os_arch} ||
+iseq ${os_arch} x86_64 && set dir ${centos_base_dir}/${osversion}/BaseOS/${os_arch}/os ||
+iseq ${os_arch} aarch64 && set dir altarch/${osversion}/BaseOS/${os_arch}/os ||
+iseq ${os_arch} x86_64 && iseq ${osversion} 7 && set dir ${centos_base_dir}/${osversion}/os/${os_arch} ||
+iseq ${os_arch} aarch64 && iseq ${osversion} 7 && set dir altarch/${osversion}/os/${os_arch} ||
 set repo ${centos_mirror}/${dir}
 set repo ${centos_mirror}/${dir}
 goto boottype
 goto boottype
 
 

+ 7 - 3
roles/netbootxyz/templates/menu/live-q4os.ipxe.j2

@@ -6,15 +6,19 @@ goto ${menu} ||
 set os Q4OS Live
 set os Q4OS Live
 menu ${os}
 menu ${os}
 item --gap ${os} Versions
 item --gap ${os} Versions
-item 4.6 ${space} ${os} 4.6
+{% for key, value in endpoints.items() | sort %}
+{% if value.os == "Q4OS" and 'squash' in key %}
+item {{ value.version }} ${space} ${os} {{ value.version }}
+{% endif %}
+{% endfor %}
 choose live_version || goto live_exit
 choose live_version || goto live_exit
 menu ${os} ${live_version}
 menu ${os} ${live_version}
 item --gap ${os} Flavors
 item --gap ${os} Flavors
 goto ${live_version}
 goto ${live_version}
 
 
-:4.6
 {% for key, value in endpoints.items() | sort %}
 {% for key, value in endpoints.items() | sort %}
-{% if value.os == "Q4OS" and 'squash' in key and value.version == "4.6" %}
+{% if value.os == "Q4OS" and 'squash' in key %}
+:{{ value.version }}
 item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title}}
 item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title}}
 {% endif %}
 {% endif %}
 {% endfor %}
 {% endfor %}

+ 8 - 16
roles/netbootxyz/templates/menu/live-zorin.ipxe.j2

@@ -6,20 +6,18 @@ goto ${menu} ||
 set os Zorin Live
 set os Zorin Live
 menu ${os}
 menu ${os}
 item --gap ${os} Versions
 item --gap ${os} Versions
-item 16 ${space} ${os} 16
-item 15 ${space} ${os} 15
+{% for key, value in endpoints.items() | sort %}
+{% if value.os == "zorin" %}
+item {{ value.version }} ${space} ${os} {{ value.version }}
+{% endif %}
+{% endfor %}
 choose live_version || goto live_exit
 choose live_version || goto live_exit
 menu ${os} ${live_version}
 menu ${os} ${live_version}
 item --gap ${os} Flavors
 item --gap ${os} Flavors
 goto ${live_version}
 goto ${live_version}
 
 
 {% for key, value in endpoints.items() | sort %}
 {% for key, value in endpoints.items() | sort %}
-{% if value.os == "zorin" and 'squash' in key and value.version == "16" %}
-:{{ value.version }}
-item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title}}
-goto flavor_select
-{% endif %}
-{% if value.os == "zorin" and 'squash' in key and value.version == "15" %}
+{% if value.os == "zorin" and 'squash' in key %}
 :{{ value.version }}
 :{{ value.version }}
 item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title}}
 item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title}}
 goto flavor_select
 goto flavor_select
@@ -41,17 +39,11 @@ set squash_url ${live_endpoint}{{ value.path }}filesystem.squashfs
 set kernel_url ${live_endpoint}{{ value.path }}
 set kernel_url ${live_endpoint}{{ value.path }}
 {% endif %}
 {% endif %}
 {% endfor %}
 {% endfor %}
-goto {{ value.version }}-boot
+goto boot
 {% endif %}
 {% endif %}
 {% endfor %}
 {% endfor %}
 
 
-:15-boot
-imgfree
-kernel ${kernel_url}vmlinuz ip=dhcp boot=casper netboot=http fetch=${squash_url} {{ kernel_params }}
-initrd ${kernel_url}initrd
-boot
-
-:16-boot
+:boot
 imgfree
 imgfree
 kernel ${kernel_url}vmlinuz ip=dhcp boot=casper netboot=url url=${squash_url} {{ kernel_params }}
 kernel ${kernel_url}vmlinuz ip=dhcp boot=casper netboot=url url=${squash_url} {{ kernel_params }}
 initrd ${kernel_url}initrd
 initrd ${kernel_url}initrd

+ 10 - 3
roles/netbootxyz/templates/menu/talos.ipxe.j2

@@ -1,8 +1,8 @@
-#!ipxe
+!ipxe
 
 
 # Talos
 # Talos
 # https://github.com/siderolabs/talos/releases
 # https://github.com/siderolabs/talos/releases
-# https://www.talos.dev/v1.0/talos-guides/install/bare-metal-platforms/matchbox/
+# https://www.talos.dev/v1.6/talos-guides/install/bare-metal-platforms/pxe
 
 
 goto ${menu} ||
 goto ${menu} ||
 
 
@@ -59,6 +59,7 @@ echo -n Set userdata.yaml URL:  && read talos_config_url
 clear menu
 clear menu
 goto talos
 goto talos
 
 
+# https://www.talos.dev/latest/reference/kernel/#talosplatform
 :talos_platform
 :talos_platform
 menu ${os} platforms
 menu ${os} platforms
 {% for item in releases.talos.platforms %}
 {% for item in releases.talos.platforms %}
@@ -67,10 +68,16 @@ item {{ item.key }} ${space} {{ item.name }}
 choose --default ${talos_platform} talos_platform
 choose --default ${talos_platform} talos_platform
 goto talos
 goto talos
 
 
+# https://www.talos.dev/latest/reference/kernel/
 :talos_boot
 :talos_boot
 isset ${talos_base_url} || set talos_base_url ${talos_mirror}/latest/download
 isset ${talos_base_url} || set talos_base_url ${talos_mirror}/latest/download
 isset ${talos_config_url} && set talos_config talos.config=${talos_config_url} ||
 isset ${talos_config_url} && set talos_config talos.config=${talos_config_url} ||
-set boot_params page_poison=1 printk.devkmsg=on slab_nomerge slub_debug=P pti=on talos.platform=${talos_platform} ${talos_config} {{ kernel_params }}
+{# Edit releases.talos.custom_kernel_params in main.yml for custom kernel params #}
+{% if releases.talos.custom_kernel_params is defined and releases.talos.custom_kernel_params %}
+set boot_params {{ releases.talos.custom_kernel_params }}
+{% else %}
+set boot_params printk.devkmsg=on slab_nomerge pti=on console=ttyS0 console=tty0 init_on_alloc=1 init_on_free=1 consoleblank=0 nvme_core.io_timeout=4294967295 ima_template=ima-ng ima_appraise=fix ima_hash=sha512 talos.platform=${talos_platform} ${talos_config} initrd=initrd.magic ${cmdline}
+{% endif %}
 imgfree
 imgfree
 kernel ${talos_base_url}/vmlinuz-${os_arch} ${boot_params}
 kernel ${talos_base_url}/vmlinuz-${os_arch} ${boot_params}
 initrd ${talos_base_url}/initramfs-${os_arch}.xz
 initrd ${talos_base_url}/initramfs-${os_arch}.xz

+ 6 - 0
roles/netbootxyz/templates/menu/utils-efi.ipxe.j2

@@ -48,6 +48,12 @@ echo
 echo -n Enter cmdline parameters: ${} && read cmdline
 echo -n Enter cmdline parameters: ${} && read cmdline
 goto utils_menu
 goto utils_menu
 
 
+:memtest86plus
+imgfree
+kernel {{ utilitiesefi.memtest86plus.util_path }}
+boot
+goto utils_menu
+
 :nbxyz_custom_url
 :nbxyz_custom_url
 echo If you have a customized menu you would like to load into netboot.xyz
 echo If you have a customized menu you would like to load into netboot.xyz
 echo set the base path url to your custom ipxe files here. 
 echo set the base path url to your custom ipxe files here. 

+ 8 - 2
roles/netbootxyz/templates/menu/utils-pcbios-32.ipxe.j2

@@ -60,9 +60,15 @@ echo
 echo -n Enter cmdline parameters: ${} && read cmdline
 echo -n Enter cmdline parameters: ${} && read cmdline
 goto utils_menu
 goto utils_menu
 
 
-:memtest
+:memtest86legacy
 imgfree
 imgfree
-kernel {{ utilitiespcbios32.memtest.util_path }}
+kernel {{ utilitiespcbios32.memtest86legacy.util_path }}
+boot
+goto utils_menu
+
+:memtest86plus
+imgfree
+kernel {{ utilitiespcbios32.memtest86plus.util_path }}
 boot
 boot
 goto utils_menu
 goto utils_menu
 
 

+ 8 - 2
roles/netbootxyz/templates/menu/utils-pcbios-64.ipxe.j2

@@ -60,9 +60,15 @@ echo
 echo -n Enter cmdline parameters: ${} && read cmdline
 echo -n Enter cmdline parameters: ${} && read cmdline
 goto utils_menu
 goto utils_menu
 
 
-:memtest
+:memtest86legacy
 imgfree
 imgfree
-kernel {{ utilitiespcbios64.memtest.util_path }}
+kernel {{ utilitiespcbios64.memtest86legacy.util_path }}
+boot
+goto utils_menu
+
+:memtest86plus
+imgfree
+kernel {{ utilitiespcbios64.memtest86plus.util_path }}
 boot
 boot
 goto utils_menu
 goto utils_menu
 
 

+ 1 - 0
user_overrides.yml

@@ -5,6 +5,7 @@ generate_menus: true
 generate_disks: true
 generate_disks: true
 generate_checksums: true
 generate_checksums: true
 generate_local_vars: true
 generate_local_vars: true
+make_num_jobs: 1
 
 
 # set desired site name
 # set desired site name
 # site_name: mysitename.com
 # site_name: mysitename.com

+ 1 - 1
version.txt

@@ -1 +1 @@
-2.0.75
+2.0.76