[SLOF] [PATCH v2 00/11] Support network booting with pxelinux.cfg files

Thomas Huth thuth at redhat.com
Sat May 19 01:45:29 AEST 2018


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

 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

-- 
1.8.3.1



More information about the SLOF mailing list