Ver código fonte

Merge pull request #1557 from netbootxyz/RC

Antony Messerli 3 meses atrás
pai
commit
889f4a2666

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

@@ -25,7 +25,7 @@ jobs:
 
     - name: Syntax Check
       run: |
-        ansible-playbook -i inventory site.yml --syntax-check
+        ansible-playbook site.yml --syntax-check
 
     - name: Ansible lint
       run: |

+ 16 - 0
CHANGELOG.md

@@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file.
 
 ## [Unreleased]
 
+## [2.0.84] - 2025-01-04
+
+## Added
+
+- UEFI Shell available under utilities for x86/ARM UEFI mode
+- Floppy boot images for UEFI
+- Dasharo Tools Suite
+- Latest GRML added with ARM support
+
+## Changed
+
+- Moves win_base_url and rhel_base_url out of boot.cfg to local-vars.ipxe as they are
+  user defined variables.
+- Adds a check in boot.cfg to see if live_endpoint is set from local-vars.ipxe. This
+  will allow the user to set their overrides locally on their network.
+
 ## [2.0.83] - 2024-11-07
 
 ## Changed

+ 3 - 3
Dockerfile

@@ -1,6 +1,6 @@
 ARG NBXYZ_OVERRIDES=default
 
-FROM ghcr.io/netbootxyz/builder:latest as builder
+FROM ghcr.io/netbootxyz/builder:latest AS builder
 
 # repo for build
 COPY . /ansible
@@ -11,11 +11,11 @@ ENV EXTRA_VARS=""
 FROM builder AS netbootxyz-production
 ENV EXTRA_VARS="--extra-vars @script/netbootxyz-overrides.yml"
 
-FROM netbootxyz-${NBXYZ_OVERRIDES} as final
+FROM netbootxyz-${NBXYZ_OVERRIDES} AS final
 RUN \
   echo "**** running ansible ****" && \
   cd /ansible && \
-  ansible-playbook -i inventory site.yml ${EXTRA_VARS}
+  ansible-playbook site.yml ${EXTRA_VARS}
 
 # runtime stage
 FROM alpine:latest

+ 3 - 3
README.md

