Message ID | 1527314768-4797-1-git-send-email-thuth@redhat.com |
---|---|
Headers | show |
Series | Support network booting with pxelinux.cfg files | expand |
On 26/5/18 4:06 pm, 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! > > v3: > - Addressed Alexey's review feedback from v2 Thanks, applied. > > v2: > - Added support for UUID-based file names (last two patches) > - Addressed Greg's feedback from v1 > > Thomas Huth (8): > libnet: Pass ip_version via struct filename_ip > libc: Add the snprintf() function > libnet: Put code for determing TFTP error strings into a separate > function > libnet: Add functions for downloading and parsing pxelinux.cfg files > libnet: Wire up pxelinux.cfg network booting > 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 > > include/helpers.h | 4 + > lib/libc/include/stdio.h | 1 + > lib/libc/stdio/Makefile.inc | 2 +- > lib/libc/stdio/snprintf.c | 28 +++++ > lib/libnet/Makefile | 2 +- > lib/libnet/dhcp.c | 33 ++++++ > lib/libnet/netload.c | 189 +++++++++++++++++++-------------- > lib/libnet/ping.c | 14 ++- > lib/libnet/pxelinux.c | 248 ++++++++++++++++++++++++++++++++++++++++++++ > lib/libnet/pxelinux.h | 33 ++++++ > lib/libnet/tftp.c | 105 ++++++++++++++++++- > lib/libnet/tftp.h | 14 ++- > slof/helpers.c | 30 +++++- > 13 files changed, 608 insertions(+), 95 deletions(-) > create mode 100644 lib/libc/stdio/snprintf.c > create mode 100644 lib/libnet/pxelinux.c > create mode 100644 lib/libnet/pxelinux.h >