Browse Source

Merge pull request #973 from netbootxyz/development

Release 2.0.45-RC
Antony Messerli 3 years ago
parent
commit
8ab1cb0f93
70 changed files with 329 additions and 359 deletions
  1. 5 8
      .github/ISSUE_TEMPLATE/bug_report.md
  2. 5 5
      .github/ISSUE_TEMPLATE/feature_request.md
  3. 105 91
      CHANGELOG.md
  4. 1 1
      Dockerfile-build
  5. 1 1
      Dockerfile-build.production
  6. 17 37
      endpoints.yml
  7. 12 14
      roles/netbootxyz/defaults/main.yml
  8. 0 2
      roles/netbootxyz/templates/menu/4mlinux.ipxe.j2
  9. 6 3
      roles/netbootxyz/templates/menu/almalinux.ipxe.j2
  10. 6 3
      roles/netbootxyz/templates/menu/alpinelinux.ipxe.j2
  11. 12 2
      roles/netbootxyz/templates/menu/boot.cfg.j2
  12. 1 10
      roles/netbootxyz/templates/menu/bsd.ipxe.j2
  13. 7 4
      roles/netbootxyz/templates/menu/centos.ipxe.j2
  14. 1 2
      roles/netbootxyz/templates/menu/clonezilla.ipxe.j2
  15. 9 5
      roles/netbootxyz/templates/menu/debian.ipxe.j2
  16. 5 4
      roles/netbootxyz/templates/menu/devuan.ipxe.j2
  17. 1 2
      roles/netbootxyz/templates/menu/endeavouros.ipxe.j2
  18. 11 7
      roles/netbootxyz/templates/menu/fedora.ipxe.j2
  19. 0 1
      roles/netbootxyz/templates/menu/gentoo.ipxe.j2
  20. 0 1
      roles/netbootxyz/templates/menu/gparted.ipxe.j2
  21. 0 1
      roles/netbootxyz/templates/menu/grml.ipxe.j2
  22. 7 5
      roles/netbootxyz/templates/menu/k3os.ipxe.j2
  23. 5 3
      roles/netbootxyz/templates/menu/kali.ipxe.j2
  24. 1 2
      roles/netbootxyz/templates/menu/kaspersky.ipxe.j2
  25. 4 9
      roles/netbootxyz/templates/menu/linux-arm.ipxe.j2
  26. 26 0
      roles/netbootxyz/templates/menu/linux-i386.ipxe.j2
  27. 0 1
      roles/netbootxyz/templates/menu/linux.ipxe.j2
  28. 0 1
      roles/netbootxyz/templates/menu/live-arm.ipxe.j2
  29. 1 2
      roles/netbootxyz/templates/menu/live-backbox.ipxe.j2
  30. 1 2
      roles/netbootxyz/templates/menu/live-bluestar.ipxe.j2
  31. 1 2
      roles/netbootxyz/templates/menu/live-bodhi.ipxe.j2
  32. 1 2
      roles/netbootxyz/templates/menu/live-debian.ipxe.j2
  33. 1 2
      roles/netbootxyz/templates/menu/live-deepin.ipxe.j2
  34. 1 2
      roles/netbootxyz/templates/menu/live-devuan.ipxe.j2
  35. 1 2
      roles/netbootxyz/templates/menu/live-elementary.ipxe.j2
  36. 1 2
      roles/netbootxyz/templates/menu/live-endeavouros.ipxe.j2
  37. 1 2
      roles/netbootxyz/templates/menu/live-fatdog.ipxe.j2
  38. 1 2
      roles/netbootxyz/templates/menu/live-fedora.ipxe.j2
  39. 1 2
      roles/netbootxyz/templates/menu/live-feren.ipxe.j2
  40. 5 4
      roles/netbootxyz/templates/menu/live-k3os.ipxe.j2
  41. 1 2
      roles/netbootxyz/templates/menu/live-kali.ipxe.j2
  42. 1 2
      roles/netbootxyz/templates/menu/live-kodachi.ipxe.j2
  43. 1 2
      roles/netbootxyz/templates/menu/live-lite.ipxe.j2
  44. 1 2
      roles/netbootxyz/templates/menu/live-lxle.ipxe.j2
  45. 3 4
      roles/netbootxyz/templates/menu/live-manjaro.ipxe.j2
  46. 1 2
      roles/netbootxyz/templates/menu/live-mint.ipxe.j2
  47. 1 2
      roles/netbootxyz/templates/menu/live-neon.ipxe.j2
  48. 1 2
      roles/netbootxyz/templates/menu/live-nitrux.ipxe.j2
  49. 1 2
      roles/netbootxyz/templates/menu/live-parrot.ipxe.j2
  50. 1 2
      roles/netbootxyz/templates/menu/live-peppermint.ipxe.j2
  51. 1 12
      roles/netbootxyz/templates/menu/live-popos.ipxe.j2
  52. 1 2
      roles/netbootxyz/templates/menu/live-q4os.ipxe.j2
  53. 1 2
      roles/netbootxyz/templates/menu/live-raizo.ipxe.j2
  54. 1 2
      roles/netbootxyz/templates/menu/live-regolith.ipxe.j2
  55. 1 2
      roles/netbootxyz/templates/menu/live-septor.ipxe.j2
  56. 1 2
      roles/netbootxyz/templates/menu/live-sparky.ipxe.j2
  57. 1 12
      roles/netbootxyz/templates/menu/live-ubuntu.ipxe.j2
  58. 1 2
      roles/netbootxyz/templates/menu/live-voyager.ipxe.j2
  59. 1 2
      roles/netbootxyz/templates/menu/live-zorin.ipxe.j2
  60. 0 1
      roles/netbootxyz/templates/menu/live.ipxe.j2
  61. 8 9
      roles/netbootxyz/templates/menu/menu.ipxe.j2
  62. 4 7
      roles/netbootxyz/templates/menu/openbsd.ipxe.j2
  63. 6 3
      roles/netbootxyz/templates/menu/opensuse.ipxe.j2
  64. 1 2
      roles/netbootxyz/templates/menu/oracle.ipxe.j2
  65. 8 11
      roles/netbootxyz/templates/menu/rhel.ipxe.j2
  66. 6 3
      roles/netbootxyz/templates/menu/rockylinux.ipxe.j2
  67. 1 2
      roles/netbootxyz/templates/menu/systemrescue.ipxe.j2
  68. 8 7
      roles/netbootxyz/templates/menu/ubuntu.ipxe.j2
  69. 1 2
      roles/netbootxyz/templates/menu/unix.ipxe.j2
  70. 1 1
      version.txt

+ 5 - 8
.github/ISSUE_TEMPLATE/bug_report.md

@@ -2,26 +2,23 @@
 name: Bug report
 about: Create a report to help us improve
 title: ''
-labels: ''
+labels: 'bug'
 assignees: ''
 
 ---
 
 **Describe the bug**
-A clear and concise description of what the bug is.
+<!-- A clear and concise description of what the bug is. -->
 
 **To Reproduce**
 Steps to reproduce the behavior:
 1. Go to '...'
-2. Click on '....'
-3. Scroll down to '....'
-4. See error
 
 **Expected behavior**
-A clear and concise description of what you expected to happen.
+<!-- A clear and concise description of what the bug is. -->
 
 **Screenshots**
-If applicable, add screenshots to help explain your problem.
+<!-- If applicable, add screenshots to help explain your problem. -->
 
 **Additional context**
-Add any other context about the problem here.
+<!-- Add any other context about the problem here. -->

+ 5 - 5
.github/ISSUE_TEMPLATE/feature_request.md

@@ -2,19 +2,19 @@
 name: Feature request
 about: Suggest an idea for this project
 title: ''
-labels: ''
+labels: 'enhancement'
 assignees: ''
 
 ---
 
 **Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
+<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
 
 **Describe the solution you'd like**
-A clear and concise description of what you want to happen.
+<!-- A clear and concise description of what you want to happen. -->
 
 **Describe alternatives you've considered**
-A clear and concise description of any alternative solutions or features you've considered.
+<!-- A clear and concise description of any alternative solutions or features you've considered. -->
 
 **Additional context**
-Add any other context or screenshots about the feature request here.
+<!-- Add any other context or screenshots about the feature request here. -->

+ 105 - 91
CHANGELOG.md

@@ -4,21 +4,35 @@ All notable changes to this project will be documented in this file.
 
 ## [Unreleased]
 
-## [2.0.44]
-### Added
+## [2.0.45] - 2021-08-29
+#### Added
+- Created a seperate menu for supported 32-bit Operating Systems
+- Enables utility menu for Packet non EFI
+- Updated arm menu
+
+#### Fixes
+- Refactor of architecture checks, better support for i386 and arch distros
+- Arm64 and i386 options work now
+- Added kernel_params for console overrides to utility images
+
+#### Changed
+- Dropped some older EOL distros
+
+## [2.0.44] - 2021-08-24
+#### Added
 - Enables utility menu for Packet EFI
 - Added Debian 11 Live Builds
 - Adds Param command to iPXE builds
 - Adds next-server and version info when booted locally
 
-### Fixes
+#### Fixes
 - Fixes console issues for Ubuntu and Debian on Packet
 
