Commit Graph
113 Commits
Author SHA1 Message Date
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
Antony Messerli 86078af2b4 Display sha pulled 2026-01-24 11:08:03 -06:00
Antony Messerli acc8de4045 Bump version to 3.x series for code signing certificate update
- Update version.txt from 2.0.90 to 3.0.0
- Update boot_version from 2.x to 3.x in defaults/main.yml
- Update hardcoded version references in script/build_release
- Update example in user_overrides.yml
- Add 3.0.0 changelog entry with breaking change notice
- Users with 2.x bootloaders will auto-upgrade to 3.x on boot

IMPORTANT: Updated binaries should be downloaded to pull latest
netboot.xyz with updated code signing certificates embedded for
image signature verification.
2026-01-24 10:23:09 -06:00
Antony Messerli 7c4c656d29 Increase parallel jobs 2024-08-22 00:16:21 -05:00
Antony Messerli 6f3ba40d33 Revert "Switches bootloader_disks to bootloader_flavors"
This reverts commit fc06700dbe.
2024-03-30 17:40:28 -05:00
Antony Messerli fc06700dbe Switches bootloader_disks to bootloader_flavors
Ensures bootloader_disks is set to one type to keep
index generation bound to one falvor type. Shifts generate
disk loop to use bootloader_flavors variable taht can be stacked
with multiple types.

Should fix issue causing the index to have the last name in the list
of bootloader_disks which was setting the incorrect name. This was
probably introduced with the change in:

https://github.com/netbootxyz/netboot.xyz/pull/1096
2024-03-30 17:31:09 -05:00
Antony Messerli 0a08487a4d Revert "Testing rpi"
This reverts commit 4172102e2a.
2023-10-24 23:01:42 -05:00
Antony Messerli 4172102e2a Testing rpi 2023-10-24 22:09:42 -05:00
Antony Messerli b7403abffa Revert "Test RPI builds"
This reverts commit b954aa37e3.
2022-07-25 00:38:17 -05:00
Antony Messerli ebfc9dacf1 Revert "Wrap vars in quotes"
This reverts commit b9b1e40d03.
2022-07-25 00:07:35 -05:00
Antony Messerli b9b1e40d03 Wrap vars in quotes 2022-07-24 23:01:25 -05:00
Antony Messerli b954aa37e3 Test RPI builds 2022-06-30 18:08:19 -05:00
Antony Messerli 4f4eb8b26c Consolidate Dockerfiles
Uses ARGs for whether to add production overrides
or not, by default, it uses the default settings
and not the overrides.
2022-06-26 12:36:40 -05:00
Antony Messerli f87fa879b8 Disable RPI builds 2022-04-21 19:18:52 -05:00
Antony Messerli a9b0e6aaa5 Fix script for recent lint changes 2022-04-16 00:10:14 -05:00
Antony Messerli d6ada65175 Lint fixes 2022-03-21 20:13:42 -05:00
Dustin Miller 95f4fff6a6 Change from Packet to Equinix Metal 2022-02-11 10:55:11 -07:00
Antony Messerli 807cd83674 Add ipxe builds for linux userspace 2021-10-13 11:47:32 -05:00
Antony Messerli 0f1945c6c4 Update Discord notification for rolling push
Existing push was notifying release was updated when it
is really just the rolling push. Updates message to be
more accurate.
2021-10-01 08:38:07 -05:00
Antony Messerli 4c0de9ca53 Adds rolling release deploy
2.x is designated as a rolling release but usually is aligned
with an actual release.  This commit will allow for updates
to endpoints.yml and the Ansible defaults that contains all
of the version updates to be pushed to boot.netboot.xyz
automatically as they are come in.

This will allow version updates like ArchLinux to be rolled out
immediately with out the lag during releases.
2021-09-30 16:57:08 -05:00
Antony MesserliandGitHub 1f728f9576 Delete pre_install
No longer needed
2021-09-04 08:56:26 -05:00
Antony Messerli 6d2d6c9363 Generate local-vars.ipxe by default with examples
Adds the local-vars.ipxe file which can be updated
for changes.  Local vars is parsed on bootup if
the next-server and filename are both set on the
local dhcp server.
2021-08-05 20:25:28 -05:00
Antony 802501cc85 Add support for iPXE hybrid disks
Combins EFI and Legacy into one disk
2021-01-14 20:55:53 -06:00
Antony f105676c9d Update icon urls for discord messaging 2021-01-14 16:50:14 -06:00
Antony Messerli d378285372 Remove tty from docker for actions workflow
Hotfix to release to build
2020-12-09 01:43:44 -06:00
Antony Messerli 3830da6bb2 Switch to using Github Actions
With the recent changes to Travis CI, it seemed
like a good time to begin porting netboot.xyz CI
over to Github Actions to keep everything in on
place.  These are the changes for the main
netboot.xyz repo.
2020-12-06 12:00:14 -06:00
Antony Messerli 42860644af Update avatar url for discord bot 2020-11-21 10:59:47 -06:00
Antony Messerli e23025af2c Adds experimental support for Raspberry Pi 4
Adds experimental support for Raspberry Pi 4 to
the netboot.xyz bootloader.  Leverages the pipxe
project to build images.
2020-10-29 03:29:47 +00:00
Antony Messerli c93eccbcdf Remove unused ipxe config option 2020-07-14 22:03:41 -05:00
Antony Messerli 253acc4ca3 Move back to iPXE master branch 2020-06-27 17:39:51 -05:00
Antony Messerli 094b4dd287 Pin iPXE branch to known working
Pins iPXE branch as arm64 build is failing with a
Unrecognised relocation type 311.  It appears that
iPXE upstream may have introduced a change causing
build to fail in commit