@@ -90,7 +90,7 @@ Please see the [self-hosting docs](https://netboot.xyz/docs/selfhosting/) for mo
 To generate, run:
 
 ```
-ansible-playbook -i inventory site.yml
+ansible-playbook site.yml
 ```
 
 The build output will be located in /var/www/html by default.
@@ -98,8 +98,8 @@ The build output will be located in /var/www/html by default.
 #### Deploying with Docker
 
 ```
-docker build -t localbuild -f Dockerfile .
-docker run --rm -it -v $(pwd):/buildout localbuild
+docker build -t localbuild --platform=linux/amd64 -f Dockerfile .
+docker run --rm -it --platform=linux/amd64 -v $(pwd):/buildout localbuild
 ```
 
 The build output will be in the generated folder `buildout`

+ 105 - 68
endpoints.yml

@@ -71,23 +71,23 @@ endpoints:
     flavor: mate
     kernel: debian-10-live-kernel
   kali-xfce-squash:
-    path: /debian-squash/releases/download/2024.3-54fc2a3c/
+    path: /debian-squash/releases/download/2024.4-54fc2a3c/
     files:
     - filesystem.squashfs
     - initrd
     - vmlinuz
     os: kali
-    version: '2024.3'
+    version: '2024.4'
     flavor: xfce
     kernel: kali-xfce-squash
   kde-neon-user:
-    path: /ubuntu-squash/releases/download/20241105-0605-9b372e2a/
+    path: /ubuntu-squash/releases/download/20241229-0747-9b372e2a/
     files:
     - vmlinuz
     - filesystem.squashfs
     - initrd.lz
     os: neon
-    version: 20241105-0605
+    version: 20241229-0747
     flavor: user
     kernel: kde-neon-user
   regolith-current:
@@ -180,7 +180,7 @@ endpoints:
     flavor: lxqt
     kernel: sparky-stable-lxqt
   sparky-rolling-mingui:
-    path: /debian-squash/releases/download/2024.08-db19bb55/
+    path: /debian-squash/releases/download/2024.12-db19bb55/
     files:
     - filesystem.squashfs
     - initrd
@@ -190,7 +190,7 @@ endpoints:
     flavor: xfce-min
     kernel: sparky-rolling-mingui
   sparky-rolling-gui:
-    path: /debian-squash/releases/download/2024.08-66a56f08/
+    path: /debian-squash/releases/download/2024.12-66a56f08/
     files:
     - filesystem.squashfs
     - initrd
@@ -200,7 +200,7 @@ endpoints:
     flavor: xfce
     kernel: sparky-rolling-gui
   sparky-rolling-lxqt:
-    path: /debian-squash/releases/download/2024.08-2b965fd7/
+    path: /debian-squash/releases/download/2024.12-2b965fd7/
     files:
     - filesystem.squashfs
     - initrd
@@ -244,24 +244,6 @@ endpoints:
     os: devuan
     version: '2'
     flavor: ascii
-  grml-full:
-    path: /debian-squash/releases/download/2024.02-22d50c75/
-    files:
-    - filesystem.squashfs
-    - initrd
-    - vmlinuz
-    os: grml
-    version: '2024.02'
-    flavor: full
-  grml-small:
-    path: /debian-squash/releases/download/2024.02-9927ba62/
-    files:
-    - filesystem.squashfs
-    - initrd
-    - vmlinuz
-    os: grml
-    version: '2024.02'
-    flavor: small
   gparted-stable:
     path: /debian-squash/releases/download/1.6.0-10-cff72999/
     files:
@@ -286,6 +268,13 @@ endpoints:
     - vmlinuz
     os: caine
     version: '13.0'
+  dts:
+    path: /dts/v2.0.0
+    files:
+    - initrd
+    - vmlinuz
+    os: dts
+    version: 2.0.0
   bootrepair:
     path: /ubuntu-squash/releases/download/current-e035b00c/
     files:
@@ -351,7 +340,7 @@ endpoints:
     os: septor
     version: current
   manjaro-xfce-current:
-    path: /manjaro-squash/releases/download/24.0-minimal-240513-linux69-dce63f04/
+    path: /manjaro-squash/releases/download/24.2.1-241216-linux612-58470e08/
     files:
     - livefs.sfs
     - rootfs.sfs
@@ -364,7 +353,7 @@ endpoints:
     flavor: xfce
     kernel: manjaro-xfce-current
   manjaro-gnome-current:
-    path: /manjaro-squash/releases/download/24.0-minimal-240513-linux69-c0b5ee57/
+    path: /manjaro-squash/releases/download/24.2.1-241216-linux612-e001c928/
     files:
     - livefs.sfs
     - rootfs.sfs
@@ -377,7 +366,7 @@ endpoints:
     flavor: gnome
     kernel: manjaro-gnome-current
   manjaro-kde-current:
-    path: /manjaro-squash/releases/download/24.0-minimal-240513-linux69-cc131ed3/
+    path: /manjaro-squash/releases/download/24.2.1-241216-linux612-41601e40/
     files:
     - livefs.sfs
     - rootfs.sfs
@@ -405,7 +394,7 @@ endpoints:
     os: raizo
     version: current
   4mlinux:
-    path: /asset-mirror/releases/download/46.1-c292230f/
+    path: /asset-mirror/releases/download/47.0-c292230f/
     files:
     - initrd
     - vmlinuz
@@ -413,7 +402,7 @@ endpoints:
     version: current
     flavor: full
   4mlinux-thesss:
-    path: /asset-mirror/releases/download/46.0-4aab1393/
+    path: /asset-mirror/releases/download/47.0-4aab1393/
     files:
     - initrd
     - vmlinuz
@@ -757,41 +746,41 @@ endpoints:
     os: memtest86-free
     version: '11.1'
   gentoo-x86:
-    path: /asset-mirror/releases/download/20240930T162137Z-5b773f72/
+    path: /asset-mirror/releases/download/20241118T170330Z-5b773f72/
     files:
     - image.squashfs
     - initrd
     - vmlinuz
     os: gentoo
-    version: 20240930T162137Z
+    version: 20241118T170330Z
     arch: x86
   gentoo-arm64:
-    path: /asset-mirror/releases/download/20241006T230323Z-d5972d15/
+    path: /asset-mirror/releases/download/20241117T233317Z-d5972d15/
     files:
     - image.squashfs
     - initrd
     - vmlinuz
     os: gentoo
-    version: 20241006T230323Z
+    version: 20241117T233317Z
     arch: arm64
   gentoo-amd64:
-    path: /asset-mirror/releases/download/20240929T163611Z-63d6ec39/
+    path: /asset-mirror/releases/download/20241213T133324Z-63d6ec39/
     files:
     - image.squashfs
     - initrd
     - vmlinuz
     os: gentoo
-    version: 20240929T163611Z
+    version: 20241213T133324Z
     arch: amd64
   tails:
-    path: /asset-mirror/releases/download/6.9-911e1aab/
+    path: /asset-mirror/releases/download/6.10-911e1aab/
     files:
     - vmlinuz
     - initrd.img
     - 9990-misc-helpers.sh
     - tails-amd64.iso
     os: tails
-    version: '6.9'
+    version: '6.10'
     arch: amd64
   hrmpf:
     path: /asset-mirror/releases/download/20231124-1008bb6d/
@@ -833,13 +822,13 @@ endpoints:
     version: 9.03
     arch: i686
   systemrescue-amd64:
-    path: /asset-mirror/releases/download/11.01-dd0f3246/
+    path: /asset-mirror/releases/download/11.03-e17908dd/
     files:
     - airootfs.sfs
     - initrd
     - vmlinuz
     os: systemrescue
-    version: 11.01
+    version: 11.03
     arch: amd64
   shredos-i686:
     path: /asset-mirror/releases/download/0.34_32-bit_20221231-3adcc4d0/
@@ -856,13 +845,13 @@ endpoints:
     version: 2024.02.2_26.0_x86-64_0.37
     arch: x86_64
   archlinux-32:
-    path: /asset-mirror/releases/download/2023.03.02-f7a7f796/
+    path: /asset-mirror/releases/download/2024.07.10-1d684723/
     files:
     - airootfs.sfs
     - initramfs-linux.img
     - vmlinuz-linux
     os: archlinux
-    version: 2023.03.02
+    version: 2024.07.10
     arch: i686
   clonezilla-debian-stable-i686:
     path: /debian-squash/releases/download/3.2.0-5-ef1ff756/
@@ -898,13 +887,13 @@ endpoints:
     kernel: clonezilla-ubuntu-stable-amd64
     arch: amd64
   clonezilla-debian-testing-amd64:
-    path: /debian-squash/releases/download/3.2.0-10-9e73bfe5/
+    path: /debian-squash/releases/download/3.2.0-29-9e73bfe5/
     files:
     - filesystem.squashfs
     - initrd
     - vmlinuz
     os: clonezilla
-    version: 3.2.0-10
+    version: 3.2.0-29
     flavor: testing
     kernel: clonezilla-debian-testing-amd64
     arch: amd64
@@ -920,13 +909,13 @@ endpoints:
     kernel: clonezilla-debian-testing-i686
     arch: i686
   clonezilla-ubuntu-testing-amd64:
-    path: /ubuntu-squash/releases/download/20241026-oracular-c67d897c/
+    path: /ubuntu-squash/releases/download/20241225-plucky-c67d897c/
     files:
     - filesystem.squashfs
     - initrd
     - vmlinuz
     os: clonezilla
-    version: 20241026-oracular
+    version: 20241225-plucky
     flavor: testing
     kernel: clonezilla-ubuntu-testing-amd64
     arch: amd64
@@ -1085,21 +1074,21 @@ endpoints:
     flavor: kde-barebones
     version: 220329
   proxmox-backup-server:
-    path: /asset-mirror/releases/download/3.2-1-f308cf4b/
+    path: /asset-mirror/releases/download/3.3-1-f308cf4b/
     files:
     - initrd
     - vmlinuz
     - proxmox.iso
     os: proxmox-backup-server
-    version: 3.2-1
+    version: 3.3-1
   proxmox-ve:
-    path: /asset-mirror/releases/download/8.2-2-613c19ff/
+    path: /asset-mirror/releases/download/8.3-1-613c19ff/
     files:
     - initrd
     - proxmox.iso
     - vmlinuz
     os: proxmox-ve
-    version: 8.2-2
+    version: 8.3-1
   proxmox-mailgateway:
     path: /asset-mirror/releases/download/8.1-1-8374c64d/
     files:
@@ -1236,7 +1225,7 @@ endpoints:
     version: '4.0'
     arch: aarch64
   harvester:
-    path: /asset-mirror/releases/download/v1.3.2-c82c6d22/
+    path: /asset-mirror/releases/download/v1.4.0-c82c6d22/
     files:
     - harvester-vmlinuz-amd64
     - harvester-initrd-amd64
@@ -1244,7 +1233,7 @@ endpoints:
     - harvester-amd64.sha512
     - version.yaml
     os: harvester
-    version: v1.3.2
+    version: v1.4.0
   linux-lite-6-squash:
     path: /ubuntu-squash/releases/download/6.4-2550834c/
     files:
@@ -1285,7 +1274,7 @@ endpoints:
     flavor: xfce
     kernel: mint-21-xfce-squash
   oracle-9-x86_64:
-    path: /asset-mirror/releases/download/U4-5d86c3df/
+    path: /asset-mirror/releases/download/U5-5d86c3df/
     files:
     - vmlinuz
     - initrd
@@ -1294,7 +1283,7 @@ endpoints:
     version: '9'
     arch: x86_64
   oracle-9-aarch64:
-    path: /asset-mirror/releases/download/U4-f2411221/
+    path: /asset-mirror/releases/download/U5-f2411221/
     files:
     - vmlinuz
     - initrd
@@ -1369,7 +1358,7 @@ endpoints:
     os: debian
     version: '12'
   debian-12-default-squash:
-    path: /debian-squash/releases/download/12.7.0-b545a82c/
+    path: /debian-squash/releases/download/12.8.0-b545a82c/
     files:
     - filesystem.squashfs
     os: debian
@@ -1377,7 +1366,7 @@ endpoints:
     flavor: core
     kernel: debian-12-live-kernel
   debian-12-gnome-squash:
-    path: /debian-squash/releases/download/12.7.0-d2c07a8a/
+    path: /debian-squash/releases/download/12.8.0-d2c07a8a/
     files:
     - filesystem.squashfs
     os: debian
@@ -1385,7 +1374,7 @@ endpoints:
     flavor: gnome
     kernel: debian-12-live-kernel
   debian-12-cinnamon-squash:
-    path: /debian-squash/releases/download/12.7.0-c84a8c03/
+    path: /debian-squash/releases/download/12.8.0-c84a8c03/
     files:
     - filesystem.squashfs
     os: debian
@@ -1393,7 +1382,7 @@ endpoints:
     flavor: cinnamon
     kernel: debian-12-live-kernel
   debian-12-lxqt-squash:
-    path: /debian-squash/releases/download/12.7.0-43f2cd09/
+    path: /debian-squash/releases/download/12.8.0-43f2cd09/
     files:
     - filesystem.squashfs
     os: debian
@@ -1401,7 +1390,7 @@ endpoints:
     flavor: lxqt
     kernel: debian-12-live-kernel
   debian-12-mate-squash:
-    path: /debian-squash/releases/download/12.7.0-1a8949e5/
+    path: /debian-squash/releases/download/12.8.0-1a8949e5/
     files:
     - filesystem.squashfs
     os: debian
@@ -1409,7 +1398,7 @@ endpoints:
     flavor: mate
     kernel: debian-12-live-kernel
   debian-12-lxde-squash:
-    path: /debian-squash/releases/download/12.7.0-b3449bd8/
+    path: /debian-squash/releases/download/12.8.0-b3449bd8/
     files:
     - filesystem.squashfs
     os: debian
@@ -1417,7 +1406,7 @@ endpoints:
     flavor: lxde
     kernel: debian-12-live-kernel
   debian-12-xfce-squash:
-    path: /debian-squash/releases/download/12.7.0-40a848cc/
+    path: /debian-squash/releases/download/12.8.0-40a848cc/
     files:
     - filesystem.squashfs
     os: debian
@@ -1425,7 +1414,7 @@ endpoints:
     flavor: xfce
     kernel: debian-12-live-kernel
   debian-12-kde-squash:
-    path: /debian-squash/releases/download/12.7.0-90c96885/
+    path: /debian-squash/releases/download/12.8.0-90c96885/
     files:
     - filesystem.squashfs
     os: debian
@@ -1569,32 +1558,32 @@ endpoints:
     flavor: Core
     kernel: zorin-core-squash
   q4os-plasma-squash:
-    path: /debian-squash/releases/download/5.6-3af797cd/
+    path: /debian-squash/releases/download/5.7-3af797cd/
     files:
     - filesystem.squashfs
     os: Q4OS
-    version: '5.6'
+    version: '5.7'
     flavor: plasma
     kernel: q4os-default-squash
   q4os-default-squash:
-    path: /debian-squash/releases/download/5.6-d1a34866/
+    path: /debian-squash/releases/download/5.7-d1a34866/
     files:
     - filesystem.squashfs
     - initrd
     - vmlinuz
     os: Q4OS
-    version: '5.6'
+    version: '5.7'
     flavor: trinity
     kernel: q4os-default-squash
   memtest86plus:
-    path: /asset-mirror/releases/download/7.00-014832f7/
+    path: /asset-mirror/releases/download/7.20-014832f7/
     files:
     - memtest32.bin
     - memtest32.efi
     - memtest64.bin
     - memtest64.efi
     os: memtest86-plus
-    version: '7.00'
+    version: '7.20'
   ubuntu-netboot-24.04-arm64:
     path: /ubuntu-squash/releases/download/24.04.1-7b71a472/
     files:
@@ -1708,3 +1697,51 @@ endpoints:
     flavor: netboot
     kernel: ubuntu-netboot-24.10-arm64
     arch: arm64
+  grml-small-amd64:
+    path: /debian-squash/releases/download/2024.12-8fc30cc1/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: grml
+    version: '2024.12'
+    flavor: small
+    arch: amd64
+  grml-full-amd64:
+    path: /debian-squash/releases/download/2024.12-f98bba95/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: grml
+    version: '2024.12'
+    flavor: full
+    arch: amd64
+  grml-full-arm64:
+    path: /debian-squash/releases/download/2024.12-4b210567/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: grml
+    version: '2024.12'
+    flavor: full
+    arch: arm64
+  grml-small-arm64:
+    path: /debian-squash/releases/download/2024.12-31472c87/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: grml
+    version: '2024.12'
+    flavor: small
+    arch: arm64
+  uefishell:
+    path: /asset-mirror/releases/download/edk2-stable202002-046915a7/
+    files:
+    - uefi-shell-x64.efi
+    - uefi-shell-aarch64.efi
+    - uefi-shell-arm.efi
+    os: uefi-shell
+    version: edk2-stable202002

+ 0 - 1
inventory

@@ -1 +0,0 @@
-localhost ansible_connection=local

+ 53 - 25
roles/netbootxyz/defaults/main.yml

@@ -88,6 +88,14 @@ bootloaders:
     ipxe_bin: snponly.efi
     output_bin: -snponly.efi
     type: DHCP-snponly
+  - desc: DHCP EFI Floppy boot image file, uses built-in iPXE NIC drivers
+    ipxe_bin: ipxe.efi.dsk
+    output_bin: .efi.dsk
+    type: Floppy
+  - desc: EFI Floppy image w/ Simple Network Protocol, attempts to boot all net devices
+    ipxe_bin: snp.efi.dsk
+    output_bin: -snp.efi.dsk
+    type: Floppy-snp
 cert_dir: /etc/netbootxyz/certs
 cert_file_filename: ca-netboot-xyz.crt
 checksums_filename: '{{ site_name }}-sha256-checksums.txt'
@@ -147,8 +155,8 @@ releases:
     mirror: http://dl-cdn.alpinelinux.org
     name: Alpine Linux
     versions:
-    - code_name: v3.20
-      name: '3.20'
+    - code_name: v3.21
+      name: '3.21'
     - code_name: edge
       name: Edge (development)
   archlinux:
@@ -158,8 +166,8 @@ releases:
     mirror: mirrors.kernel.org
     name: Arch Linux
     versions:
-    - code_name: 2024.11.01
-      name: 2024.11.01
+    - code_name: 2025.01.01
+      name: 2025.01.01
   blackarch:
     enabled: true
     menu: linux
@@ -189,11 +197,11 @@ releases:
     mirror: https://builds.coreos.fedoraproject.org
     name: Fedora CoreOS
     versions:
-    - code_name: 40.20241019.3.0
+    - code_name: 41.20241122.3.0
       name: stable
-    - code_name: 41.20241027.2.0
+    - code_name: 41.20241215.2.0
       name: testing
-    - code_name: 41.20241027.1.0
+    - code_name: 41.20241215.1.0
       name: next
   debian:
     archive_mirror: http://archive.debian.org
@@ -287,8 +295,8 @@ releases:
     mirror: https://downloads.ipfire.org
     name: IPFire
     versions:
-    - code_name: 2.29-core189
-      name: 2.29 Core189
+    - code_name: 2.29-core190
+      name: 2.29 Core190
   k3os:
     enabled: true
     menu: linux
@@ -336,6 +344,8 @@ releases:
       name: nixos-23.11
     - code_name: nixos-24.05
       name: nixos-24.05
+    - code_name: nixos-24.11
+      name: nixos-24.11
     - code_name: nixos-unstable
       name: nixos-unstable
   openEuler:
@@ -441,14 +451,14 @@ releases:
     mirror: https://netboot.smartos.org/os/
     name: SmartOS
     versions:
-    - code_name: 20241031T000342Z
-      name: 20241031T000342Z
-    - code_name: 20241017T041739Z
-      name: 20241017T041739Z
-    - code_name: 20241003T000345Z
-      name: 20241003T000345Z
-    - code_name: 20240919T000328Z
-      name: 20240919T000328Z
+    - code_name: 20241226T000807Z
+      name: 20241226T000807Z
+    - code_name: 20241212T000748Z
+      name: 20241212T000748Z
+    - code_name: 20241128T004404Z
+      name: 20241128T004404Z
+    - code_name: 20241114T000536Z
+      name: 20241114T000536Z
   talos:
     enabled: true
     menu: linux
@@ -641,6 +651,11 @@ utilitiesarm:
     kernel: ${live_endpoint}{{ endpoints.memtest86.path }}memtest86-usb.img
     name: Memtest86 Free - {{ endpoints.memtest86.version }}
     type: sanboot
+  uefishell:
+    enabled: true
+    kernel: ${live_endpoint}{{ endpoints.uefishell.path }}uefi-shell-aarch64.efi
+    name: UEFI Shell
+    type: direct
 utilitiesefi:
   4mlinux:
     enabled: true
@@ -666,14 +681,18 @@ utilitiesefi:
     enabled: true
     name: Clonezilla
     type: ipxemenu
+  dts:
+    enabled: true
+    initrd: https://boot.dasharo.com{{ endpoints.dts.path }}/dts-base-image-v{{ endpoints.dts.version
+      }}.cpio.gz
+    kernel: https://boot.dasharo.com{{ endpoints.dts.path }}/bzImage-v{{ endpoints.dts.version
+      }}
+    name: Dasharo Tools Suite
+    type: direct
   gparted:
     enabled: true
     name: GParted
     type: ipxemenu