-### Changes
+#### Changes
 - Updates to Voyager menu to let it be more dynamic
 
-## [2.0.43]
-### Added
+## [2.0.43] - 2021-08-19
+##### Added
 - Adds Proxmox VE
 - Adds Zorin 16
 - Adds Elementary OS 6
@@ -26,237 +40,237 @@ All notable changes to this project will be documented in this file.
 - Adds ability to change install priority on Ubuntu Legacy
 - Adds a toggle for enabling local-vars.ipxe
 
-### Fixes
+#### Fixes
 - Adjustments to index.html template, adds description
 - Readme tweaks for new site
 
-## [2.0.42]
-### Added
+## [2.0.42] - 2021-08-01
+#### Added
 - Debian 11 (Bullseye) ahead of release
 
-### Fixes
+#### Fixes
 - Gentoo more reliable, switches to initrd.magic to avoid modifying initrd
 - Fixes to Mint menu to populate options correctly
 - Cosmetic fixes to index.html.j2 tables
 
-## [2.0.41]
-### Added
+## [2.0.41] - 2021-07-08
+#### Added
 - Adds support for openEuler
 - Adds ping command to iPXE build
 
-### Fixes
+#### Fixes
 - NixOS working again, using images and iPXE configs that are generated upstream
 
-### Changes
+#### Changes
 - Use non https repo for almalinux
 - Switch to using initrd.magic (https://github.com/ipxe/ipxe/commit/e5f02551735922eb235388bff08249a6f31ded3d)
 - Moves initrd= and cmdline values to single kernel parameter in Ansible
 
-## [2.0.40]
-### Added
+## [2.0.40] - 2021-06-12
+#### Added
 - Adds support for VMware ESXi with user supplied media
 
-## [2.0.39]
-### Added
+## [2.0.39] - 2021-05-15
+#### Added
 - Enabled gzip and zlib support on iPXE binaries
-### Fixes
+#### Fixes
 - Check for legacy undionly filename if running menu locally
 
-## [2.0.38]
-### Added
+## [2.0.38] - 2021-05-02
+#### Added
 - Fedora 34 and Live Versions
 - Redo Rescue
 - Rescuezilla
 - Rocky Linux
 
-### Changed
+#### Changed
 - Switched to using upstream genfsimg for building hybrid images
 - Merged Legacy and EFI disks into single image for USB and ISOs
 - Can now use autoexec.ipxe on the root of a USB key to inject variables or modify the starting bootloader
 - Renamed USB disk from .usb to .img
 
-## [2.0.37]
-### Added
+## [2.0.37] - 2021-04-25
+#### Added
 - Ubuntu 21.04 Installer and Live Versions
-### Fixes
+#### Fixes
 - Version number variable tweaks
 
-## [2.0.36]
-### Added
+## [2.0.36] - 2021-04-18
+#### Added
 - Support for ShredOS
 
-## [2.0.35]
-### Added
+## [2.0.35] - 2021-04-02
+#### Added
 - Support for EndeavourOS
 
-## [2.0.34]
-### Added
+## [2.0.34] - 2021-03-13
+#### Added
 - Support for AlmaLinux
 
-### Fixes
+#### Fixes
 - Updated Debian Kernel for Live images, transitioned over to Actions from Travis
 
-## [2.0.33]
-### Removed
+## [2.0.33] - 2021-03-06
+#### Removed
 - Parrot NetInstall images are no longer maintained
 - Removed Velt as it appears deprecated
 
-## [2.0.32]
-### Fixes
+## [2.0.32] - 2021-02-09
+#### Fixes
 - Update to latest Ubuntu maintenance release
 
-### Changed
+#### Changed
 - Disabled Unix Menu on EFI as SmartOS not working in that mode and was the only option on EFI
 - Various version updates
 
-## [2.0.31]
-### Fixes
+## [2.0.31] - 2021-01-18
+#### Fixes
 - Fixes results too large bug introduced on Ubuntu menu
 
-### Changed
+#### Changed
 - Change priority to low on Ubuntu Legacy installer
 
-## [2.0.30]
-### Added
+## [2.0.30] - 2021-01-17
+#### Added
 - Can now download hybrid bootloaders that contain x86_64 Legacy and EFI builds in one image.
   Enables the user to use one ISO or USB key for multiple scenarios.
 - Ability to use custom URLs for menus instead of just relying on Github netboot.xyz-custom repo.
 
-### Changed
+#### Changed
 - Added the legacy installer back for Ubuntu 20.04 (Focal).  20.04 will be the last
   version to support legacy Debian Installer with autoinstall being the new Ubuntu
   standard going foward.
 - Various version updates
 
 ## [2.0.29] - 2020-12-28
-### Changed
+#### Changed
 - Various version updates
 - Switched asset builders from Github to Travis
 - Introduced changelog
 
 ## [2.0.28] - 2020-12-09
-### Added
+#### Added
 - VyOS Support
 
-### Changed
+#### Changed
 - Switches to GitHub Actions from Travis CI for primary repo automation
 
 ## [2.0.27] - 2020-11-20
-### Changed
+#### Changed
 - Change builder image name
 - Remove older Kali images, fix menu for latest version
 - Switch to inst.repo for Red Hat based OS
 - Allow for static assigned networking to work on Ubuntu builds
 
 ## [2.0.26] - 2020-11-18
-### Added
+#### Added
 - Adds a hook in the bootloader that checks for local-vars.ipxe from a local tftp server, useful for loading up variables before loading the menu. Can be used to ensure github user is set by default for custom menus.
 
-### Changed
+#### Changed
 - Switches builder to netbootxyz docker image on Github Container Registry
 - Simplfied Fedora Live menu
 
-### Fixed
+#### Fixed
 - Bugfix on NixOS menu
 
 ## [2.0.25] - 2020-11-07
-### Added
+#### Added
 - Initial support for Raspberry Pi iPXE bootloader which allows you to boot using SD Card or USB key. (Experimental)
 - Ubuntu 20.10 Grovvy Live Images
 - Added support for Ubuntu 20.04/20.10 Subiquity Server installers
 - Added Fedora 33 net installer and live images
 
-### Changed
+#### Changed
 - Fedora Core build version is now updated automatically.
 
 ## [2.0.24] - 2020-10-28
-### Fixed
+#### Fixed
 - Fixed github releases
 
 ## [2.0.23] - 2020-10-27
-### Added
+#### Added
 - Ubuntu 20.10 Groovy Gorilla - Live CD install only
 - Fedora 33
 - OpenBSD 6.8
 
 ## [2.0.22] - 2020-10-11
-### Fixed
+#### Fixed
 - Fixed Anarchy Linux
 
-### Changed
+#### Changed
 - Pin builders to Ansible 2.10
 
 ## [2.0.21] - 2020-09-13
-### Changed
+#### Changed
 - Version updates
 
 ## [2.0.20] - 2020-08-28
-### Fixed
+#### Fixed
 - Archlinux url fixes
 
 ## [2.0.19] - 2020-08-12
-### Added
+#### Added
 - Adds ability to add custom kernel command line parameters
 
-### Fixed
+#### Fixed
 - Sets proper RELEASE Tag when creating a Github Release
 
 ## [2.0.18] - 2020-07-24
-### Fixed
+#### Fixed
 - Fixed Fedora CoreOS build
 - Various unnamed bugs
 
 ## [2.0.17] - 2020-06-30
-### Added
+#### Added
 - CentOS 8.2
 - Mint 20
 - OpenSUSE Leap 15.2
 
-### Changed
+#### Changed
 - Changes to K3OS deployments
 - Tweaks to ARM64 menus,  added ARM placeholders for Utility menu
 
 ## [2.0.16] - 2020-06-09
-### Added
+#### Added
 - Adds Devuan back in with latest Beowulf
 
-### Fixed
+#### Fixed
 - Corrects issue with Fedora and text mode
 
 ## [2.0.15] - 2020-05-20
-### Added
+#### Added
 - Backbox 7
 
-### Fixed
+#### Fixed
 - CentOS path fixes
 
 ## [2.0.14] - 2020-05-06
-### Added
+#### Added
 - Fedora 32 and Ubuntu 20.04 live assets
 - PopOS 20.04
 - Parrot 4.9
 
-### Changed
+#### Changed
 - Bump to CentOS 7.8
 - Moved NixOS to hosted live assets
 
 ## [2.0.13] - 2020-04-24
-### Changed
+#### Changed
 - Ubuntu 20.04 url
 - NixOS 20.03
 
 ## [2.0.12] - 2020-04-23
-### Added
+#### Added
 - Ubuntu 20.04 LTS added and 20.04 stock live builds updated
 
-### Changed
+#### Changed
 - Fedora 32 added and 29 dropped
 
-### Removed
+#### Removed
 - Removed test forked or branched code from github as it no longer works
 
 ## [2.0.11] - 2020-04-01
-### Added
+#### Added
 - Clonezilla Testing/Stable
 - Gentoo instlaler LiveCD
 - Nitrux Stable
@@ -272,32 +286,32 @@ All notable changes to this project will be documented in this file.
 - Bodhi 5 standard and app pack
 - Linux Mint Debian Edition
 
-### Fixed
+#### Fixed
 - Fixed CentOS kickstart url
 
-### Removed
+#### Removed
 - Dropped tails support
 
 ## [2.0.10] - 2020-03-07
-### Changed
+#### Changed
 - Various version updates
 
 ## [2.0.9] - 2020-02-16
-### Changed
+#### Changed
 - Various version updates
 
 ## [2.0.8] - 2020-02-06
-### Added
+#### Added
 - SmartOS
 - 4MLinux
 - BakAndImgCD
 - The Smallest Server Suite
 
-### Fixed
+#### Fixed
 - Various bug fixes
 
 ## [2.0.7] - 2020-01-25
-### Added
+#### Added
 - CentOS 8.1
 - Gentoo (working now)
 - Fatdog
@@ -308,7 +322,7 @@ All notable changes to this project will be documented in this file.
 - Tiny Core Linux using kernels instead of memdisk
 
 ## [2.0.6] - 2020-01-19
-### Added
+#### Added
 - Oracle Linux
 - Anarchy Installer
 - Bluestart Live
@@ -326,12 +340,12 @@ All notable changes to this project will be documented in this file.
 - Nitrux
 - Velt Live
 - Fedora CoreOS back in
-### Removed
+#### Removed
 - Security Menu and merges those options into Linux and Live menus
 - Unused external signature checking code
 
 ## [2.0.5] - 2020-01-11
-### Added
+#### Added
 - SparkyLinux
 - K3OS
 - RHEL menu option back to Linux Menu
@@ -340,7 +354,7 @@ All notable changes to this project will be documented in this file.
 - Enables auto login for Rancher
 
 ## [2.0.4] - 2020-01-06
-### Added
+#### Added
 - PCI Device List
 - VLAN Tagging Support in Manual Configuration
 - DBAN
@@ -349,22 +363,22 @@ All notable changes to this project will be documented in this file.
 - FerenOS
 - Q4OS 3.10
 
-### Fixes
+#### Fixes
 - FreeBSD working
 - Captures upstream iPXE version as ${ipxe_version}
 - Fixes Packet and GCE Versioning
 
 ## [2.0.3] - 2020-01-02
-### Fixes
+#### Fixes
 - Fixes for Live CD and Menus
 
 ## [2.0.2] - 2019-12-31
-### Fixes
+#### Fixes
 - Windows fixes, timeout for version checking
 - Fixes for Deepin and Elementary
 
 ## [2.0.1] - 2019-12-27
-### Fixes
+#### Fixes
 - Fixes some index.html issues so that iPXE clients exit properly
 - Change flags on genisoimage reflect el-torito options
 - Move generate_signatures to end of playbook
@@ -374,9 +388,9 @@ All notable changes to this project will be documented in this file.
 - Fixes some discord messaging
 
 ## [2.0.0] - 2019-12-26
-### Changes
+#### Changes
 - Switches primary boot.netboot.xyz to deploy deployed with Ansible and sets up 2.x rolling release series
 
 ## [1.9.9] - 2019-12-13
-### Deprecated
+#### Deprecated
 - Pre 2.x series before being deployed with Ansible

+ 1 - 1
Dockerfile-build

@@ -9,7 +9,7 @@ RUN \
  ansible-playbook -i inventory site.yml
 
 # runtime stage
-FROM alpine:3.13
+FROM alpine:latest
 
 COPY --from=builder /var/www/html/ /mnt/
 COPY docker-build-root/ /

+ 1 - 1
Dockerfile-build.production

@@ -9,7 +9,7 @@ RUN \
  ansible-playbook -i inventory site.yml --extra-vars "@script/netbootxyz-overrides.yml"
 
 # runtime stage
-FROM alpine:3.13
+FROM alpine:latest
 
 COPY --from=builder /var/www/html/ /mnt/
 COPY docker-build-root/ /

+ 17 - 37
endpoints.yml

@@ -293,7 +293,7 @@ endpoints:
     flavor: default
     kernel: backbox-6-default-squash
   kde-neon-user:
-    path: /ubuntu-squash/releases/download/20210812-1129-92641c1f/
+    path: /ubuntu-squash/releases/download/20210826-0945-92641c1f/
     files:
     - vmlinuz
     - filesystem.squashfs
@@ -424,7 +424,7 @@ endpoints:
     flavor: testing
     kernel: clonezilla-debian-testing
   clonezilla-ubuntu-stable:
-    path: /ubuntu-squash/releases/download/20210609-hirsute-2a768141/
+    path: /ubuntu-squash/releases/download/20210817-hirsute-2a768141/
     files:
     - filesystem.squashfs
     - initrd
@@ -595,7 +595,7 @@ endpoints:
     version: current
     flavor: xfce-security
   parrot-security-kde:
-    path: /debian-squash/releases/download/4.11.1-433c9fce/
+    path: /debian-squash/releases/download/4.11.2-b72794e5/
     files:
     - filesystem.squashfs
     - initrd
@@ -694,7 +694,7 @@ endpoints:
     os: zeninstall
     version: current
   gentoo:
-    path: /asset-mirror/releases/download/20210815T170549Z-21ec62e4/
+    path: /asset-mirror/releases/download/20210822T170550Z-21ec62e4/
     files:
     - image.squashfs
     - initrd
@@ -734,7 +734,7 @@ endpoints:
     os: septor
     version: current
   manjaro-xfce-current:
-    path: /manjaro-squash/releases/download/21.0.7-210614-linux510-f75643fc/
+    path: /manjaro-squash/releases/download/21.1.0-210817-linux513-f36fa1f2/
     files:
     - livefs.sfs
     - rootfs.sfs
@@ -747,7 +747,7 @@ endpoints:
     flavor: xfce
     kernel: manjaro-xfce-current
   manjaro-gnome-current:
-    path: /manjaro-squash/releases/download/21.0.7-210614-linux510-ad279d40/
+    path: /manjaro-squash/releases/download/21.1.0-210817-linux513-cd9dc50d/
     files:
     - livefs.sfs
     - rootfs.sfs
@@ -760,7 +760,7 @@ endpoints:
     flavor: gnome
     kernel: manjaro-gnome-current
   manjaro-kde-current:
-    path: /manjaro-squash/releases/download/21.0.7-210614-linux510-52a22eaa/
+    path: /manjaro-squash/releases/download/21.1.0-210817-linux513-bd572e1d/
     files:
     - livefs.sfs
     - rootfs.sfs
@@ -831,7 +831,7 @@ endpoints:
     flavor: architect
     kernel: manjaro-default-current
   ubuntu-20.04-default-squash:
-    path: /ubuntu-squash/releases/download/20.04.2.0-9bc4558b/
+    path: /ubuntu-squash/releases/download/20.04.3-9bc4558b/
     files:
     - filesystem.squashfs
     - initrd
@@ -841,7 +841,7 @@ endpoints:
     flavor: GNOME
     kernel: ubuntu-20.04-default-squash
   ubuntu-20.04-KDE-squash:
-    path: /ubuntu-squash/releases/download/20.04.2.0-08845a46/
+    path: /ubuntu-squash/releases/download/20.04.3-08845a46/
     files:
     - filesystem.squashfs
     - initrd
@@ -851,7 +851,7 @@ endpoints:
     flavor: KDE
     kernel: ubuntu-20.04-KDE-squash
   ubuntu-20.04-XFCE-squash:
-    path: /ubuntu-squash/releases/download/20.04.2.0-8f15ed5e/
+    path: /ubuntu-squash/releases/download/20.04.3-8f15ed5e/
     files:
     - filesystem.squashfs
     - initrd
@@ -861,7 +861,7 @@ endpoints:
     flavor: XFCE
     kernel: ubuntu-20.04-XFCE-squash
   ubuntu-20.04-LXDE-squash:
-    path: /ubuntu-squash/releases/download/20.04.2-3f82ff65/
+    path: /ubuntu-squash/releases/download/20.04.3-3f82ff65/
     files:
     - filesystem.squashfs
     - initrd
@@ -871,7 +871,7 @@ endpoints:
     flavor: LXDE
     kernel: ubuntu-20.04-LXDE-squash
   ubuntu-20.04-Budgie-squash:
-    path: /ubuntu-squash/releases/download/20.04.2.0-54eaec40/
+    path: /ubuntu-squash/releases/download/20.04.3-54eaec40/
     files:
     - filesystem.squashfs
     - initrd
@@ -881,7 +881,7 @@ endpoints:
     flavor: Budgie
     kernel: ubuntu-20.04-Budgie-squash
   ubuntu-20.04-MATE-squash:
-    path: /ubuntu-squash/releases/download/20.04.2.0-6be8be20/
+    path: /ubuntu-squash/releases/download/20.04.3-6be8be20/
     files:
     - filesystem.squashfs
     - initrd
@@ -891,7 +891,7 @@ endpoints:
     flavor: MATE
     kernel: ubuntu-20.04-MATE-squash
   ubuntu-20.04-kylin-squash:
-    path: /ubuntu-squash/releases/download/20.04.2.0-b366cf71/
+    path: /ubuntu-squash/releases/download/20.04.3-b366cf71/
     files:
     - filesystem.squashfs
     - initrd
@@ -1038,13 +1038,13 @@ endpoints:
     version: 33
     flavor: MATE_Compiz
   ubuntu-20.04-netboot:
-    path: /ubuntu-squash/releases/download/20.04.2-23da52d5/
+    path: /ubuntu-squash/releases/download/20.04.3-c12768fb/
     files:
     - filesystem.squashfs
     - initrd
     - vmlinuz
     os: ubuntu
-    version: 20.04.2
+    version: 20.04.3
     codename: focal
     flavor: netboot
     kernel: ubuntu-20.04-netboot
@@ -1058,28 +1058,8 @@ endpoints:
     - boot.wim
     os: hirens
     version: v1.0.1
-  pop-20.10-default-squash:
-    path: /ubuntu-squash/releases/download/2-6a3d596e/
-    files:
-    - filesystem.squashfs
-    - initrd
-    - vmlinuz
-    os: pop
-    version: '20.10'
-    flavor: intel-amd
-    kernel: pop-20.10-default-squash
-  pop-20.10-nvidia-squash:
-    path: /ubuntu-squash/releases/download/2-613b1e2c/
-    files:
-    - filesystem.squashfs
-    - initrd
-    - vmlinuz
-    os: pop
-    version: '20.10'
-    flavor: nvidia
-    kernel: pop-20.10-nvidia-squash
   vyos-rolling:
-    path: /debian-squash/releases/download/202101010217-5f0e3623/
+    path: /debian-squash/releases/download/202108250814-fdd40a1c/
     files:
     - filesystem.squashfs
     - initrd

+ 12 - 14
roles/netbootxyz/defaults/main.yml

@@ -163,7 +163,7 @@ releases:
     mirror: https://builds.coreos.fedoraproject.org
     name: Fedora CoreOS
     versions:
-    - code_name: 34.20210725.3.0
+    - code_name: 34.20210808.3.0
       name: stable
   debian:
     archive_mirror: http://archive.debian.org
@@ -421,14 +421,14 @@ releases:
     mirror: https://netboot.joyent.com/os/
     name: SmartOS
     versions:
+    - code_name: 20210826T002459Z
+      name: 20210826T002459Z
     - code_name: 20210812T031946Z
       name: 20210812T031946Z
     - code_name: 20210729T002724Z
       name: 20210729T002724Z
     - code_name: 20210715T010227Z
       name: 20210715T010227Z
-    - code_name: 20210701T204427Z
-      name: 20210701T204427Z
   talos:
     enabled: true
     menu: linux
@@ -565,8 +565,6 @@ releases:
     versions:
     - code_name: hirsute
       name: 21.04 Hirsute Hippo
-    - code_name: groovy
-      name: 20.10 Groovy Gorilla
     - code_name: focal
       name: 20.04 LTS Focal Fossa (Subiquity)
     - code_name: focal-legacy
@@ -614,7 +612,7 @@ utilitiesefi:
     initrd: ${live_endpoint}{{ endpoints.bootrepair.path }}initrd
     kernel: ${live_endpoint}{{ endpoints.bootrepair.path }}vmlinuz ip=dhcp boot=casper
       netboot=http fetch=${live_endpoint}{{ endpoints.bootrepair.path }}filesystem.squashfs
-      initrd=initrd
+      {{ kernel_params }}
     name: Boot Repair CD
     type: direct
   caine:
@@ -622,7 +620,7 @@ utilitiesefi:
     initrd: ${live_endpoint}{{ endpoints.caine.path }}initrd
     kernel: ${live_endpoint}{{ endpoints.caine.path }}vmlinuz ip=dhcp boot=casper
       netboot=http fetch=${live_endpoint}{{ endpoints.caine.path }}filesystem.squashfs
-      initrd=initrd
+      {{ kernel_params }}
     name: CAINE
     type: direct
   clonezilla:
@@ -646,7 +644,7 @@ utilitiesefi:
     initrd: ${live_endpoint}{{ endpoints.redorescue.path }}initrd
     kernel: ${live_endpoint}{{ endpoints.redorescue.path }}vmlinuz boot=live noprompt
       nocomponents setkmap=us fetch=${live_endpoint}{{ endpoints.redorescue.path }}filesystem.squashfs
-      initrd=initrd
+      {{ kernel_params }}
     name: RedoRescue
     type: direct
   rescatux:
@@ -654,7 +652,7 @@ utilitiesefi:
     initrd: ${live_endpoint}{{ endpoints.rescatux.path }}initrd
     kernel: ${live_endpoint}{{ endpoints.rescatux.path }}vmlinuz boot=live fetch=${live_endpoint}{{
       endpoints.rescatux.path }}filesystem.squashfs selinux=1 security=selinux enforcing=0
-      initrd=initrd
+      {{ kernel_params }}
     name: Rescatux
     type: direct
   rescuezilla:
@@ -685,14 +683,14 @@ utilitiespcbios:
     initrd: ${live_endpoint}{{ endpoints.bootrepair.path }}initrd
     kernel: ${live_endpoint}{{ endpoints.bootrepair.path }}vmlinuz ip=dhcp boot=casper
       netboot=http fetch=${live_endpoint}{{ endpoints.bootrepair.path }}filesystem.squashfs
-      initrd=initrd
+      {{ kernel_params }}
     name: Boot Repair CD
     type: direct
   breakin:
     enabled: true
     initrd: ${live_endpoint}{{ endpoints.breakin.path }}initrd
     kernel: ${live_endpoint}{{ endpoints.breakin.path }}vmlinuz sshpasswd=breakin
-      startup=breakin initrd=initrd
+      startup=breakin {{ kernel_params }}
     name: Breakin
     type: direct
   caine:
@@ -700,7 +698,7 @@ utilitiespcbios:
     initrd: ${live_endpoint}{{ endpoints.caine.path }}initrd
     kernel: ${live_endpoint}{{ endpoints.caine.path }}vmlinuz ip=dhcp boot=casper
       netboot=http fetch=${live_endpoint}{{ endpoints.caine.path }}filesystem.squashfs
-      initrd=initrd
+      {{ kernel_params }}
     name: CAINE
     type: direct
   clonezilla:
@@ -734,7 +732,7 @@ utilitiespcbios:
     initrd: ${live_endpoint}{{ endpoints.redorescue.path }}initrd
     kernel: ${live_endpoint}{{ endpoints.redorescue.path }}vmlinuz boot=live noprompt
       nocomponents setkmap=us fetch=${live_endpoint}{{ endpoints.redorescue.path }}filesystem.squashfs
-      initrd=initrd
+      {{ kernel_params }}
     name: RedoRescue
     type: direct
   rescatux:
@@ -742,7 +740,7 @@ utilitiespcbios:
     initrd: ${live_endpoint}{{ endpoints.rescatux.path }}initrd
     kernel: ${live_endpoint}{{ endpoints.rescatux.path }}vmlinuz boot=live fetch=${live_endpoint}{{
       endpoints.rescatux.path }}filesystem.squashfs selinux=1 security=selinux enforcing=0
-      initrd=initrd
+      {{ kernel_params }}
     name: Rescatux
     type: direct
   rescuezilla:

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

@@ -5,7 +5,6 @@ goto ${menu} ||
 :live_menu
 set os 4MLinux
 menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "4mlinux" %}
