Sfoglia il codice sorgente

Merge pull request #1013 from netbootxyz/development

Release 2.0.49-RC
Antony Messerli 3 anni fa
parent
commit
dfd031c2cb

+ 18 - 1
CHANGELOG.md

@@ -4,7 +4,24 @@ All notable changes to this project will be documented in this file.
 
 ## [Unreleased]
 
-## [2.0.48]
+## [2.0.49]
+#### Added
+- Support for Ubuntu 20.04 Subiquity and up on arm64
+- Added Archlinux 32-bit
+- Added shredos for 32-bit
+- Added systemrescue for 32-bit
+- Added Fedora 35 Beta
+- Added Ubuntu 21.10 Impish Indri Beta
+
+#### Fixes
+- Corrected architecture naming on k3os
+
+#### Changed
+- Split pcbios utilities menu into 32-bit and 64-bit options
+- utilitiespcbios is now utilitiespcbios64 and utilitiespcbios32 for overrides
+- Renamed ubuntu netboot assets to align better with existing branches
+
+## [2.0.48] 2021-09-17
 #### Added
 - Support for Harvester
 - Support for Tails

+ 134 - 51
endpoints.yml

@@ -293,7 +293,7 @@ endpoints:
     flavor: default
     kernel: backbox-6-default-squash
   kde-neon-user:
-    path: /ubuntu-squash/releases/download/20210826-0945-92641c1f/
+    path: /ubuntu-squash/releases/download/20210923-0947-92641c1f/
     files:
     - vmlinuz
     - filesystem.squashfs
@@ -434,7 +434,7 @@ endpoints:
     flavor: stable
     kernel: clonezilla-ubuntu-stable
   clonezilla-ubuntu-testing:
-    path: /ubuntu-squash/releases/download/20210907-hirsute-18e78f5f/
+    path: /ubuntu-squash/releases/download/20210923-hirsute-18e78f5f/
     files:
     - filesystem.squashfs
     - initrd
@@ -487,7 +487,7 @@ endpoints:
     flavor: lxqt
     kernel: sparky-stable-lxqt
   sparky-rolling-mingui:
-    path: /debian-squash/releases/download/2021.06-46e5b31a/
+    path: /debian-squash/releases/download/2021.09-46e5b31a/
     files:
     - filesystem.squashfs
     - initrd
@@ -497,7 +497,7 @@ endpoints:
     flavor: xfce-min
     kernel: sparky-rolling-mingui
   sparky-rolling-gui:
-    path: /debian-squash/releases/download/2021.06-d6528b1d/
+    path: /debian-squash/releases/download/2021.09-d6528b1d/
     files:
     - filesystem.squashfs
     - initrd
@@ -507,7 +507,7 @@ endpoints:
     flavor: xfce
     kernel: sparky-rolling-gui
   sparky-rolling-lxqt:
-    path: /debian-squash/releases/download/2021.06-c061fbdd/
+    path: /debian-squash/releases/download/2021.09-c061fbdd/
     files:
     - filesystem.squashfs
     - initrd
@@ -637,14 +637,6 @@ endpoints:
     - vmlinuz
     os: rescatux
     version: current
-  systemrescue:
-    path: /asset-mirror/releases/download/8.04-29e43bb5/
-    files:
-    - initrd
-    - vmlinuz
-    - airootfs.sfs
-    os: systemrescue
-    version: current
   caine:
     path: /ubuntu-squash/releases/download/11.0-46b7a6aa/
     files:
@@ -1029,17 +1021,6 @@ endpoints:
     os: fedora
     version: 33
     flavor: MATE_Compiz
-  ubuntu-20.04-netboot:
-    path: /ubuntu-squash/releases/download/20.04.3-c12768fb/
-    files:
-    - filesystem.squashfs
-    - initrd
-    - vmlinuz
-    os: ubuntu
-    version: 20.04.3
-    codename: focal
-    flavor: netboot
-    kernel: ubuntu-20.04-netboot
   hirens:
     path: /asset-mirror/releases/download/v1.0.2-da645fe7/
     files:
