mbox series

[0/9] Support network booting with pxelinux.cfg files

Message ID 1526578856-30967-1-git-send-email-thuth@redhat.com
Headers show
Series Support network booting with pxelinux.cfg files | expand

Message

Thomas Huth May 17, 2018, 5:40 p.m. UTC
When booting a Linux kernel via network, it's sometimes more convenient
to load the kernel and initrd seperately 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!

Thomas Huth (9):
  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

 include/helpers.h            |   2 +
 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         | 157 +++++++++++++++---------------
 lib/libnet/ping.c            |  14 ++-
 lib/libnet/pxelinux.c        | 223 +++++++++++++++++++++++++++++++++++++++++++
 lib/libnet/pxelinux.h        |  33 +++++++
 lib/libnet/tftp.c            | 112 +++++++++++++++++++++-
 lib/libnet/tftp.h            |  14 ++-
 slof/fs/packages/obp-tftp.fs |   5 +-
 slof/helpers.c               |  15 ++-
 16 files changed, 541 insertions(+), 110 deletions(-)
 create mode 100644 lib/libc/string/strrchr.c
 create mode 100644 lib/libnet/pxelinux.c
 create mode 100644 lib/libnet/pxelinux.h