@@ -15,7 +14,6 @@ item {{ value.version }}-{{ value.flavor }} ${space} ${os} {{ value.version }} {
 choose version || goto exit
 goto ${version}
 
-
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "4mlinux" %}
 :{{ value.version }}-{{ value.flavor }}

+ 6 - 3
roles/netbootxyz/templates/menu/almalinux.ipxe.j2

@@ -11,19 +11,22 @@ goto ${menu} ||
 :almalinux
 clear osversion
 set os {{ releases.almalinux.name }}
-menu ${os} - ${arch}
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch x86_64 ||
+iseq ${os_arch} arm64 && set os_arch aarch64 ||
+menu ${os} - ${os_arch}
 {% for item in releases.almalinux.versions %}
 item {{ item.code_name }} ${space} ${os} {{ item.name }}
 {% endfor %}
 isset ${osversion} || choose osversion || goto linux_menu
 echo ${cls}
-set dir ${almalinux_base_dir}/${osversion}/BaseOS/${arch}/os
+set dir ${almalinux_base_dir}/${osversion}/BaseOS/${os_arch}/os
 set repo ${almalinux_mirror}/${dir}
 goto boottype
 
 :boottype
 set ova ${os} ${osversion}
-menu ${os} ${arch} boot type
+menu ${os} ${os_arch} boot type
 item graphical ${ova} graphical installer
 item text ${ova} text based installer
 item rescue ${ova} rescue