a61b27b97f572a83ede765a0e779694865950cf2
2020-06-24 19:11:18 -05:00
thelamer 120c41ded5 adding random string to RC if the release allready exists so we can roll more than one if needed 2020-01-25 08:54:24 -08:00
Antony Messerli bcbc90d51b Removes external image signature checking
Cleans up code and removes external OS signature checking code
as it's not very reliable and not currently being used.

Source signature checking will remain in place.
2020-01-12 16:21:04 -06:00
Antony Messerli 36eb55b9f0 More tuning for endpoints menu 2020-01-10 01:10:01 -06:00
Antony Messerli b0144221e1 Set boot_version first before using 2020-01-09 23:39:14 -06:00
Antony Messerli eb3a703c0e Adds netboot.xyz endpoints menu for testing
Uploads version.ipxe to root of endpoints so that latest
deployed version can be loaded.

Removes memdisk iso test from efi utils menu.
2020-01-09 22:21:34 -06:00
Antony Messerli 37d4081cb3 Generate version.ipxe
Generates version.ipxe for upstream notificaiton for clients
2019-12-26 20:35:45 -06:00
Antony Messerli 56b9e886b8 Correct live url message to reflect proper url 2019-12-26 17:47:59 -06:00
thelamer 274a6ddef8 add if to push a tarball of menu files to S3 for consumption 2019-12-26 09:46:59 -08:00
Antony MesserliandGitHub 17946f1ecc Remove duplicate key
Removes duplicate generate_disks_arm key
2019-12-25 13:39:33 -06:00
Antony Messerli 35ee4ce2b5 Set up prod urls
Adjusts variables for production deployment
2019-12-20 15:48:23 +00:00
Antony MesserliandGitHub 716f509840 Reduce amount of generated disks (#431)
Reduce amount of generated disks

Readme updates, adds version.ipxe for menu version
Generates version.ipxe from version.txt.  Used to show the 
latest version upstream on the main site.  Disabled by default 
for regular deployments but enabled as an upstream option.
2019-12-19 09:22:01 -06:00
Antony MesserliandRyan Kuba f6d0d2b585 Generate arm64 efi disks 2019-12-18 17:48:45 -08:00
Antony MesserliandRyan Kuba b5ad3ee86c Generate site_name banner for index 2019-12-16 23:13:58 -08:00
Antony Messerli f628157e43 Fixing signatures and add certs to loaders
* Shifting after_deploy messages and aws invalidation to
  proper locations
* Add cert checkout to preinstall and setting those on s3
  deploys only
* Adding production docker file which runs netboot.xyz overrides
* Only display sig menus if enabled
* Fix var names for signing
2019-12-15 22:02:19 +00:00
thelamer 78eac80448 only run the update logic on the rolling .x series, tag the versioned builds to display in menu 2019-12-11 16:45:13 -08:00
Antony MesserliandRyan Kuba 0dbb0afd94 Various Fixes
* Bumps Arch and Black Arch to latest
* Drops sigs from Arch
* Drops Debian Jessie and Wheezy - EOL
* Changes Fedora Core OS syntax, disabled as not working currently
* Corrects checksum file name
* Changes AlpineLinux kernel names for edge
* Fixes CentOS url
* Fixes Arch url
* Adds netboot.xyz overrides file
* Disables Devuan as mirror cert is expired
* Drops Fedora Workstation and Atomic
2019-12-11 07:21:19 -08:00
Antony Messerli 62ad2ec3ea Remove static content and deploy scripts 2019-12-08 10:53:59 -06:00
Antony Messerli 7c0dda0cb3 Merge remote-tracking branch 'development-repo/development' into development 2019-12-08 10:48:30 -06:00
thelamer af1c825633 live build debugging need to do the tagging in the script section if you have multiple deploys 2019-12-07 16:51:04 -08:00