-  grml:
-    enabled: true
-    name: Grml
-    type: ipxemenu
   kaspersky:
     enabled: true
     name: Kaspersky Rescue Disk
@@ -717,6 +736,11 @@ utilitiesefi:
     enabled: true
     name: System Rescue CD
     type: ipxemenu
+  uefishell:
+    enabled: true
+    kernel: ${live_endpoint}{{ endpoints.uefishell.path }}uefi-shell-x64.efi
+    name: UEFI Shell
+    type: direct
   zfsbootmenu:
     enabled: true
     kernel: ${live_endpoint}{{ endpoints.zfsbootmenu.path }}zfsbootmenu-recovery-x86_64.efi
@@ -783,14 +807,18 @@ utilitiespcbios64:
     enabled: true
     name: DBAN
     type: ipxemenu
+  dts:
+    enabled: true
+    initrd: https://boot.dasharo.com{{ endpoints.dts.path }}/dts-base-image-v{{ endpoints.dts.version
+      }}.cpio.gz
+    kernel: https://boot.dasharo.com{{ endpoints.dts.path }}/bzImage-v{{ endpoints.dts.version
+      }}
+    name: Dasharo Tools Suite
+    type: direct
   gparted:
     enabled: true
     name: GParted
     type: ipxemenu
-  grml:
-    enabled: true
-    name: Grml
-    type: ipxemenu
   kaspersky:
     enabled: true
     name: Kaspersky Rescue Disk

