Commit graph

8347 commits

Author SHA1 Message Date
Antony Messerli
95ba65c25d Remove stale autoexec.ipxe when Secure Boot generation is disabled
Prevent a leftover autoexec.ipxe from a previous build with
generate_disks_secureboot enabled from being included in checksums
and release assets when the flag is later turned off.
2026-03-15 18:42:54 -05:00
Antony Messerli
5b29485e52 Fix Secure Boot x86_64 USB image type from Script to IMG 2026-03-15 17:46:04 -05:00
Antony Messerli
682b7ca25c Remove loose Secure Boot binaries from index and checksums
Since secureboot directories are removed after ISO/USB generation,
the index page and checksums should only reference the self-contained
ISO/IMG files. Remove:
- Loose binary entries (shim, ipxe, snponly, autoexec) from bootloader
  definitions in defaults/main.yml
- Subdirectory link logic from index.html.j2 template
- Secureboot-specific checksum tasks from generate_checksums.yml
- Secureboot sections from checksums.txt.j2 template

The autoexec.ipxe at the ipxe root is picked up automatically by
the existing flat-file checksum logic.
2026-03-15 17:42:41 -05:00
Antony Messerli
8cb64ed88f Move autoexec.ipxe to ipxe root and remove secureboot dirs before checksums
After ISO/USB images are generated from the secureboot directories,
move autoexec.ipxe to the ipxe root as a standalone file and remove
the secureboot directories. This means:
- Checksums are generated cleanly with no secureboot-* subdirectory entries
- autoexec.ipxe is checksummed automatically as a regular ipxe/ file
- build_release needs no special handling for secureboot directories
- autoexec.ipxe flows naturally into both githubout (release asset)
  and s3out (CDN) through the existing copy logic
2026-03-15 17:39:57 -05:00
Antony Messerli
029b06d605 Fix checksums file: remove stale secureboot paths, add autoexec.ipxe
The Ansible-generated checksums file references files under
secureboot-x86_64/ and secureboot-arm64/ which are removed from
githubout. Strip those entries and add the standalone autoexec.ipxe
so the checksums file matches the actual release assets.
2026-03-15 17:14:55 -05:00
Antony Messerli
75e895dfa7 Copy autoexec.ipxe to s3out root for CDN serving
Ensure autoexec.ipxe is available at the root of the S3 bucket
(boot.netboot.xyz/{version}/autoexec.ipxe) alongside other boot
files, not only nested under ipxe/secureboot-x86_64/.
2026-03-15 17:05:27 -05:00
Antony Messerli
e2ac06c49c Publish autoexec.ipxe as standalone release asset for Secure Boot
Instead of repackaging the iPXE signed binaries into netboot.xyz
tarballs, publish only the templated autoexec.ipxe boot script as a
release asset. Consumers (e.g. docker-netbootxyz) download the signed
binaries directly from the upstream iPXE release (ipxeboot.tar.gz),
preserving provenance and avoiding checksum mismatches from
repackaging.

The autoexec.ipxe is identical for both x86_64 and ARM64 -- it
contains the netboot.xyz-specific boot_domain, boot_version, and
menu chain logic with DHCP, failsafe menu, and HTTPS/HTTP fallback.
2026-03-15 16:53:48 -05:00
Antony Messerli
9c0f6f9d08 Package Secure Boot binaries as tarballs in release assets
The Secure Boot directories (secureboot-x86_64/, secureboot-arm64/)
produced by generate_disks_secureboot cannot be uploaded directly as
GitHub release assets since releases are flat file lists. Package them
into secureboot-x86_64.tar.gz and secureboot-arm64.tar.gz so they are
included in the release alongside existing boot files.

This enables docker-netbootxyz and other consumers to download the
signed iPXE Secure Boot binaries and autoexec.ipxe directly from
netboot.xyz releases.
2026-03-15 16:28:23 -05:00
Antony Messerli
be725a5ce8
Merge pull request #1757 from netbootxyz/feature/ubuntu-hwe-kernel-support
Add HWE kernel support to Ubuntu installer menu
2026-03-15 13:52:40 -05:00
Antony Messerli
3b3ae7f812
Merge pull request #1755 from netbootxyz/fix/ansible-facts-deprecation
Fix Ansible INJECT_FACTS_AS_VARS deprecation warnings
2026-03-15 13:51:35 -05:00
Antony Messerli
ba2f48883e Clear kernel_flavor on menu re-entry to prevent stale HWE selection
Fixes a bug where returning to the Ubuntu version menu after selecting
HWE, then choosing older_release or a legacy path, would leave
kernel_flavor set to 'hwe' and attempt to jump to a non-existent label.
2026-03-15 13:46:12 -05:00
Antony Messerli
acf875cd1e Add HWE kernel support to Ubuntu installer menu
Add kernel type selection (Generic vs HWE) for Ubuntu LTS versions
when HWE endpoints are available. The menu only appears when
netboot-hwe flavor endpoints exist in endpoints.yml for the selected
version and architecture, keeping the flow unchanged for non-LTS
releases.

