mirror of
https://github.com/netbootxyz/netboot.xyz.git
synced 2026-04-25 07:05:56 +03:00
[GH-ISSUE #737] NixOS 20.09 missing netboot artifacts in Hydra #1754
Labels
No labels
Hacktoberfest
Hacktoberfest
bootloader
bsd
bug
confirmed
documentation
duplicate
enhancement
enhancement
enhancement
eol
experimental-merged
freebsd
help wanted
invalid
investigate
ipxe
linux
live-os
memdisk
menu
no-issue-activity
no-issue-activity
pull-request
released
todo
upstream
windows
windows
work-in-progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/netboot.xyz#1754
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @antonym on GitHub (Oct 31, 2020).
Original GitHub issue: https://github.com/netbootxyz/netboot.xyz/issues/737
It appears that NixOS isn't building netboot artifacts from Hydra anymore for 20.09. If there's not a location upstream anymore to pull the netboot files, we may have to go build them with docker and release it ourselves.
https://nixos.org/manual/nixos/stable/#sec-booting-from-pxe
An example of a builder I hacked on a while ago:
https://github.com/antonym/nixos-builder/blob/master/.circleci/config.yml
@Mic92 commented on GitHub (Nov 3, 2020):
Do you depend on circle CI for building? There is also very good github actions support for nix: https://github.com/cachix/install-nix-action and we have similar tooling for https://github.com/nix-community/nix-travis-ci
@antonym commented on GitHub (Nov 3, 2020):
We're using travis mainly, but for the last release we pulled the netboot builds directly from Hydra as downloads, it appears the netboot jobs are not producing the build artifiacts anymore, so if we can't get those anymore we may just need to build them ourselves.
We previously pulled artifacts from here for last release:
https://hydra.nixos.org/job/nixos/release-20.03/nixos.netboot.x86_64-linux/latest
@Mic92 commented on GitHub (Nov 3, 2020):
Ok. It should be straight forward convert your circle ci script to a travis ci job. cc @Lassulus
@Mic92 commented on GitHub (Nov 3, 2020):
Where should we push the resulting image?
@antonym commented on GitHub (Nov 3, 2020):
Yeah, I'll go down that route if I need to. Obviously I'd like to pull the bits directly from NixOS without having to re-host as then they are the most trusted and updated source, so I'd like to understand if there is a new location for the artifacts and if not, we'll see about building the artifacts ourselves and hosting.
@Mic92 commented on GitHub (Nov 3, 2020):
I can also checkout why we no longer building the netboot image. We also have some ways to hosting stuff on tarballs.nixos.org.
@antonym commented on GitHub (Nov 3, 2020):
Here's where we pulled the 20.03 artifacts from:
https://hydra.nixos.org/build/124244129
@Mic92 commented on GitHub (Nov 3, 2020):
I think we have people working on that already: https://github.com/NixOS/hydra/pull/827 (cc @ajs124)
@github-actions[bot] commented on GitHub (Dec 4, 2020):
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
@Mic92 commented on GitHub (Dec 4, 2020):
still relevant.
@github-actions[bot] commented on GitHub (Jan 4, 2021):
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
@Mic92 commented on GitHub (Jan 5, 2021):
still an issue.
@antonym commented on GitHub (Jun 2, 2021):
https://hydra.nixos.org/job/nixos/release-21.05/nixos.netboot.x86_64-linux/latest
Still looks broken and missing artifacts...
@fuu0 commented on GitHub (Jun 9, 2021):
Looks like its fixed now, the latest build is successful:
https://hydra.nixos.org/build/145123607
@Lassulus commented on GitHub (Jun 9, 2021):
but still no artifacts. Guess we need to build the image ourself then.
@ajs124 commented on GitHub (Jun 9, 2021):
It's still the same bug in hydra. It just hasn't been fixed.
@Mic92 commented on GitHub (Jun 10, 2021):
Would be a repo in nix-community acceptable that uploads nixos image to release assets?
@thelamer commented on GitHub (Jun 10, 2021):
Yes, 100% yes.
In general it is way easier for all kinds of downstream integration and adoption having the releases be able to be parsed at a REST endpoint like GitHub's API. Even if it is just a directly uploaded release from your existing build system. You also get to leverage free CDN coverage as GitHub essentially pays your AWS bill.
Last time I dug into this I was not able to find an API combination that would allow me to drill down to the latest build artifact version and download URL.
@Mic92 commented on GitHub (Jun 10, 2021):
There you go: https://github.com/nix-community/nixos-images/releases
@Mic92 commented on GitHub (Jun 10, 2021):
Current release: https://github.com/nix-community/nixos-images/releases/tag/nixos-21.05
Unstable version (rolling release): https://github.com/nix-community/nixos-images/releases/tag/nixos-unstable
@thelamer commented on GitHub (Jun 10, 2021):
Great stuff!
I am AFK for a couple days, but will prioritize ingesting from this endpoint when I get back.
You can also use the "prerelease" release type to split the rolling releases from the stable ones. Simplifies ingestion and keeps a tagged history of your releases.
@antonym commented on GitHub (Jun 12, 2021):
Thanks for setting up the release like that. Is the netboot.ipxe relevant still? I noticed it was not in that repo. Is that init directory unique to every image created?
@Mic92 commented on GitHub (Jun 12, 2021):
No it is not unique. the ipxe script is still present in the build output. I will also upload it.
@Mic92 commented on GitHub (Jun 12, 2021):
Ok. It also includes
netboot-x86_64-linux.ipxeLet me know if you need to have things structured differently.Right now it is still easy to change things without breaking user expectations.
@thelamer commented on GitHub (Jun 12, 2021):
If you slightly modify that ipxe file to point to the remote assets we can simply chain into it IE:
Then our boot entries will point directly to the IPXE file in github tagged by their release.
Furthermore we can also just chain into menu hosted on your side so you have full control over the user experience.
Let me know if any of this sounds good to you, otherwise the process would be we would have two boot entries one for stable one for rolling and we would pull the ipxe file parsing out the
bazp55pri6m6kqwc530vdvv1ss2jmhw5-nixos-system-nixos-21.05beta-160507.gfedcbasection and host the IPXE on our side while pointing to the remote assets located in the release.@Mic92 commented on GitHub (Jun 13, 2021):
The new ipxe script has now https download urls instead as requested. That hopefully also makes it more useful beyond netboot.xyz.
@thelamer commented on GitHub (Jun 14, 2021):
REF: https://github.com/netbootxyz/netboot.xyz/pull/915
FYI @Mic92 only the unstable ipxe file seems to be pointing to github assets right now.
@Mic92 commented on GitHub (Jun 14, 2021):
Ah, right. I was only running the script locally. Now I started the CI: https://github.com/nix-community/nixos-images/actions/runs/934594506
Updates will be than regularly every week.
@thelamer commented on GitHub (Jun 14, 2021):
Cool, this is live at development head and will be included in the next tagged release:
https://s3.amazonaws.com/dev.boot.netboot.xyz/a09871327257fd56b1225943f8f3d270ad1a5329/index.html
We ingest any published tag you have so you can add/remove them and they will show up as a boot option under the menu, the ipxe is pretty simple IE now it looks like this:
https://s3.amazonaws.com/dev.boot.netboot.xyz/a09871327257fd56b1225943f8f3d270ad1a5329/nixos.ipxe
@antonym commented on GitHub (Jun 14, 2021):
Thanks all!
@antonym commented on GitHub (Jun 14, 2021):
Noticed one issue, the initrd= in the ipxe file needs to be updated to reflect the initrd name:
initrd=initrd needs to be initrd=initrd-x86_64-linux
@antonym commented on GitHub (Jun 16, 2021):
@Mic92 ^
@Mic92 commented on GitHub (Jun 16, 2021):
fixed now.
@Mic92 commented on GitHub (Jun 26, 2021):
Everything alright now?
@antonym commented on GitHub (Jun 26, 2021):
Yes, I believe it's all working now, thanks!