Message ID | 1526658340-1992-1-git-send-email-thuth@redhat.com |
---|---|
Headers | show |
Series | Support network booting with pxelinux.cfg files | expand |
On 19/5/18 1:45 am, Thomas Huth wrote: > When booting a Linux kernel via network, it's sometimes more convenient > to load the kernel and initrd separately instead of having to create > a joint kernel + initrd file. The most common "standard" for doing such > network boots are the so-called pxelinux.cfg config files, initially > introduced by the PXELINUX bootloader on x86, but nowadays also used > on ppc64 by petitboot for example. So let's support booting via these > config files in SLOF, too! > > v2: > - Added support for UUID-based file names (last two patches) > - Addressed Greg's feedback from v1 > > Thomas Huth (11): > libnet: Get rid of unused huge_load and block_size parameters > obp-tftp: Make sure to not overwrite paflof in memory > libnet: Pass tftp_retries and ip_version via struct filename_ip > libnet: Put code for determing TFTP error strings into a separate > function > libc: Implement strrchr() > libnet: Add functions for downloading and parsing pxelinux.cfg files > libnet: Wire up pxelinux.cfg network booting > libc: Check for NULL pointers in free() > libnet: Add support for DHCPv4 options 209 and 210 > slof: Add a helper function to get the contents of a property in C > code > libnet: Support UUID-based pxelinux.cfg file names I pushed 05/11 and 08/11 as they independent, I'll continue with this tomorrow - finish reading and then I need to learn how to setup this pxe thing to test so it is going to take a bit :) Thanks, > > include/helpers.h | 4 + > lib/libc/stdlib/free.c | 4 +- > lib/libc/string/Makefile.inc | 2 +- > lib/libc/string/strrchr.c | 28 ++++++ > lib/libnet/Makefile | 2 +- > lib/libnet/dhcp.c | 33 +++++++ > lib/libnet/libnet.code | 4 +- > lib/libnet/netapps.h | 3 +- > lib/libnet/netload.c | 196 +++++++++++++++++++++---------------- > lib/libnet/ping.c | 14 ++- > lib/libnet/pxelinux.c | 223 +++++++++++++++++++++++++++++++++++++++++++ > lib/libnet/pxelinux.h | 33 +++++++ > lib/libnet/tftp.c | 120 ++++++++++++++++++++--- > lib/libnet/tftp.h | 14 ++- > slof/fs/packages/obp-tftp.fs | 11 ++- > slof/helpers.c | 30 +++++- > 16 files changed, 603 insertions(+), 118 deletions(-) > create mode 100644 lib/libc/string/strrchr.c > create mode 100644 lib/libnet/pxelinux.c > create mode 100644 lib/libnet/pxelinux.h >