Ref: netbootxyz/ubuntu-squash#8
2026-03-15 13:46:05 -05:00
netboot-ci
3909d381e5 Version bump for netbootxyz/ubuntu-squash:ubuntu-netboot-hwe-24.04-arm64 new tag 24.04.4-940f2f1c 2026-03-15 18:42:17 +00:00
netboot-ci
a603a3adf9 Version bump for netbootxyz/ubuntu-squash:ubuntu-netboot-hwe-24.04-amd64 new tag 24.04.4-5d65e4e9 2026-03-15 18:39:18 +00:00
netboot-ci
d1624b8612 External Version bump for mageia new version string "8" 2026-03-15 05:23:51 +00:00
Antony Messerli
a3a1ccb4aa
Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-03-14 14:35:14 -05:00
Antony Messerli
b8c8859fd8 Add AGENTS.md with build commands, code style, and project guidelines 2026-03-14 10:13:49 -05:00
Antony Messerli
98bc813678 Add Secure Boot ISO and USB images with embedded autoexec.ipxe
Use genfsimg with the -e (shim) and -s (script) flags to generate
Secure Boot ISO and USB images, matching the approach used by the
iPXE project's own build workflow. The images contain the signed
shim as BOOTX64/BOOTAA64.EFI, the signed iPXE binary, and the
netboot.xyz autoexec.ipxe boot script.

Output files:
- netboot.xyz-sb.iso / netboot.xyz-sb.img (x86_64)
- netboot.xyz-sb-arm64.iso / netboot.xyz-sb-arm64.img (ARM64)

Ref #1745
2026-03-14 00:36:07 -05:00
Antony Messerli
8ab45836fc Fix Ansible INJECT_FACTS_AS_VARS deprecation warnings
Replace deprecated top-level ansible_* fact variables with the
ansible_facts[] dictionary syntax to silence deprecation warnings
from ansible-core and prepare for removal in ansible-core 2.24.

- generate_disks_base.yml: ansible_distribution, ansible_os_family,
  ansible_distribution_version, ansible_distribution_major_version
- generate_checksums.yml: ansible_os_family

Ref #1745
2026-03-14 00:24:01 -05:00
Antony Messerli
d059ddb7a8 Add UEFI Secure Boot support using iPXE v2.0.0 signed binaries
Downloads pre-built Microsoft-signed iPXE Secure Boot binaries from
the iPXE v2.0.0 release (ipxeboot.tar.gz) and packages them with a
templated autoexec.ipxe that chains into the netboot.xyz menu system.

Boot flow: UEFI firmware validates iPXE shim (Microsoft-signed) which
loads iPXE (signed by iPXE Secure Boot CA) which auto-loads
autoexec.ipxe (text script, no SB validation needed) which chains to
https://boot.netboot.xyz/menu.ipxe.

Changes:
- New generate_disks_secureboot.yml task to download and package
  signed iPXE binaries for x86_64 and ARM64
- New autoexec.ipxe.j2 template with DHCP, failsafe menu, and
  HTTPS/HTTP fallback chain to boot.netboot.xyz
- Bootloader entries and index.html sections for Secure Boot binaries
  served from ipxe/secureboot-x86_64/ and ipxe/secureboot-arm64/
- Checksum generation updated to handle subdirectories
- Debian menu template updated with shim command for Secure Boot
  kernel validation (no-op on non-SB systems)
- Production overrides enable Secure Boot generation