+ 6 - 3
roles/netbootxyz/templates/menu/alpinelinux.ipxe.j2

@@ -10,8 +10,11 @@ goto ${menu}
 :alpinelinux
 clear alpine_version
 set os {{ releases.alpinelinux.name }}
-iseq ${arch} x86_64 && set bootarch x86_64 || set bootarch x86
-menu ${os} [${bootarch}]
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch x86_64 ||
+iseq ${os_arch} i386 && set os_arch x86 ||
+iseq ${os_arch} arm64 && set os_arch aarch64 ||
+menu ${os} - ${os_arch}
 item --gap Releases
 {% for item in releases.alpinelinux.versions %}
 item {{ item.code_name }} ${space} ${os} {{ item.name }}
@@ -21,7 +24,7 @@ goto boot
 
 :boot
 set base-url ${alpinelinux_mirror}
-set dir ${alpinelinux_base_dir}/${alpine_version}/releases/${bootarch}/netboot
+set dir ${alpinelinux_base_dir}/${alpine_version}/releases/${os_arch}/netboot
 set repo-url ${alpinelinux_mirror}/${alpinelinux_base_dir}/${alpine_version}/main
 imgfree
 kernel ${base-url}/${dir}/vmlinuz-lts ${ipparam} alpine_repo=${repo-url} modules=loop,squashfs modloop=${base-url}/${dir}/modloop-lts quiet nomodeset {{ kernel_params }}

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

