commit | 4ef3a0d7332a4bf6f4a66020fe9af779789e45ec | [log] [tgz] |
---|---|---|
author | Zack Williams <zdw@opennetworking.org> | Mon Sep 05 15:09:44 2022 -0700 |
committer | Zack Williams <zdw@opennetworking.org> | Mon Sep 05 15:09:44 2022 -0700 |
tree | 97e2142b7897f68e570df6160649e9cee772142b | |
parent | 56b213a7d40d127b9c64e3ee29694ded36826e2e [diff] |
remove gitreview Change-Id: I31ee373f609cc2c71e1d49b6c77deae68732169e
Configures PXE and iPXE related boot scripts and images on an web server.
Also creates preseed files used to automate OS installation.
See the ipxe-build
repo for building iPXE payload images.
The iPXE boot.ipxe
script:
pxeboot_boot_images
variable for customizing which tools are available.Also populates the kernel, initrd, and other files needed to network boot.
For fully automated installation, separate Debian/Ubuntu preseed files are created based on the serial number of the device (and possibly other criteria like MAC address in the future). Hosts are defined in the pxeboot_hosts
list of dicts, which each have these keys:
domain
: Domain extension for the hosthostname
: Hostname of the systemiface
: (optional) Network interface to use when setting up the system. This is primarily to work around this bug which can cause the wrong interface to be selected in the install process: https://bugs.launchpad.net/ubuntu/+source/netcfg/+bug/713385serial
: Device serial number, must match value given in SMBIOSmac_address
: MAC address of the network card, colon separated formatDocumentation of the preseed process can be found in these links:
Contents of the preseed file: https://help.ubuntu.com/18.04/installation-guide/amd64/apbs04.html
All preseed configuration options: https://preseed.debian.net/debian-preseed/
iPXE docs on preseed files and kernel arguments: https://ipxe.org/appnote/debian_preseed
Some systems may need additional firmware to boot properly (for example, to initialize network cards), which can be supplied during boot as another cpio file: https://wiki.debian.org/DebianInstaller/NetbootFirmware
Additional references:
https://wiki.debian.org/DebianInstaller/Preseed https://wiki.ubuntu.com/UEFI/PXE-netboot-install https://help.ubuntu.com/lts/installation-guide/example-preseed.txt
iPXE script examples: https://github.com/netbootxyz/netboot.xyz
- hosts: all vars: pxeboot_hosts: - {domain: 'example.com', hostname: 'server1', serial: 'abc123'} - {domain: 'example.com', hostname: 'server2', serial: 'abc123', iface: 'eno2'} roles: - pxeboot
© 2020 Open Networking Foundation support@opennetworking.org License: Apache-2.0