@@ -1051,7 +1032,7 @@ endpoints:
     os: hirens
     version: v1.0.2
   vyos-rolling:
-    path: /debian-squash/releases/download/202109160217-fdd40a1c/
+    path: /debian-squash/releases/download/202109240217-fdd40a1c/
     files:
     - filesystem.squashfs
     - initrd
@@ -1155,23 +1136,6 @@ endpoints:
     - vmlinuz
     os: kodachi
     version: '8'
-  shredos:
-    path: /asset-mirror/releases/download/v2020.05.012_x86-64_0.31-fa7b79b5/
-    files:
-    - shredos
-    os: shredos
-    version: current
-  ubuntu-21.04-netboot:
-    path: /ubuntu-squash/releases/download/21.04-a6acbbfe/
-    files:
-    - filesystem.squashfs
-    - initrd
-    - vmlinuz
-    os: ubuntu
-    version: '21.04'
-    codename: hirsute
-    flavor: netboot
-    kernel: ubuntu-21.04-netboot
   ubuntu-21.04-default-squash:
     path: /ubuntu-squash/releases/download/21.04-38565a8b/
     files:
@@ -1413,12 +1377,12 @@ endpoints:
     os: proxmox
     version: 7.0-1
   talos:
-    path: /asset-mirror/releases/download/0.12.1-3f5e10e5/
+    path: /asset-mirror/releases/download/0.12.2-3f5e10e5/
     files:
     - vmlinuz
     - initramfs.xz
     os: talos
-    version: 0.12.1
+    version: 0.12.2
   elementaryos-6-default-squash:
     path: /ubuntu-squash/releases/download/6-c6e63f57/
     files:
@@ -1526,31 +1490,31 @@ endpoints:
     os: memtest86-free
     version: '9.2'
   gentoo-x86:
-    path: /asset-mirror/releases/download/20210913T170555Z-6734abfd/
+    path: /asset-mirror/releases/download/20210923T070656Z-6734abfd/
     files:
     - image.squashfs
     - initrd
     - vmlinuz
     os: gentoo
-    version: 20210913T170555Z
+    version: 20210923T070656Z
     arch: x86
   gentoo-arm64:
-    path: /asset-mirror/releases/download/20210912T235133Z-079d67cf/
+    path: /asset-mirror/releases/download/20210919T222130Z-079d67cf/
     files:
     - image.squashfs
     - initrd
     - vmlinuz
     os: gentoo
-    version: 20210912T235133Z
+    version: 20210919T222130Z
     arch: arm64
   gentoo-amd64:
-    path: /asset-mirror/releases/download/20210912T170541Z-383e823f/
+    path: /asset-mirror/releases/download/20210919T170549Z-383e823f/
     files:
     - image.squashfs
     - initrd
     - vmlinuz
     os: gentoo
-    version: 20210912T170541Z
+    version: 20210919T170549Z
     arch: amd64
   tails:
     path: /asset-mirror/releases/download/4.22-28906ec3/
@@ -1563,10 +1527,129 @@ endpoints:
     version: '4.22'
     arch: amd64
   hrmpf:
-    path: /asset-mirror/releases/download/20210914-75990558/
+    path: /asset-mirror/releases/download/20210914-3cf8e2c5/
     files:
     - vmlinuz
     - initrd
     - squashfs.img
     os: hrmpf
     version: '20210914'