@@ -55,13 +55,24 @@ set menu_freedos 1
 set menu_live 1
 set menu_windows 1
 set menu_utils 1
-iseq ${buildarch} i386 && goto x86_64 ||
+iseq ${buildarch} i386 && goto i386 ||
 iseq ${buildarch} x86_64 && goto x86_64 ||
 iseq ${buildarch} arm64 && goto arm64 ||
 goto architectures_end
 :x86_64
 iseq ${platform} efi && goto efi ||
 goto architectures_end
+:i386
+set menu_linux 0
+set menu_linux_i386 1
+set menu_bsd 1
+set menu_unix 0
+set menu_freedos 1
+set menu_live 0
+set menu_windows 0
+set menu_utils 1
+iseq ${platform} efi && goto efi ||
+goto architectures_end
 :arm64
 set menu_linux 0
 set menu_linux_arm 1
@@ -105,7 +116,6 @@ set cmdline console=ttyS1,115200n8
 iseq ${platform} efi && set ipxe_disk netboot.xyz-packet.efi || set ipxe_disk netboot.xyz-packet.kpxe
 set menu_freedos 0
 set menu_windows 0
-iseq ${platform} efi && set menu_utils 1 || set menu_utils 0
 goto clouds_end
 
 :packet_arm64

+ 1 - 10
roles/netbootxyz/templates/menu/bsd.ipxe.j2

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :bsd_menu
 
-menu BSD Installers - Current Selected Architecture [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu BSD Installers - Current Arch [ ${arch} ]
 
 # BSD based systems
 item --gap BSD Based Operating Systems
@@ -14,10 +13,6 @@ item --gap BSD Based Operating Systems
 item {{ key }} ${space} {{ value.name }}
 {% endif %}
 {% endfor %}
-# Options
-item --gap Options:
-iseq ${arch} x86_64 && set bits 64 || set bits 32
-item changebits ${space} Architecture: ${arch} (${bits}bit)
 choose menu || goto bsd_exit
 
 echo ${cls}
@@ -35,7 +30,3 @@ goto bsd_menu
 :bsd_exit
 clear menu
 exit 0
-
-:changebits
-iseq ${arch} x86_64 && set arch i386 || set arch x86_64
-goto bsd_menu

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

@@ -11,20 +11,23 @@ goto ${menu} ||
 :centos
 clear osversion
 set os {{ releases.centos.name }}
-menu ${os} - ${arch}
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch x86_64 ||
+iseq ${os_arch} arm64 && set os_arch aarch64 ||
+menu ${os} - ${os_arch}
 {% for item in releases.centos.versions %}
 item {{ item.code_name }} ${space} ${os} {{ item.name }}
 {% endfor %}
 isset ${osversion} || choose osversion || goto linux_menu
 echo ${cls}
-set dir ${centos_base_dir}/${osversion}/BaseOS/${arch}/os
-iseq ${osversion} 7 && set dir ${centos_base_dir}/${osversion}/os/${arch} ||
+set dir ${centos_base_dir}/${osversion}/BaseOS/${os_arch}/os
+iseq ${osversion} 7 && set dir ${centos_base_dir}/${osversion}/os/${os_arch} ||
 set repo ${centos_mirror}/${dir}
 goto boottype
 
 :boottype
 set ova ${os} ${osversion}
-menu ${os} ${arch} boot type
+menu ${os} ${os_arch} boot type
 item graphical ${ova} graphical installer
 item text ${ova} text based installer
 item rescue ${ova} rescue

+ 1 - 2
roles/netbootxyz/templates/menu/clonezilla.ipxe.j2

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Clonezilla
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 item debian ${space} ${os} Debian Based
 item ubuntu ${space} ${os} Ubuntu Based

+ 9 - 5
roles/netbootxyz/templates/menu/debian.ipxe.j2

@@ -7,9 +7,13 @@ goto ${menu}
 
 :debian
 set os Debian
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch amd64 ||
+iseq ${os_arch} i386 && set os_arch i386 ||
+iseq ${os_arch} arm64 && set os_arch arm64 ||
 clear debian_version
 clear older_release
-menu ${os} - ${arch_a}
+menu ${os} - ${os_arch}
 item --gap Latest Releases
 {% for item in releases.debian.versions.stable %}
 item {{ item.code_name }} ${space} ${os} {{ item.name }}
@@ -30,13 +34,13 @@ set debian_mirror {{ releases.debian.archive_mirror }}
 echo Setting mirror to ${debian_mirror}
 clear debian_version
 echo -n Please set enter code name of release: ${} && read debian_version
-set dir ${debian_base_dir}/dists/${debian_version}/main/installer-${arch_a}/current/images/netboot/
+set dir ${debian_base_dir}/dists/${debian_version}/main/installer-${os_arch}/current/images/netboot/
 goto deb_boot_type
 
 :mirrorcfg
 set debian_mirror ${debian_mirror}
 set mirrorcfg mirror/suite=${debian_version}
-set dir ${debian_base_dir}/dists/${debian_version}/main/installer-${arch_a}/current/images/netboot/
+set dir ${debian_base_dir}/dists/${debian_version}/main/installer-${os_arch}/current/images/netboot/
 goto deb_boot_type
 
 :deb_boot_type
@@ -66,11 +70,11 @@ set install_params auto=true priority=critical preseed/url=${preseedurl}
 goto deb_text
 
 :deb_text
-set dir ${dir}${menu}-installer/${arch_a}
+set dir ${dir}${menu}-installer/${os_arch}
 goto deb_boot
 
 :deb_graphical
-set dir ${dir}gtk/${menu}-installer/${arch_a}
+set dir ${dir}gtk/${menu}-installer/${os_arch}
 set install_params vga=788
 goto deb_boot
 

+ 5 - 4
roles/netbootxyz/templates/menu/devuan.ipxe.j2

@@ -7,9 +7,10 @@ goto ${menu}
 
 :devuan
 set os Devuan
+iseq ${os_arch} x86_64 && set os_arch amd64 ||
 clear devuan_version
 clear older_release
-menu ${os} - ${arch_a}
+menu ${os} - ${os_arch}
 item --gap Latest Releases
 {% for item in releases.devuan.versions.stable %}
 item {{ item.code_name }} ${space} ${os} {{ item.name }}
@@ -23,7 +24,7 @@ goto mirrorcfg
 
 :mirrorcfg
 set mirrorcfg mirror/suite=${devuan_version}
-set dir ${devuan_base_dir}/dists/${devuan_version}/main/installer-${arch_a}/current/images/netboot/
+set dir ${devuan_base_dir}/dists/${devuan_version}/main/installer-${os_arch}/current/images/netboot/
 goto devuan_boot_type
 
 :devuan_boot_type
@@ -53,11 +54,11 @@ set install_params auto=true priority=critical preseed/url=${preseedurl}
 goto devuan_text
 
 :devuan_text
-set dir ${dir}debian-installer/${arch_a}
+set dir ${dir}debian-installer/${os_arch}
 goto devuan_boot
 
 :devuan_graphical
-set dir ${dir}gtk/debian-installer/${arch_a}
+set dir ${dir}gtk/debian-installer/${os_arch}
 set install_params vga=788
 goto devuan_boot
 

+ 1 - 2
roles/netbootxyz/templates/menu/endeavouros.ipxe.j2

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os EndeavourOS
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 set ipparam BOOTIF=${netX/mac} ip=dhcp net.ifnames=0
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}

+ 11 - 7
roles/netbootxyz/templates/menu/fedora.ipxe.j2

@@ -13,30 +13,34 @@ clear osversion
 clear sku_type
 clear ova
 set os {{ releases.fedora.name }}
-menu ${os} - ${arch}
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch x86_64 ||
+iseq ${os_arch} arm64 && set os_arch aarch64 ||
+
+menu ${os} - ${os_arch}
 item --gap Latest Releases
 {% for item in releases.fedora.versions %}
 item {{ item.code_name }} ${space} ${os} {{ item.name }}
 {% endfor %}
-iseq ${arch} x86_64 && item rawhide ${space} ${os} rawhide ||
+iseq ${os_arch} x86_64 && item rawhide ${space} ${os} rawhide ||
 isset ${osversion} || choose osversion || goto linux_menu
 set ova ${os} ${osversion}
 goto product_sku
 
 :product_sku