+ 14 - 0
roles/netbootxyz/tasks/generate_disks_efi.yml

@@ -51,6 +51,18 @@
     chdir: "{{ ipxe_source_dir }}/src"
   when: ipxe_debug_enabled | bool
 
+- name: Generate iPXE floppy images for EFI
+  ansible.builtin.shell: |
+    truncate -s 1440k bin-x86_64-efi/ipxe.efi.dsk
+    mformat -i bin-x86_64-efi/ipxe.efi.dsk -f 1440 ::
+    mmd -i bin-x86_64-efi/ipxe.efi.dsk ::EFI
+    mmd -i bin-x86_64-efi/ipxe.efi.dsk ::EFI/BOOT
+    cp bin-x86_64-efi/ipxe.efi.dsk bin-x86_64-efi/snp.efi.dsk
+    mcopy -i bin-x86_64-efi/ipxe.efi.dsk  bin-x86_64-efi/ipxe.efi ::EFI/BOOT/BOOTX64.EFI
+    mcopy -i bin-x86_64-efi/snp.efi.dsk  bin-x86_64-efi/snp.efi ::EFI/BOOT/BOOTX64.EFI
+  args:
+    chdir: "{{ ipxe_source_dir }}/src"
+
 - name: Copy iPXE EFI builds to http directory
   ansible.builtin.copy:
     src: "{{ ipxe_source_dir }}/src/{{ item.src }}"