+  ubuntu-netboot-20.04-arm64:
+    path: /ubuntu-squash/releases/download/20.04.3-2c21f29a/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: ubuntu
+    version: 20.04.3
+    codename: focal
+    flavor: netboot
+    kernel: ubuntu-netboot-20.04-arm64
+    arch: arm64
+  ubuntu-netboot-20.04-amd64:
+    path: /ubuntu-squash/releases/download/20.04.3-873839e4/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: ubuntu
+    version: 20.04.3
+    codename: focal
+    flavor: netboot
+    kernel: ubuntu-netboot-20.04-amd64
+    arch: amd64
+  ubuntu-netboot-21.04-amd64:
+    path: /ubuntu-squash/releases/download/21.04-bc3638f3/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: ubuntu
+    version: 21.04
+    codename: hirsute
+    flavor: netboot
+    kernel: ubuntu-netboot-21.04-amd64
+    arch: amd64
+  ubuntu-netboot-21.04-arm64:
+    path: /ubuntu-squash/releases/download/21.04-15aa2439/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: ubuntu
+    version: 21.04
+    codename: hirsute
+    flavor: netboot
+    kernel: ubuntu-netboot-21.04-arm64
+    arch: arm64
+  systemrescue-i686:
+    path: /asset-mirror/releases/download/8.04-c6f1c9ac/
+    files:
+    - airootfs.sfs
+    - initrd
+    - vmlinuz
+    os: systemrescue
+    version: 8.04
+    arch: i686
+  systemrescue-amd64:
+    path: /asset-mirror/releases/download/8.04-df45fd6f/
+    files:
+    - airootfs.sfs
+    - initrd
+    - vmlinuz
+    os: systemrescue
+    version: 8.04
+    arch: amd64
+  shredos-i686:
+    path: /asset-mirror/releases/download/v2020.02.008_i686-0.30.001-024603ac/
+    files:
+    - shredos
+    os: shredos
+    version: v2020.02.008_i686-0.30.001
+    arch: i686
+  shredos-x86_64:
+    path: /asset-mirror/releases/download/v2020.05.012_x86-64_0.31-72b45dbf/
+    files:
+    - shredos
+    os: shredos
+    version: v2020.05.012_x86-64_0.31
+    arch: x86_64
+  archlinux-32:
+    path: /asset-mirror/releases/download/2021.09.01-6dbad0f9/
+    files:
+    - airootfs.sfs
+    - initramfs-linux.img
+    - vmlinuz-linux
+    os: archlinux
+    version: 2021.09.01
+    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
+  ubuntu-netboot-21.10-amd64:
+    path: /ubuntu-squash/releases/download/21.10-565ba3ef/
+    files:
+    - filesystem.squashfs
+    - initrd
+    - vmlinuz
+    os: ubuntu
+    version: '21.10'
+    codename: impish
+    flavor: netboot
+    kernel: ubuntu-netboot-21.10-amd64
+    arch: amd64

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

@@ -144,15 +144,6 @@ releases:
     versions:
     - code_name: 2021.09.01
       name: 2021.09.01
-  archlinux-32:
-    base_dir: pub/archlinux32
-    enabled: true
-    menu: linux
-    mirror: mirror.math.princeton.edu
-    name: Arch Linux 32-bit
-    versions:
-    - code_name: 2021.09.01
-      name: 2021.09.01
   blackarch:
     enabled: true
     menu: linux
@@ -182,11 +173,11 @@ releases:
     mirror: https://builds.coreos.fedoraproject.org
     name: Fedora CoreOS
     versions:
-    - code_name: 34.20210821.3.0
+    - code_name: 34.20210904.3.0
       name: stable
-    - code_name: 34.20210904.2.0
+    - code_name: 34.20210919.2.0
       name: testing
-    - code_name: 34.20210904.1.0
+    - code_name: 35.20210924.1.0
       name: next
   debian:
     archive_mirror: http://archive.debian.org
@@ -232,12 +223,12 @@ releases:
     mirror: http://mirrors.kernel.org
     name: Fedora
     versions:
+    - code_name: 35_Beta
+      name: 35_Beta
     - code_name: 34
       name: 34
     - code_name: 33
       name: 33
-    - code_name: 32
-      name: 32
   flatcar:
     enabled: true
     menu: linux