-menu ${os} ${arch} sku type
+menu ${os} ${os_arch} sku type
 item Everything ${ova} Everything
 item Server ${ova} Server
-iseq ${arch} x86_64 && item Silverblue ${ova} Silverblue ||
+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}/${arch}/os
-iseq ${osversion} rawhide && set dir ${fedora_base_dir}/development/${osversion}/${sku_type}/${arch}/os ||
+set dir ${fedora_base_dir}/releases/${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}
 goto boottype
 
 :boottype
-menu ${os} ${arch} boot type
+menu ${os} ${os_arch} boot type
 item normal ${ova} graphical install
 item text ${ova} text install
 item rescue ${ova} rescue

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

@@ -6,7 +6,6 @@
 :gentoo
 set os {{ releases.gentoo.name }}
 menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "gentoo" %}

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

@@ -5,7 +5,6 @@ goto ${menu} ||
 :live_menu
 set os GParted Live
 menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "gparted" %}

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

@@ -5,7 +5,6 @@ goto ${menu} ||
 :live_menu
 set os Grml
 menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "grml" %}

+ 7 - 5
roles/netbootxyz/templates/menu/k3os.ipxe.j2

@@ -8,10 +8,12 @@ goto ${menu} ||
 
 :k3os
 set os {{ releases.k3os.name }}
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch x86_64 ||
 set k3os_mirror {{ releases.k3os.mirror }}
 isset ${k3os_version} || set k3os_version latest
 isset ${k3os_install_device} || set k3os_install_device /dev/sda
-menu ${os} by Rancher - ${arch_a}
+menu ${os} by Rancher
 menu ${os} install
 item --gap k3OS:
 item k3os_boot ${space} Begin install ${os} ${k3os_version}
@@ -65,13 +67,13 @@ goto k3os
 :k3os_boot
 isset ${k3os_base_url} || set k3os_base_url ${k3os_mirror}/latest/download
 set install_params k3os.install.silent=true k3os.mode=install k3os.install.config_url=${k3os_config_url} k3os.install.device=${k3os_install_device}
-set boot_params printk.devkmsg=on k3os.install.iso_url=${k3os_base_url}/k3os-${arch_a}.iso console=ttyS0 console=tty1
+set boot_params printk.devkmsg=on k3os.install.iso_url=${k3os_base_url}/k3os-${os_arch}.iso console=ttyS0 console=tty1
 imgfree
-kernel ${k3os_base_url}/k3os-vmlinuz-${arch_a} ${install_params} ${boot_params} {{ kernel_params }}
-initrd ${k3os_base_url}/k3os-initrd-${arch_a}
+kernel ${k3os_base_url}/k3os-vmlinuz-${os_arch} ${install_params} ${boot_params} {{ kernel_params }}
+initrd ${k3os_base_url}/k3os-initrd-${os_arch}
 echo
 echo MD5sums:
-md5sum k3os-vmlinuz-${arch_a} k3os-initrd-${arch_a}
+md5sum k3os-vmlinuz-${os_arch} k3os-initrd-${os_arch}
 boot
 
 :k3os_exit

+ 5 - 3
roles/netbootxyz/templates/menu/kali.ipxe.j2

@@ -7,14 +7,16 @@ goto ${menu} ||
 
 :kali
 set os {{ releases.kali.name }}
-menu ${os} - ${arch_a}
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch amd64 ||
+menu ${os} - ${os_arch}
 {% for item in releases.kali.versions %}
 item {{ item.code_name }} ${space} ${os} {{ item.name }}
 {% endfor %}
 choose version || goto kali_exit
 
 :deb_boot_type
-set dir ${kali_base_dir}/dists/kali-${version}/main/installer-${arch_a}/current/images/netboot
+set dir ${kali_base_dir}/dists/kali-${version}/main/installer-${os_arch}/current/images/netboot
 menu ${os} boot parameters
 item text ${os} text based install
 choose --default ${type} type || goto kali
@@ -23,7 +25,7 @@ echo ${cls}
 goto deb_${type}
 
 :deb_text
-set dir ${dir}/debian-installer/${arch_a}
+set dir ${dir}/debian-installer/${os_arch}
 goto deb_boot
 
 :deb_boot

+ 1 - 2
roles/netbootxyz/templates/menu/kaspersky.ipxe.j2

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Kaspersky Rescue Disk
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "kaspersky" %}

+ 4 - 9
roles/netbootxyz/templates/menu/linux-arm.ipxe.j2

@@ -3,20 +3,15 @@
 goto ${menu} ||
 
 :linux_menu
-menu Linux Installers - ARM ARCH **EXPERIMENTAL** Current Arch [ ${arch} ]
+menu Linux Installers - Current Arch [ ${arch} ]
 item --gap Popular Linux Operating Systems:
+item alpinelinux ${space} AlmaLinux
+item alpinelinux ${space} Alpine Linux
 item centos ${space} CentOS
 item debian ${space} Debian
 item fedora ${space} Fedora
-item opensuse ${space} openSUSE
-item ubuntu ${space} Ubuntu
-item --gap All Others:
-#item alpinelinux ${space} Alpine Linux
-#item coreos ${space} Fedora CoreOS (Preview)
-#item flatcar ${space} Flatcar
-#item nixos ${space} NixOS
 item rhel ${space} Red Hat Enterprise Linux
-#item tinycore ${space} Tiny Core Linux
+item rockylinux ${space} Rocky Linux
 choose menu || goto linux_exit
 echo ${cls}
 goto ${menu} ||

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

@@ -0,0 +1,26 @@
+#!ipxe
+
+goto ${menu} ||
+
+:linux_menu
+menu Linux Installers - Current Arch [ ${arch} ]
+item --gap Popular Linux Operating Systems:
+item alpinelinux ${space} Alpine Linux
+item debian ${space} Debian
+item opensuse ${space} OpenSUSE
+choose menu || goto linux_exit
+echo ${cls}
+goto ${menu} ||
+iseq ${sigs_enabled} true && goto verify_sigs || goto change_menu
+
+:verify_sigs
+imgverify ${menu}.ipxe ${sigs}${menu}.ipxe.sig || goto error
+goto change_menu
+
+:change_menu
+chain ${menu}.ipxe || goto error
+goto linux_menu
+
+:linux_exit
+clear menu
+exit 0

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

@@ -4,7 +4,6 @@ goto ${menu} ||
 
 :linux_menu
 menu Linux Installers - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
 item --gap Linux Distros:
 {% for key, value in releases.items() | sort(attribute='1.name') %}
 {% if value.enabled is defined and value.menu == "linux" and value.enabled | bool %}

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

@@ -4,7 +4,6 @@ goto ${menu} ||
 
 :live_menu
 menu Live Boot Distributions - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
 item --gap Live Boot Distributions
 item live-fedora ${space} Fedora
 choose menu || goto live_exit

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os BackBox
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 item 7 ${space} ${os} 7
 item 6 ${space} ${os} 6

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Bluestar
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 set ipparam BOOTIF=${netX/mac} ip=dhcp net.ifnames=0
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Bodhi
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "bodhi" and value.version == "6" %}

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Debian Live
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 item bullseye ${space} ${os} 11 (bullseye)
 item buster ${space} ${os} 10 (buster)

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Deepin
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "Deepin" %}

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Devuan
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "devuan" %}

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os elementary OS
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 item elementaryos-6-default-squash ${space} ${os} 6
 choose live_version || goto live_exit

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os EndeavourOS
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 set ipparam BOOTIF=${netX/mac} ip=dhcp net.ifnames=0
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Fatdog64
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "fatdog" %}

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

@@ -7,8 +7,7 @@ goto ${menu} ||
 
 :live_menu
 set os Fedora Live
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 {% for item in releases.fedora.versions %}
 item {{ item.code_name }} ${space} ${os} {{ item.name }}

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Feren OS Live
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 item current ${space} ${os} Current
 choose live_version || goto live_exit

+ 5 - 4
roles/netbootxyz/templates/menu/live-k3os.ipxe.j2

@@ -4,9 +4,10 @@ goto ${menu} ||
 
 :live_menu
 set os {{ releases.k3os.name }}
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch x86_64 ||
 set k3os_mirror {{ releases.k3os.mirror }}
-menu ${os} by Rancher - ${arch_a}
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os} by Rancher
 isset ${k3os_version} || set k3os_version latest
 menu ${os} live
 item --gap k3OS live version:
@@ -51,8 +52,8 @@ isset ${k3os_base_url} || set k3os_base_url ${k3os_mirror}/latest/download
 set install_params k3os.mode=live
 set boot_params printk.devkmsg=on console=ttyS0 console=tty1
 imgfree
-kernel ${k3os_base_url}/k3os-vmlinuz-${arch_a} ${install_params} ${boot_params} {{ kernel_params }}
-initrd ${k3os_base_url}/k3os-initrd-${arch_a}
+kernel ${k3os_base_url}/k3os-vmlinuz-${os_arch} ${install_params} ${boot_params} {{ kernel_params }}
+initrd ${k3os_base_url}/k3os-initrd-${os_arch}
 boot
 
 :live_exit

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Kali Linux
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 item rolling ${space} ${os} Rolling
 choose live_version || goto live_exit

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Kodachi
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "kodachi" %}

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