@@ -60,3 +72,5 @@
     - {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"}
+    - {src: "bin-x86_64-efi/ipxe.efi.dsk", dest: "{{ bootloader_filename }}.efi.dsk"}
+    - {src: "bin-x86_64-efi/snp.efi.dsk", dest: "{{ bootloader_filename }}-snp.efi.dsk"}

+ 7 - 0
roles/netbootxyz/templates/local-vars.ipxe.j2

@@ -8,3 +8,10 @@
 # Please note that this variable is always read from the local-vars.ipxe onb the tftp server the root DHCP provided
 # If the variable isn't present at runtime, the user will be queried to press a key to boot from the proxy DHCP prtovided ftfp server
 #set use_proxydhcp_settings true
+
+### Media Locations for Licensed Distros
+#set rhel_base_url http://my_rhel_mirror/rhel/
+#set win_base_url http://my_windows_mirror/windows/
+
+### Sets the local live endpoint for the users local installation
+#set live_endpoint http://my_ip_address:8080

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

@@ -20,8 +20,8 @@ menu ${fg_cya}${bold}About netboot.xyz (Version: ${version})
 item exit ${bold}Exit back to main menu...${boldoff}
 item --gap --  ${fg_whi}${bold}--Thanks------------------------------------------------------------------
 item about ${fg_gre}${bold}Thanks for your support and let us know how we can improve!
-item --gap --  ${fg_whi}${bold}--Twitter-----------------------------------------------------------------
-item about ${fg_cya}${bold}Follow us on Twitter: ${fg_whi}${bold}@netbootxyz
+item --gap --  ${fg_whi}${bold}--X-----------------------------------------------------------------------
+item about ${fg_cya}${bold}Follow us on X: ${fg_whi}${bold}@netbootxyz
 item --gap --  ${fg_whi}${bold}--Discord-----------------------------------------------------------------
 item about ${fg_mag}${bold}Join us on Discord: ${fg_whi}${bold}https://discord.gg/An6PA2a
 item --gap --  ${fg_whi}${bold}--Sponsorship-------------------------------------------------------------

+ 2 - 9
roles/netbootxyz/templates/menu/boot.cfg.j2

@@ -10,8 +10,8 @@ set boot_domain {{ boot_domain }}
 # set location of memdisk
 set memdisk {{ memdisk_location }}
 
-# set location of custom netboot.xyz live assets
-set live_endpoint {{ live_endpoint }}
+# set location of custom netboot.xyz live assets, override in local-vars.ipxe
+isset ${live_endpoint} || set live_endpoint {{ live_endpoint }}
 
 # signature check enabled?
 set sigs_enabled {{ sigs_enabled | default(false) | bool | lower }}
@@ -25,13 +25,6 @@ iseq ${platform} efi && set ipxe_disk netboot.xyz-snponly.efi || set ipxe_disk n
 # set default boot timeout
 set boot_timeout {{ boot_timeout }}
 
-######################################
-# Media Locations for Licensed Distros
-######################################
-
-set rhel_base_url {{ rhel_base_url | default("") }}
-set win_base_url {{ win_base_url | default("") }}
-
 ##################
 # official mirrors
 ##################

+ 1 - 0
roles/netbootxyz/templates/menu/live-arm.ipxe.j2

@@ -6,6 +6,7 @@ goto ${menu} ||
 menu Live Boot Distributions - Current Arch [ ${arch} ]
 item --gap Live Boot Distributions
 item live-fedora ${space} Fedora
+item live-grml ${space} Grml
 choose menu || goto live_exit
 echo ${cls}
 goto ${menu} ||

+ 5 - 3
roles/netbootxyz/templates/menu/grml.ipxe.j2 → roles/netbootxyz/templates/menu/live-grml.ipxe.j2

@@ -4,20 +4,22 @@ goto ${menu} ||
 
 :live_menu
 set os Grml
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch amd64 ||
+iseq ${os_arch} arm64 && set os_arch arm64 ||
 menu ${os} - Current Arch [ ${arch} ]
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "grml" %}
-item {{ value.version }}-{{ value.flavor }} ${space} ${os} {{ value.version }} {{ value.flavor }}
+iseq ${os_arch} {{ value.arch }} && item {{ value.version }}-{{ value.flavor }}-{{ value.arch }} ${space} ${os} {{ value.version }} {{ value.flavor }} - {{ value.arch }} ||
 {% endif %}
 {% endfor %}
 choose live_version || goto live_exit
 goto ${live_version}
 