@@ -452,14 +443,14 @@ releases:
     mirror: https://netboot.joyent.com/os/
     name: SmartOS
     versions:
+    - code_name: 20210923T003059Z
+      name: 20210923T003059Z
     - code_name: 20210909T065923Z
       name: 20210909T065923Z
     - code_name: 20210909T002651Z
       name: 20210909T002651Z
     - code_name: 20210826T002459Z
       name: 20210826T002459Z
-    - code_name: 20210812T031946Z
-      name: 20210812T031946Z
   talos:
     enabled: true
     menu: linux
@@ -594,6 +585,8 @@ releases:
     mirror: http://archive.ubuntu.com
     name: Ubuntu
     versions:
+    - code_name: impish
+      name: 21.10 Impish Indri
     - code_name: hirsute
       name: 21.04 Hirsute Hippo
     - code_name: focal
@@ -704,7 +697,22 @@ utilitiesefi:
     enabled: true
     name: System Rescue CD
     type: ipxemenu
-utilitiespcbios:
+utilitiespcbios32:
+  memtest:
+    enabled: true
+    name: Memtest
+    type: memtest
+    util_path: https://boot.netboot.xyz/utils/memtest86-5.01.0
+    version: 5.01.0
+  shredos:
+    enabled: true
+    name: ShredOS
+    type: ipxemenu
+  systemrescue:
+    enabled: true
+    name: System Rescue CD
+    type: ipxemenu
+utilitiespcbios64:
   4mlinux:
     enabled: true
     name: 4MLinux

+ 18 - 8
roles/netbootxyz/tasks/generate_menus.yml

@@ -9,18 +9,28 @@
       releases: "{{ _releases }}"
     when: release_overrides is defined
 
-    # PC BIOS utilities
-  - name: Combine overrides with utilitiespcbios defaults
+  # PC BIOS utilities
+  - name: Combine overrides with utilitiespcbios64 defaults
     set_fact:
-      _utilitiespcbios: "{{ utilitiespcbios|combine(utilitiespcbios_overrides, recursive=True) }}"
-    when: utilitiespcbios_overrides is defined
+      _utilitiespcbios64: "{{ utilitiespcbios64|combine(utilitiespcbios64_overrides, recursive=True) }}"
+    when: utilitiespcbios64_overrides is defined
 
-  - name: Set utilitypcbios with user overrides
+  - name: Set utilitypcbios64 with user overrides
     set_fact:
-      utilitiespcbios: "{{ _utilitiespcbios }}"
-    when: utilitiespcbios_overrides is defined
+      utilitiespcbios64: "{{ _utilitiespcbios64 }}"
+    when: utilitiespcbios64_overrides is defined
 
-    # EFI utilities
+  - name: Combine overrides with utilitiespcbios32 defaults
+    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
+
+  # EFI utilities
   - name: Combine overrides with utilitiesefi defaults
     set_fact:
       _utilitiesefi: "{{ utilitiesefi|combine(utilitiesefi_overrides, recursive=True) }}"

+ 24 - 4
roles/netbootxyz/templates/menu/archlinux.ipxe.j2

@@ -5,6 +5,9 @@
 
 isset ${dhcp-server} || goto static_ip
 set ipparam BOOTIF=${netX/mac} ip=dhcp
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch x86_64 ||
+iseq ${os_arch} i386 && set os_arch i686 ||
 set real_archlinux_mirror ${archlinux_mirror}
 goto goto_menu
 
@@ -27,14 +30,31 @@ item --gap Latest Releases
 item {{ item.code_name }} ${space} ${os} {{ item.name }}
 {% endfor %}
 choose arch_version || goto archlinux_exit
-goto boot
+iseq ${os_arch} amd64 && goto boot ||
+iseq ${os_arch} i686 && goto boot32 ||
 
 :boot
 imgfree
 set dir ${archlinux_base_dir}/iso/${arch_version}/arch/boot