@@ -4,9 +4,8 @@ goto ${menu} ||
 
 :live_menu
 set os Linux Lite
-menu ${os} - Current Arch [ ${arch} ]
+menu ${os}
 item --gap Use the username linuxlite with a blank password
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
 item --gap ${os} Versions
 item 5 ${space} ${os} 5
 item 4 ${space} ${os} 4

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os LXLE
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "lxle" %}

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

@@ -2,8 +2,7 @@
 
 :live_menu
 set os Manjaro
-menu ${os} Live - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os} Live
 set ipparam BOOTIF=${netX/mac} ip=dhcp net.ifnames=0
 item --gap ${os} Live versions
 item current ${space} ${os} Current Stable (20.x)
@@ -12,7 +11,7 @@ choose menu || goto live_exit
 goto ${menu}
 
 :stable
-menu ${os} Live Stable - Current Arch [ ${arch} ]
+menu ${os} Live Stable
 item --gap Currently during boot you need to press ctrl+d/ctrl+c
 item --gap repeatedly when init hangs on starting a download
 {% for key, value in endpoints.items() | sort %}
@@ -24,7 +23,7 @@ choose version || goto live_menu
 goto ${version}
 
 :current
-menu ${os} Live Current - Current Arch [ ${arch} ]
+menu ${os} Live Current
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "manjaro" and value.version == "current" %}

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Mint Live
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 item 20 ${space} ${os} 20
 item 19 ${space} ${os} 19

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os KDE Neon
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 item user ${space} ${os} User
 choose live_version || goto live_exit

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Nitrux
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "nitrux" %}

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Parrot OS
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "parrot" %}

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Peppermint
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 item 10 ${space} ${os} 10
 choose live_version || goto live_exit

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

@@ -4,10 +4,8 @@ goto ${menu} ||
 
 :live_menu
 set os Pop os Live
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
-item groovy ${space} ${os} 20.10
 item focal ${space} ${os} 20.04
 item bionic ${space} ${os} 18.04
 choose live_version || goto live_exit
@@ -15,14 +13,6 @@ menu ${os} ${live_version}
 item --gap ${os} Flavors
 goto ${live_version}
 
-:groovy
-{% for key, value in endpoints.items() | sort %}
-{% if value.os == "pop" and 'squash' in key and value.version == "20.10" %}
-item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title}}
-{% endif %}
-{% endfor %}
-goto flavor_select
-
 :focal
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "pop" and 'squash' in key and value.version == "20.04" %}
@@ -65,7 +55,6 @@ initrd ${kernel_url}initrd
 boot
 
 :20.04-boot
-:20.10-boot
 imgfree
 kernel ${kernel_url}vmlinuz ip=dhcp boot=casper netboot=url url=${squash_url} {{ kernel_params }}
 initrd ${kernel_url}initrd

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Q4OS Live
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 item 3.12 ${space} ${os} 3.12
 choose live_version || goto live_exit

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Live Raizo
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "raizo" %}

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Regolith
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 item current ${space} ${os} Current
 choose live_version || goto live_exit

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Septor
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "septor" %}

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os SparkyLinux Live
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 item stable ${space} ${os} Stable
 item rolling ${space} ${os} Rolling

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

@@ -4,11 +4,9 @@ goto ${menu} ||
 
 :live_menu
 set os Ubuntu Live
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 item hirsute ${space} ${os} 21.04
-item groovy ${space} ${os} 20.10
 item focal ${space} ${os} 20.04
 item bionic ${space} ${os} 18.04
 choose live_version || goto live_exit
@@ -24,14 +22,6 @@ item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flav
 {% endfor %}
 goto flavor_select
 
-:groovy
-{% for key, value in endpoints.items() | sort %}
-{% if value.os == "ubuntu" and 'squash' in key and value.version == "20.10" %}
-item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title }}
-{% endif %}
-{% endfor %}
-goto flavor_select
-
 :focal
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "ubuntu" and 'squash' in key and value.version == "20.04" %}
@@ -74,7 +64,6 @@ initrd ${kernel_url}initrd
 boot
 
 :20.04-boot
-:20.10-boot
 :21.04-boot
 imgfree
 kernel ${kernel_url}vmlinuz ip=dhcp boot=casper netboot=url url=${squash_url} {{ kernel_params }}

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Voyager Live
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "Voyager" %}

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os Zorin Live
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 item 16 ${space} ${os} 16
 item 15 ${space} ${os} 15

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

@@ -4,7 +4,6 @@ goto ${menu} ||
 
 :live_menu
 menu Live Boot Distributions - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
 item --gap Live Boot Distributions
 item live-backbox ${space} BackBox
 item live-bluestar ${space} Bluestar Linux

+ 8 - 9
roles/netbootxyz/templates/menu/menu.ipxe.j2

@@ -37,31 +37,29 @@ iseq ${buildarch} arm64 && set arch arm64 ||
 :skip_arch_detect
 isset ${menu} && goto ${menu} ||
 
-isset ${ip} || dhcp || echo DHCP failed
+isset ${ip} || dhcp
 
 :main_menu
 clear menu
 set space:hex 20:20
 set space ${space:string}
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
 isset ${next-server} && menu ${site_name} v${version} - next-server: ${next-server} || menu ${site_name}
 item --gap Default:
 item local ${space} Boot from local hdd
 item --gap Distributions:
 iseq ${menu_linux} 1 && item linux ${space} Linux Network Installs ||
+iseq ${menu_linux_i386} 1 && item linux-i386 ${space} Linux Network Installs ||
 iseq ${menu_linux_arm} 1 && item linux-arm ${space} Linux Network Installs ||
 iseq ${menu_live} 1 && item live ${space} Live CDs ||
 iseq ${menu_live_arm} 1 && item live-arm ${space} Live CDs ||
 iseq ${menu_bsd} 1 && item bsd ${space} BSD Installs ||
 iseq ${menu_unix} 1 && item unix ${space} Unix Network Installs ||
-iseq ${menu_freedos} 1 && item freedos ${space} FreeDOS || 
+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 ${arch} x86_64 && set bits 64 || set bits 32
-iseq ${arch} arm64 && set bits 64 ||
-item changebits ${space} Architecture: ${arch} (${bits}bit)
+item change_arch ${space} Architecture: ${arch}
 item shell ${space} iPXE shell
 item netinfo ${space} Network card info
 item lspci ${space} PCI Device List
@@ -113,8 +111,9 @@ set menu main_menu
 shell
 goto main_menu
 
-:changebits
-iseq ${arch} x86_64 && set arch i386 || set arch x86_64
+:change_arch
+iseq ${arch} x86_64 && set arch i386 && set menu_linux_i386 1 && set menu_linux 0 && goto main_menu ||
+iseq ${arch} i386 && set arch x86_64 && set menu_linux_i386 0 && set menu_linux 1 && goto main_menu ||
 goto main_menu
 
 :sig_check
@@ -122,7 +121,7 @@ iseq ${sigs_enabled} true && set sigs_enabled false || set sigs_enabled true
 goto main_menu
 
 :about
-chain https://boot.netboot.xyz/about.ipxe || chain about.ipxe 
+chain https://boot.netboot.xyz/about.ipxe || chain about.ipxe
 goto main_menu
 
 :custom-github

+ 4 - 7
roles/netbootxyz/templates/menu/openbsd.ipxe.j2

@@ -5,6 +5,9 @@
 
 :openbsd_menu
 set os {{ releases.openbsd.name }}
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch amd64 ||
+iseq ${os_arch} i386 && set os_arch i386 ||
 menu ${os}
 {% for item in releases.openbsd.versions %}
 item {{ item.code_name }} ${space} ${os} {{ item.name }}
@@ -13,16 +16,10 @@ choose ver || goto openbsd_exit
 {% for item in releases.openbsd.versions %}
 iseq ${ver} {{ item.code_name }} && set image_ver {{ item.image_ver }} ||
 {% endfor %}
-iseq ${arch} x86_64 && goto openbsd_x64 ||
-set openbsd_arch i386
-goto boot_openbsd
-
-:openbsd_x64
-set openbsd_arch amd64
 goto boot_openbsd
 
 :boot_openbsd
-set src ${openbsd_mirror}/${openbsd_base_dir}/${ver}/${openbsd_arch}/cd${image_ver}.iso
+set src ${openbsd_mirror}/${openbsd_base_dir}/${ver}/${os_arch}/cd${image_ver}.iso
 imgfree
 initrd ${src}
 chain ${memdisk} iso raw

+ 6 - 3
roles/netbootxyz/templates/menu/opensuse.ipxe.j2

@@ -57,7 +57,10 @@ set netsetup netsetup=hostip,gateway,nameserver hostip=${ip}/${prefix} gateway=$
 set netsetup ${netsetup} BOOTIF=${netX/mac}
 
 set distro opensuse
-menu openSUSE - ${arch}
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch x86_64 ||
+iseq ${os_arch} i386 && set os_arch i586 ||
+menu openSUSE - ${os_arch}
 {% for item in releases.opensuse.versions %}
 item {{ item.code_name }} ${space} ${os} {{ item.name }}
 {% endfor %}