Closes #1745
2026-03-14 00:20:17 -05:00
netboot-ci
8216163deb Version bump for netbootxyz/debian-squash:vyos-rolling new tag 2026.03.12-0023-rolling-bf6bd56c 2026-03-13 05:12:48 +00:00
netboot-ci
a06e5608a7 Version bump for netbootxyz/debian-squash:clonezilla-testing-amd64 new tag 3.3.2-2-8db01622 2026-03-13 05:09:22 +00:00
netboot-ci
8254644492 Version bump for netbootxyz/ubuntu-squash:clonezilla-testing-amd64 new tag 20260311-resolute-bea81d96 2026-03-12 05:18:54 +00:00
netboot-ci
d7951896df Version bump for netbootxyz/ubuntu-squash:kde-neon-user new tag 20260305-0745-88395a11 2026-03-12 05:16:04 +00:00
netboot-ci
9ffdc18292 External Version bump for coreos new version string "43.20260217.3.1-stable,43.20260301.2.1-testing,44.20260306.1.1-next" 2026-03-11 05:10:07 +00:00
netboot-ci
309702828c External Version bump for smartos new version string "20260306T044811Z,20260305T000543Z,20260219T015737Z,20260205T001426Z" 2026-03-11 05:06:14 +00:00
netboot-ci
a91ffba798 External Version bump for ipfire new version string "2.29-core200" 2026-03-11 05:06:04 +00:00
netboot-ci
b9cd7af6fb External Version bump for archlinux new version string "2026.03.01" 2026-03-10 06:06:06 +00:00
netboot-ci
888b716ff5 Version bump for netbootxyz/asset-mirror:memtest86-free new tag 11.6-e4a137e7 2026-03-10 06:01:22 +00:00
netboot-ci
b4846ae803 Version bump for netbootxyz/asset-mirror:shredos-x86_64 new tag 2025.11_28_x86-64_0.40-bf7a6bdf 2026-03-10 05:47:27 +00:00
netboot-ci
de1b787805 Version bump for netbootxyz/asset-mirror:cachyos new tag 260308-b5de98b7 2026-03-09 05:18:29 +00:00
netboot-ci
4652dc3d78 Version bump for netbootxyz/asset-mirror:gentoo-amd64 new tag 20260121T111559Z-9aa997ef 2026-03-09 05:17:31 +00:00
netboot-ci
c43c34debd Version bump for netbootxyz/debian-squash:clonezilla-testing-amd64 new tag 3.3.1-37-8db01622 2026-03-06 05:09:11 +00:00
netboot-ci
a4cd3e3d66 Version bump for netbootxyz/debian-squash:vyos-rolling new tag 2026.03.05-0026-rolling-bf6bd56c 2026-03-06 05:08:40 +00:00
netboot-ci
7a23191e87 Version bump for netbootxyz/ubuntu-squash:kde-neon-user new tag 20260226-0746-88395a11 2026-03-05 05:20:47 +00:00
netboot-ci
fda888b137 Version bump for netbootxyz/ubuntu-squash:clonezilla-testing-amd64 new tag 20260301-resolute-bea81d96 2026-03-05 05:15:21 +00:00
netboot-ci
f4003b6608 Version bump for netbootxyz/asset-mirror:tails new tag 7.5-17629562 2026-03-02 05:18:34 +00:00
netboot-ci
c034104bd2 Version bump for netbootxyz/asset-mirror:4mlinux-bakandimg new tag 51.0-978b0518 2026-03-02 05:14:46 +00:00
netboot-ci
ccb1b4eb42 Version bump for netbootxyz/asset-mirror:4mlinux new tag 50.1-fcaac630 2026-03-02 05:12:38 +00:00
netboot-ci
36d24643f1 Version bump for netbootxyz/asset-mirror:4mlinux-thesss new tag 51.0-bb45ecde 2026-03-02 05:10:53 +00:00
netboot-ci
c1fff94952 Version bump for netbootxyz/debian-squash:sparky-stable-lxqt new tag 8.2-16df4761 2026-02-27 05:17:44 +00:00
netboot-ci
f163a3ddc8 Version bump for netbootxyz/debian-squash:clonezilla-stable-amd64 new tag 3.3.1-35-1a41a72c 2026-02-27 05:13:46 +00:00
netboot-ci
9493e30951 Version bump for netbootxyz/debian-squash:vyos-rolling new tag 2026.02.25-0029-rolling-bf6bd56c 2026-02-27 05:13:31 +00:00
netboot-ci
d5d3b82e61 Version bump for netbootxyz/ubuntu-squash:clonezilla-testing-amd64 new tag 20260220-resolute-bea81d96 2026-02-26 05:22:52 +00:00
netboot-ci
04e89a8814 Version bump for netbootxyz/ubuntu-squash:kde-neon-user new tag 20260220-1435-88395a11 2026-02-26 05:19:40 +00:00
netboot-ci
3dad3144a3 Version bump for netbootxyz/ubuntu-squash:clonezilla-stable-amd64 new tag 20260220-questing-b835723b 2026-02-26 05:14:33 +00:00
netboot-ci
68764d9c26 External Version bump for coreos new version string "43.20260202.3.1-stable,43.20260217.2.2-testing,43.20260218.1.2-next" 2026-02-24 05:17:07 +00:00
netboot-ci
2465c289fb Version bump for netbootxyz/asset-mirror:gentoo-amd64 new tag 20260118T170102Z-9aa997ef 2026-02-23 05:23:20 +00:00
netboot-ci
63a95e968e Version bump for netbootxyz/debian-squash:clonezilla-testing-amd64 new tag 3.3.1-30-8db01622 2026-02-20 05:17:44 +00:00
netboot-ci
cb9eb88015 Version bump for netbootxyz/debian-squash:sparky-stable-gui new tag 8.2-28fbf253 2026-02-20 05:15:45 +00:00