-set params initrd=initramfs-linux.img archiso_http_srv=http://${real_archlinux_mirror}/${archlinux_base_dir}/iso/${arch_version}/ archisobasedir=arch verify=y ${ipparam} net.ifnames=0 ${cmdline}
-kernel http://${archlinux_mirror}/${dir}/x86_64/vmlinuz-linux ${params} {{ kernel_params }}
-initrd http://${archlinux_mirror}/${dir}/x86_64/initramfs-linux.img
+set params archiso_http_srv=http://${real_archlinux_mirror}/${archlinux_base_dir}/iso/${arch_version}/ archisobasedir=arch verify=y ${ipparam} net.ifnames=0 {{ kernel_params }}
+kernel http://${archlinux_mirror}/${dir}/${os_arch}/vmlinuz-linux ${params}
+initrd http://${archlinux_mirror}/${dir}/${os_arch}/initramfs-linux.img
+echo
+echo MD5sums:
+md5sum vmlinuz-linux initramfs-linux.img
+boot
+goto archlinux_exit
+
+:boot32
+{% for key, value in endpoints.items() | sort %}
+{% if key == "archlinux-32" %}
+set arch32_url ${live_endpoint}{{ value.path }}
+{% endif %}
+{% endfor %}
+imgfree
+set params archiso_http_srv=${arch32_url} archisobasedir=arch checksum=y ${ipparam} net.ifnames=0 {{ kernel_params }}
+kernel ${arch32_url}vmlinuz-linux ${ipparam} ${params}
+initrd ${arch32_url}initramfs-linux.img
 echo
 echo MD5sums:
 md5sum vmlinuz-linux initramfs-linux.img

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

@@ -34,6 +34,7 @@ item Server ${ova} Server
 iseq ${os_arch} x86_64 && item Silverblue ${ova} Silverblue ||
 isset ${sku_type} || choose sku_type || goto fedora
 set dir ${fedora_base_dir}/releases/${osversion}/${sku_type}/${os_arch}/os
+iseq ${osversion} 35_Beta && set dir ${fedora_base_dir}/releases/test/${osversion}/${sku_type}/${os_arch}/os ||
 iseq ${osversion} rawhide && set dir ${fedora_base_dir}/development/${osversion}/${sku_type}/${os_arch}/os ||
 set ova ${ova} ${sku_type}
 echo ${cls}

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

@@ -9,7 +9,7 @@ goto ${menu} ||
 :k3os
 set os {{ releases.k3os.name }}
 set os_arch ${arch}
-iseq ${os_arch} x86_64 && set os_arch x86_64 ||
+iseq ${os_arch} x86_64 && set os_arch amd64 ||
 set k3os_mirror {{ releases.k3os.mirror }}
 isset ${k3os_version} || set k3os_version latest
 isset ${k3os_install_device} || set k3os_install_device /dev/sda

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

@@ -13,6 +13,7 @@ item gentoo ${space} Gentoo
 item fedora ${space} Fedora
 item rhel ${space} Red Hat Enterprise Linux
 item rockylinux ${space} Rocky Linux
+item ubuntu ${space} Ubuntu
 choose menu || goto linux_exit
 echo ${cls}
 goto ${menu} ||

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

@@ -5,6 +5,7 @@ goto ${menu} ||
 :linux_menu
 menu Linux Installers - Current Arch [ ${arch} ]
 item --gap Popular Linux Operating Systems:
+item archlinux ${space} Arch Linux
 item alpinelinux ${space} Alpine Linux
 item debian ${space} Debian
 item gentoo ${space} Gentoo

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

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

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

@@ -56,8 +56,10 @@ iseq ${menu_unix} 1 && item unix ${space} Unix Network Installs ||
 iseq ${menu_freedos} 1 && item freedos ${space} FreeDOS ||
 iseq ${menu_windows} 1 && item windows ${space} Windows ||
 item --gap Tools:
-iseq ${menu_utils} 1 && item utils-${platform} ${space} Utilities ||
-iseq ${menu_utils_arm} 1 && item utils-arm ${space} Utilities ||
+iseq ${menu_utils} 1 && iseq ${platform} efi && item utils-efi ${space} Utilities (UEFI) ||
+iseq ${menu_utils} 1 && iseq ${platform} pcbios && iseq ${arch} x86_64 && item utils-pcbios-64 ${space} Utilities (64-bit) ||
+iseq ${menu_utils} 1 && iseq ${platform} pcbios && iseq ${arch} i386 && item utils-pcbios-32 ${space} Utilities (32-bit) ||
+iseq ${menu_utils_arm} 1 && item utils-arm ${space} Utilities (arm64) ||
 item change_arch ${space} Architecture: ${arch}
 item shell ${space} iPXE shell
 item netinfo ${space} Network card info

+ 12 - 3
roles/netbootxyz/templates/menu/shredos.ipxe.j2

@@ -3,8 +3,10 @@
 goto ${menu} ||
 
 :shredos
-menu ShredOS {{ endpoints.shredos.version }} 
-set kernel_url ${live_endpoint}{{ endpoints.shredos.path }}shredos
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch x86_64 ||
+iseq ${os_arch} i386 && set os_arch i686 ||
+menu ShredOS
 item --gap THIS SOFTWARE DESTROYS DATA
 item --gap EVERY BOOT OPTION IS DESTRUCTIVE
 item --gap DO NOT PROCEED IF YOU DO NOT KNOW WHAT THIS IS
@@ -15,7 +17,14 @@ goto ${menu}
 
 :shredos_options
 clear menu
-menu ShredOS {{ endpoints.shredos.version }}
+clear shredos_version
+{% for key, value in endpoints.items() | sort %}
+{% if value.os == "shredos" %}
+iseq ${os_arch} {{ value.arch }} && set kernel_url ${live_endpoint}{{ value.path }}shredos ||
+set shredos_version {{ value.version }}
+{% endif %}
+{% endfor %}
+menu ShredOS ${shredos_version}
 item --gap Choose a wipe method:
 item dodshort ${space} Wipe all disks with the short DoD 5220.22-M method
 item dod522022m ${space} Wipe all disks with the DoD 5220.22-M method

+ 5 - 2
roles/netbootxyz/templates/menu/systemrescue.ipxe.j2

@@ -4,12 +4,15 @@ goto ${menu} ||
 
 :live_menu
 set os System Rescue
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch amd64 ||
+iseq ${os_arch} i386 && set os_arch i686 ||
 menu ${os}
 set ipparam BOOTIF=${netX/mac} ip=dhcp net.ifnames=0
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "systemrescue" %}
-item {{ value.version }} ${space} ${os} {{ value.version }}
+iseq ${os_arch} {{ value.arch }} && item {{ value.version }}_${os_arch} ${space} ${os} {{ value.version }} ||
 {% endif %}
 {% endfor %}
 choose live_version || goto live_exit
@@ -17,7 +20,7 @@ goto ${live_version}
 
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "systemrescue" %}
-:{{ value.version }}
+:{{ value.version }}_{{ value.arch }}
 set url ${live_endpoint}{{ value.path }}
 goto boot
 

+ 11 - 4
roles/netbootxyz/templates/menu/ubuntu.ipxe.j2

@@ -9,6 +9,7 @@ goto ${menu}
 set os Ubuntu
 set os_arch ${arch}
 iseq ${os_arch} x86_64 && set os_arch amd64 ||
+iseq ${os_arch} arm64 && set os_arch arm64 ||
 clear ubuntu_version
 clear install_type
 clear older_release
@@ -26,8 +27,10 @@ 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} 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 ||
 goto mirrorcfg
 
 :older_release
@@ -75,11 +78,11 @@ goto deb_install
 
 :deb_install
 iseq ${install_type} deb && goto deb_boot ||
