Commit Graph

12 Commits

Author SHA1 Message Date
David Anderson
2ed7bd3020 pixiecore: stop asking for bug reports, pixiecore isn't actively developed
Signed-off-by: David Anderson <dave@natulte.net>
2024-05-31 16:23:30 -07:00
David Anderson
9e897ef112 pixiecore: fix the unknown firmware type error in DHCP and PXE.
The error message accidentally used the retval instead of the packet's
value, so always returned type 0 (x86 PC, the most universal firmware type)
instead of the actual unsupported type.

Signed-off-by: David Anderson <dave@natulte.net>
2024-05-31 16:00:29 -07:00
David Anderson
ff3b2f6fd6 Refactor firmware identification to be a bit easier to follow. #63 2018-02-04 17:56:00 -08:00
David Anderson
b7411f3ed3 Only boot with ipxe.pxe if we're chainloading from another iPXE. #63
undionly.kpxe doesn't work if you chainload from a native iPXE, but it's
required for physical machines with NICs that iPXE doesn't natively
support.

In my previous attempt to handle Virtualbox's crippled iPXE, I switched
all BIOS-based boots to use ipxe.pxe. This was a bad idea, so now instead
we specifically recognize third-party iPXE builds, and only chainload
*those* with ipxe.pxe, and stick with undionly.kpxe for the rest.
2018-02-04 14:41:09 -08:00
David Anderson
029be8d339 Force machines to chainload through Pixiecore's embedded iPXE.
This guarantees that we load the real OS from an iPXE with a known
featureset, rather than rely on the firmware iPXEs to be correct.

Also switch to ipxe.pxe for BIOS boots instead of undionly.kpxe.

ipxe.pxe works when you chainload from one iPXE to another, whereas
undionly.kpxe encounters some kind of poorly explained bug where
it loses the ability to configure networking.

Tested against the following configurations:
 - VirtualBox + BIOS w/ iPXE
 - VirtualBox + BIOS w/ Intel UNDI
 - VirtualBox + EFI
 - KVM + SeaBIOS w/ iPXE
 - KVM + OVMF (EFI)
 - Dell R610 + Dell BIOS/PXE

Fixes #51, fixes #52.
2018-01-15 19:17:56 -08:00
David Anderson
81fbed5acf Also check foor bzImage support in the ProxyDHCP stage. #51
Virtualbox inexplicably ships with an iPXE image that knows
how to speak HTTP, but cannot handle bzImage files. This is a
quick and dirty fix for that specific issue, while I work on
the more permanent fix of always chainloading into a known
good iPXE.
2017-12-24 19:28:41 -08:00
David Anderson
63c4bab4d1 Add a debug log entry in DHCP before fetching the bootspec.
Adding this line lets us time the bootspec retrieval by comparing
the timestamps of "Got valid request..." and "Offering to boot..."
2017-03-01 20:57:47 -08:00
David Anderson
8e5c0d0793 pixiecore: Add a basic HTTP status UI.
The UI is optional and need to be explicitly activated, since I
don't want existing users to suddenly have an information-spewing
thing show up on their network.
2016-09-19 03:43:57 -07:00
David Anderson
0e0eaa8454 pixiecore: implement orderly shutdown on error or request. 2016-08-16 00:18:23 -07:00
David Anderson
4aa8885728 pixiecore: rework logging to provide less verbose, more useful logs by default.
Also adds a debug channel with the full line noise.
2016-08-15 21:33:57 -07:00
David Anderson
2b4d1e8101 pixiecore: replace fmt.Print* with a user-customizable logging function.
Also introduces a "Trace" member to the API, for the future addition of
extremely verbose and complete tracing, to be used for bug reports. But
for now, only Log is used.
2016-08-10 21:36:47 -07:00
David Anderson
e440f01741 pixiecore: new version of Pixiecore, using netboot libraries.
This version is still *extremely* barebones, and the unstable tag
in the README applies triple for it, but the code in its current
state is capable of booting x86 and UEFI clients correctly, and
that was hard enough to merit a snapshot checkpoint.
2016-08-09 00:19:08 -07:00