Differences between revisions 25 and 26
Revision 25 as of 2020-09-21 18:24:40
Size: 5185
Editor: ?AndreasMundt
Comment: update, Debian Live
Revision 26 as of 2020-09-21 19:02:22
Size: 5227
Editor: ?AndreasMundt
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
The package DebPkg:di-netboot-assistant ([[https://tracker.debian.org/pkg/di-netboot-assistant|PTS]]) provides a tool to simplify the preparation of files for TFTP net booting: The package DebPkg:di-netboot-assistant ([[https://tracker.debian.org/pkg/di-netboot-assistant|PTS]]) provides a tool to simplify the preparation of files for '''TFTP net booting''':
Line 8: Line 8:
 * Prepares a top level menu, which allows one to choose from all installed netboot images.
 * Supports packaged installer and Debian Live ISO images, PXElinux, grub-efi and secure boot.
 * Prepares a '''top level menu''', which allows one to choose from all installed netboot images.
 * Supports packaged installer and '''Debian Live ISO images''', PXElinux, '''grub-efi''' and '''secure boot'''.
Line 11: Line 11:
 * Helps with preseeding the installer in order to set up systems completely automatically.  * Helps with '''preseeding''' the installer in order to set up systems completely '''automatically'''.

Top level menu and some netboot installer menus. Bottom left shows the grub-efi boot menu.

di-netboot-assistant

The package di-netboot-assistant (PTS) provides a tool to simplify the preparation of files for TFTP net booting:

  • Downloads and extracts all the files needed and takes care of organizing them.
  • Prepares a top level menu, which allows one to choose from all installed netboot images.

  • Supports packaged installer and Debian Live ISO images, PXElinux, grub-efi and secure boot.

  • Adds non-free firmware to the installer images easily.
  • Helps with preseeding the installer in order to set up systems completely automatically.

Audience:

  • Sysadmins, who need to configure network boot services to install machines (completely automatic, if preseeding is used) over the network.
  • Developers, who need to install new versions and distributions often.
  • Education: The Debian Live system powers diskless machines ready for students' experiments.

For further information, take a look at the README, README.preseed and the example configuration samples.

Grub-efi boot menu with customized boot options.

The README.installbox shows how to temporarily turn your machine into an 'installbox', ready to netboot and install clients. In addition, some ansible playbooks that might be useful as inspiring examples are available.

The list of supported netboot images contains many Debian releases as well as some derivatives.

Testing and Quick Start

Testing

It is easy to test di-netboot-assistant with qemu/kvm and the emulated TFTP server:

apt --no-install-recommends install di-netboot-assistant  # '--no-install-recommends' to avoid an extra TFTP server
TFTP_ROOT="/var/lib/tftpboot/"
mkdir "$TFTP_ROOT"
di-netboot-assistant install stable

Then start the VM (BIOS):

qemu-system-x86_64 -enable-kvm -m 1024 -boot n -net nic \
                           -net user,tftp=$TFTP_ROOT,bootfile=/d-i/n-a/pxelinux.0

or with UEFI firmware (apt install ovmf):

qemu-system-x86_64 -enable-kvm -m 1024 -boot n -net nic -bios /usr/share/OVMF/OVMF_CODE.fd \
                           -net user,tftp=$TFTP_ROOT,bootfile=/d-i/n-a/bootnetx64.efi

Quick Start

A proper setup requires some familiarity with DHCP. Install a DHCP server and a TFTP server or use dnsmasq and its builtin TFTP server.

After having your DHCP working, install di-netboot-assistant:

apt install di-netboot-assistant

di-netboot-assistant needs to know the TFTP root directory. If you get the error "TFTP root directory doesn't exists", either create the directory or edit the configuration file /etc/di-netboot-assistant/di-netboot-assistant.conf and adjust the TFTP_ROOT-variable to point to your TFTP server's root directory, for example:

TFTP_ROOT=/srv/tftp

Then, play with the Netboot Installer. You can list the available images:

di-netboot-assistant install

You can quickly do stuff like preparing Debian "stable" and Ubuntu "xenial" for both i386 and amd64:

di-netboot-assistant install stable xenial --arch=i386,amd64

It does not work? Perhaps you should take another look at the README and especially the README.installbox.

Enjoy and have fun!

Further Reading