-iseq ${install_type} sub && goto ${ubuntu_version} ||
+iseq ${install_type} sub && goto ${ubuntu_version}_${os_arch} ||
 
 :deb_boot
 echo Loading Ubuntu PXE netboot installer
-set dir ${dir}${menu}-installer/${os_arch}
+set dir ${dir}ubuntu-installer/${os_arch}
 imgfree
 kernel ${ubuntu_mirror}/${dir}/linux ${install_params} ${mirrorcfg} {{ kernel_params }}
 initrd ${ubuntu_mirror}/${dir}/initrd.gz
@@ -91,7 +94,7 @@ boot
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "ubuntu" and 'netboot' in key %}
 {% set kernel_name = value.kernel %}
-:{{ value.codename }}
+:{{ value.codename }}_{{ value.arch }}
 {% for key, value in endpoints.items() | sort %}
 {% if key == kernel_name %}
 set kernel_url ${live_endpoint}{{ value.path }}
@@ -105,7 +108,11 @@ goto sub_boot
 
 :sub_boot
 imgfree
-isset ${dhcp-server} && set netboot_params ip=dhcp url=http://releases.ubuntu.com/${codename}/ubuntu-${version_number}-live-server-${os_arch}.iso || set netboot_params
+iseq ${os_arch} amd64 && set ubuntu_iso_url http://releases.ubuntu.com/${codename}/ubuntu-${version_number}-live-server-${os_arch}.iso ||
+iseq ${os_arch} arm64 && set ubuntu_iso_url http://cdimage.ubuntu.com/releases/${version_number}/release/ubuntu-${version_number}-live-server-${os_arch}.iso ||
+iseq ${codename} impish && iseq ${os_arch} amd64 && set ubuntu_iso_url http://releases.ubuntu.com/impish/ubuntu-21.10-beta-live-server-amd64.iso ||
+iseq ${codename} impish && iseq ${os_arch} arm64 && set ubuntu_iso_url https://cdimage.ubuntu.com/releases/21.10/beta/ubuntu-21.10-beta-live-server-arm64.iso ||
+isset ${dhcp-server} && set netboot_params ip=dhcp url=${ubuntu_iso_url} || set netboot_params
 echo Loading Ubuntu Subiquity Network Installer...
 kernel ${kernel_url}vmlinuz root=/dev/ram0 ramdisk_size=1500000 ${netboot_params} ${install_params} {{ kernel_params }}
 initrd ${kernel_url}initrd

+ 4 - 4
roles/netbootxyz/templates/menu/utils-pcbios.ipxe.j2 → roles/netbootxyz/templates/menu/utils-pcbios-32.ipxe.j2

@@ -3,7 +3,7 @@
 :utils_menu
 menu Utilities
 item --gap Utilities:
-{% for key, value in utilitiespcbios.items() | sort(attribute='1.name') %}
+{% for key, value in utilitiespcbios32.items() | sort(attribute='1.name') %}
 {% if value.enabled %}
 item {{ key }} ${space} {{ value.name }}
 {% endif %}
@@ -20,7 +20,7 @@ goto ${menu} ||
 chain ${menu}.ipxe || goto utils_exit
 goto utils_exit
 
-{% for key, value in utilitiespcbios.items() | sort %}
+{% for key, value in utilitiespcbios32.items() | sort %}
 {% if value.enabled | bool and value.type == "memdisk" %}
 :{{ key }}
 set util_path {{ value.util_path }}
@@ -30,7 +30,7 @@ goto boot_{{ value.type }}
 {% endif %}
 {% endfor %}
 
-{% for key, value in utilitiespcbios.items() | sort %}
+{% for key, value in utilitiespcbios32.items() | sort %}
 {% if value.enabled | bool and value.type == "direct" %}
 :{{ key }}
 imgfree
@@ -62,7 +62,7 @@ goto utils_menu
 
 :memtest
 imgfree