-
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "grml" %}
-:{{ value.version }}-{{ value.flavor }}
+:{{ value.version }}-{{ value.flavor }}-{{ value.arch }}
 set squash_url ${live_endpoint}{{ value.path }}filesystem.squashfs
 set kernel_url ${live_endpoint}{{ value.path }}
 goto boot

+ 1 - 0
roles/netbootxyz/templates/menu/live.ipxe.j2

@@ -17,6 +17,7 @@ item live-fatdog ${space} Fatdog64
 item live-fedora ${space} Fedora
 item live-feren ${space} Feren OS
 item live-garuda ${space} Garuda Linux
+item live-grml ${space} Grml
 item live-hrmpf ${space} hrmpf
 item live-k3os ${space} K3OS
 item live-kali ${space} Kali

+ 2 - 0
roles/netbootxyz/templates/menu/utils-arm.ipxe.j2

@@ -20,7 +20,9 @@ goto utils_exit
 :{{ key }}
 imgfree
 kernel {{ value.kernel }}
+{% if value.initrd is defined and value.initrd %}
 initrd {{ value.initrd }}
+{% endif %}
 boot
 goto utils_exit
 {% endif %}

+ 1 - 0
roles/netbootxyz/vars/debian.yml

@@ -15,3 +15,4 @@ netbootxyz_packages:
   - syslinux
   - syslinux-common
   - toilet
+  - mtools

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

@@ -15,6 +15,7 @@ netbootxyz_packages:
   - syslinux
   - syslinux-common
   - toilet
+  - mtools
 
 pipxe_packages:
   - acpica-tools

+ 0 - 4
user_overrides.yml

@@ -37,10 +37,6 @@ make_num_jobs: 1
 #  supergrub:
 #    enabled: false
 
-# set licensed media locations in boot.cfg
-# win_base_url:
-# rhel_base_url:
-
 early_menu_enabled: false
 early_menu_contents: |
    ### early menu overrides

+ 1 - 1
version.txt

@@ -1 +1 @@
-2.0.83
+2.0.84