@@ -66,8 +69,8 @@ set dir ${opensuse_base_dir}/${version}/repo/oss
 iseq ${version} tumbleweed && set dir ${version}/repo/oss ||
 
 imgfree
-kernel ${opensuse_mirror}/${dir}/boot/x86_64/loader/linux ${netsetup} install=${opensuse_mirror}/${dir} ${params} {{ kernel_params }}
-initrd ${opensuse_mirror}/${dir}/boot/x86_64/loader/initrd
+kernel ${opensuse_mirror}/${dir}/boot/${os_arch}/loader/linux ${netsetup} install=${opensuse_mirror}/${dir} ${params} {{ kernel_params }}
+initrd ${opensuse_mirror}/${dir}/boot/${os_arch}/loader/initrd
 echo MD5sums:
 md5sum linux initrd
 boot

+ 1 - 2
roles/netbootxyz/templates/menu/oracle.ipxe.j2

@@ -7,8 +7,7 @@ goto ${menu} ||
 
 :oracle_menu
 set os Oracle Linux
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}
 {% if value.os == "oracle" %}

+ 8 - 11
roles/netbootxyz/templates/menu/rhel.ipxe.j2

@@ -6,26 +6,23 @@
 isset ${dhcp-server} && set ipparam ip=dhcp || set ipparam ip=${ip}::${gateway}:${netmask}:::none nameserver=${dns}
 set ipparam BOOTIF=${netX/mac} ${ipparam}
 
-set rhel_arch x86_64
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch x86_64 ||
+iseq ${os_arch} arm64 && set os_arch aarch64 ||
 goto ${menu} ||
 
 :rhel
-set os Red Hat Enterprise Linux
+set os Red Hat Enterprise Linux - ${os_arch}
 clear rhel_version
 menu ${os}
 item --gap Installers
 item rhel_install ${space} ${os} Graphical Install
 item rhel_install_text ${space} ${os} Text Install
 item --gap Options:
-item arch_set ${space} Architecture [ ${rhel_arch} ]
 item url_set ${space} Base URL [ ${rhel_base_url} ]
 choose rhel_version || goto rhel_exit
 goto ${rhel_version}
 
-:arch_set
-iseq ${rhel_arch} x86_64 && set rhel_arch i386 || set rhel_arch x86_64
-goto rhel
-
 :url_set
 echo Set the HTTP URL of an extracted RHEL ISO without the trailing slash:
 echo e.g. http://www.mydomain.com/rhel/7
@@ -33,8 +30,8 @@ echo
 echo -n URL: ${} && read rhel_base_url
 echo
 echo netboot.xyz will attempt to load the following files:
-echo ${rhel_base_url}/os/${rhel_arch}/images/pxeboot/vmlinuz
-echo ${rhel_base_url}/os/${rhel_arch}/images/pxeboot/initrd.img
+echo ${rhel_base_url}/os/${os_arch}/images/pxeboot/vmlinuz
+echo ${rhel_base_url}/os/${os_arch}/images/pxeboot/initrd.img
 echo
 prompt Press any key to return to RHEL Menu...
 goto rhel
@@ -49,8 +46,8 @@ goto boot
 
 :boot
 imgfree
-kernel ${rhel_base_url}/os/${rhel_arch}/images/pxeboot/vmlinuz inst.repo=${rhel_base_url}/os/${rhel_arch} ${ipparam} ${params} {{ kernel_params }}
-initrd ${rhel_base_url}/os/${rhel_arch}/images/pxeboot/initrd.img
+kernel ${rhel_base_url}/os/${os_arch}/images/pxeboot/vmlinuz inst.repo=${rhel_base_url}/os/${os_arch} ${ipparam} ${params} {{ kernel_params }}
+initrd ${rhel_base_url}/os/${os_arch}/images/pxeboot/initrd.img
 md5sum vmlinuz initrd.img
 boot
 goto rhel

+ 6 - 3
roles/netbootxyz/templates/menu/rockylinux.ipxe.j2

@@ -11,19 +11,22 @@ goto ${menu} ||
 :rockylinux
 clear osversion
 set os {{ releases.rockylinux.name }}
-menu ${os} - ${arch}
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch x86_64 ||
+iseq ${os_arch} arm64 && set os_arch aarch64 ||
+menu ${os} - ${os_arch}
 {% for item in releases.rockylinux.versions %}
 item {{ item.code_name }} ${space} ${os} {{ item.name }}
 {% endfor %}
 isset ${osversion} || choose osversion || goto linux_menu
 echo ${cls}
-set dir ${rockylinux_base_dir}/${osversion}/BaseOS/${arch}/os
+set dir ${rockylinux_base_dir}/${osversion}/BaseOS/${os_arch}/os
 set repo ${rockylinux_mirror}/${dir}
 goto boottype
 
 :boottype
 set ova ${os} ${osversion}
-menu ${os} ${arch} boot type
+menu ${os} ${os_arch} boot type
 item graphical ${ova} graphical installer
 item text ${ova} text based installer
 item rescue ${ova} rescue

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

@@ -4,8 +4,7 @@ goto ${menu} ||
 
 :live_menu
 set os System Rescue
-menu ${os} - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu ${os}
 set ipparam BOOTIF=${netX/mac} ip=dhcp net.ifnames=0
 item --gap ${os} Versions
 {% for key, value in endpoints.items() | sort %}

+ 8 - 7
roles/netbootxyz/templates/menu/ubuntu.ipxe.j2

@@ -7,13 +7,15 @@ goto ${menu}
 
 :ubuntu
 set os Ubuntu
+set os_arch ${arch}
+iseq ${os_arch} x86_64 && set os_arch x86_64 ||
 clear ubuntu_version
 clear install_type
 clear older_release
 clear install_url
 set install_type deb
 set install_priority critical
-menu ${os} - ${arch_a}
+menu ${os} - ${os_arch}
 item --gap Latest Releases
 {% for item in releases.ubuntu.versions %}
 item {{ item.code_name }} ${space} ${os} {{ item.name }}
@@ -23,7 +25,6 @@ item older_release ${space} Set release codename...
 choose ubuntu_version || goto ubuntu_exit
 iseq ${ubuntu_version} older_release && goto older_release ||
 iseq ${ubuntu_version} focal && set install_type sub ||
-iseq ${ubuntu_version} groovy && set install_type sub ||
 iseq ${ubuntu_version} hirsute && set install_type sub ||
 iseq ${ubuntu_version} focal-legacy && set ubuntu_version focal ||
 iseq ${install_type} sub && goto boot_type ||
@@ -35,13 +36,13 @@ set ubuntu_mirror {{ releases.ubuntu.archive_mirror }}
 echo Setting mirror to ${ubuntu_mirror}
 clear ubuntu_version
 echo -n Please set enter code name of release: ${} && read ubuntu_version
-set dir ${ubuntu_base_dir}/dists/${ubuntu_version}-updates/main/installer-${arch_a}/current/images/netboot/
+set dir ${ubuntu_base_dir}/dists/${ubuntu_version}-updates/main/installer-${os_arch}/current/images/netboot/
 goto boot_type
 
 :mirrorcfg
 set mirrorcfg mirror/suite=${ubuntu_version}
-set dir ${ubuntu_base_dir}/dists/${ubuntu_version}-updates/main/installer-${arch_a}/current/images/netboot/
-iseq ${ubuntu_version} focal && set dir ${ubuntu_base_dir}/dists/${ubuntu_version}-updates/main/installer-${arch_a}/current/legacy-images/netboot/ ||
+set dir ${ubuntu_base_dir}/dists/${ubuntu_version}-updates/main/installer-${os_arch}/current/images/netboot/
+iseq ${ubuntu_version} focal && set dir ${ubuntu_base_dir}/dists/${ubuntu_version}-updates/main/installer-${os_arch}/current/legacy-images/netboot/ ||
 goto boot_type
 
 :boot_type
@@ -78,7 +79,7 @@ iseq ${install_type} sub && goto ${ubuntu_version} ||
 
 :deb_boot
 echo Loading Ubuntu PXE netboot installer
-set dir ${dir}${menu}-installer/${arch_a}
+set dir ${dir}${menu}-installer/${os_arch}
 imgfree
 kernel ${ubuntu_mirror}/${dir}/linux ${install_params} ${mirrorcfg} {{ kernel_params }}
 initrd ${ubuntu_mirror}/${dir}/initrd.gz
@@ -104,7 +105,7 @@ 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-${arch_a}.iso || set netboot_params
+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
 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

+ 1 - 2
roles/netbootxyz/templates/menu/unix.ipxe.j2

@@ -3,8 +3,7 @@
 goto ${menu} ||
 
 :unix_menu
-menu Unix Installers - Current Arch [ ${arch} ]
-iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
+menu Unix Installers
 item --gap Unix Distros:
 {% for key, value in releases.items() | sort(attribute='1.name') %}
 {% if value.enabled is defined and value.menu == "unix" and value.enabled | bool %}

+ 1 - 1
version.txt

@@ -1 +1 @@
-2.0.44
+2.0.45