-kernel {{ utilitiespcbios.memtest.util_path }}
+kernel {{ utilitiespcbios32.memtest.util_path }}
 boot
 goto utils_menu
 

+ 97 - 0
roles/netbootxyz/templates/menu/utils-pcbios-64.ipxe.j2

@@ -0,0 +1,97 @@
+#!ipxe
+
+:utils_menu
+menu Utilities
+item --gap Utilities:
+{% for key, value in utilitiespcbios64.items() | sort(attribute='1.name') %}
+{% if value.enabled %}
+item {{ key }} ${space} {{ value.name }}
+{% endif %}
+{% endfor %}
+item --gap netboot.xyz tools:
+item cmdline ${space} Kernel cmdline params: [${cmdline}]
+item nbxyz_custom_url ${space} Set custom menu [url: ${custom_url}]
+item nbxyz_custom_github ${space} Set Github username [user: ${github_user}]
+item testdistro ${space} Test Distribution ISO
+item nbxyz ${space} netboot.xyz endpoints
+choose --default ${menu} menu || goto utils_exit
+echo ${cls}
+goto ${menu} ||
+chain ${menu}.ipxe || goto utils_exit
+goto utils_exit
+
+{% for key, value in utilitiespcbios64.items() | sort %}
+{% if value.enabled | bool and value.type == "memdisk" %}
+:{{ key }}
+set util_path {{ value.util_path }}
+set util_file {{ value.util_path | basename }}
+set util_version {{ value.version }}
+goto boot_{{ value.type }}
+{% endif %}
+{% endfor %}
+
+{% for key, value in utilitiespcbios64.items() | sort %}
+{% if value.enabled | bool and value.type == "direct" %}
+:{{ key }}
+imgfree
+kernel {{ value.kernel }}
+initrd {{ value.initrd }}
+boot
+goto utils_exit
+{% endif %}
+{% endfor %}
+
+:boot_memdisk
+imgfree
+kernel ${memdisk} iso raw
+initrd --name ${util_file} ${util_path}
+echo
+echo MD5sums:
+md5sum memdisk ${util_file}
+boot
+goto utils_exit
+
+:cmdline
+echo If you want to change the default kernel command line parameters
+echo you can override the defaults here.
+echo
+echo Currently set to: ${cmdline}
+echo
+echo -n Enter cmdline parameters: ${} && read cmdline
+goto utils_menu
+
+:memtest
+imgfree
+kernel {{ utilitiespcbios64.memtest.util_path }}
+boot
+goto utils_menu
+
+:nbxyz_custom_url
+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 It will look for custom.ipxe in that path as the entry point.
+echo
+echo -n Please enter your custom http url here: ${} && read custom_url
+goto utils_menu
+
+:nbxyz_custom_github
+echo Make sure you have a fork of https://github.com/netbootxyz/netboot.xyz-custom.
+echo You can then customize your fork as needed and set up your own custom options.
+echo Once your username is set, a custom option will appear on the main menu.
+echo
+echo -n Please enter your Github username: ${} && read github_user
+goto utils_menu
+
+:testdistro
+echo This option will allow you to test booting an ISO using memdisk. Please
+echo specify the URL of the ISO you want to test and it will automatically
+echo attempt to load the ISO using memdisk.
+echo -n URL: ${} && read distro_iso
+kernel ${memdisk} iso raw
+initrd ${distro_iso}
+boot
+goto utils_menu
+
+:utils_exit
+clear menu
+exit 0

+ 1 - 1
user_overrides.yml

@@ -32,7 +32,7 @@ generate_local_vars: true
 #    enabled: false
 
 # set utilities_overrides from standard netboot.xyz defaults for PC BIOS utilities
-#utilitiespcbios_overrides:
+#utilitiespcbios64_overrides:
 #  supergrub:
 #    enabled: false
 

+ 1 - 1
version.txt

@@ -1 +1 @@
-2.0.48
+2.0.49