Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
nixos/pixiecore: init #83406
Motivation for this change
This should only be merged after #83373 . You can use that PR to review the package part. This is one is for the module.
This is a rebase of #62113 (the module part).
I also added support for the "api" mode and added openFirewall and extraArguments options.
I tried to address all the reviews from the old abandoned PR.
The module was requested in #49740
Thanks for the review @Profpatsch . Is it OK like that or should I use
EDIT: I also made
kernel = "https://boot.netboot.xyz/ipxe/netboot.xyz.lkrn";
Yep. I also have another PR in the work that might be nice.
Port 69 is TFTP. Pixiecore does a fairly elaborate chainloading operation (described in https://github.com/danderson/netboot/blob/master/pixiecore/README.booting.md) to ensure that it works with the widest possible variety of weird and broken firmwares.
TL;DR: a PXE-booting client hits port 67 for DHCP, then port 4011 (BINL, an MS proprietary fork of PXE but that's a de-facto standard), then port 69 (TFTP to download iPXE with HTTP support), then the HTTP port (to finally download boot instructions, kernel+initrd, and finish the netboot).