Linux flavours vary slightly when netbooting, here are the two most common versions I use.


Linux Mint

default syslinux/menu.c32
prompt 0

MENU TITLE Linux Mint Installer Menu
menu separator

Label Linux - Mint 19.0 amd64
KERNEL mint/19.0/vmlinuz
APPEND initrd=mint/19.0/initrd.lz boot=casper locale=en_GB netboot=nfs nfsroot=192.168.1.111:/export/tftp/mint/19.0/iso toram systemd.mask=dev-hugepages.mount systemd.mask=dev-mqueue.mount systemd.mask=sys-fs-fuse-connections.mount systemd.mask=sys-kernel-config.mount systemd.mask=sys-kernel-debug.mount systemd.mask=tmp.mount

Label Linux - Mint 18.3 amd64
KERNEL mint/18.3/vmlinuz
APPEND initrd=mint/18.3/initrd.lz root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.1.111:/export/tftp/mint/18.3/iso nosplash --

LABEL Return
MENU LABEL ^Return to Main Menu
KERNEL menu.c32
APPEND pxelinux.cfg/default

There are differences between Mint 18.x and 19.x - here is a summary:

Mint 18.x

  • KERNEL - Path to vmlinuz kernel image, as found at [root_of_mint_iso]/casper/vmlinuz
  • initrd - Path to initrd.lz root filesystem image, as found at [root_of_mint_iso]/casper/initrd.lz
  • nfsroot - NFS path to the extracted Mint 18.x iso image
  • root - Instruct the installer to mount the root filesystem over NFS
  • boot - Use the 'casper' installer (default on Mint)

Mint 19.x

  • KERNEL - Path to vmlinuz kernel image, as found at [root_of_mint_iso]/casper/vmlinuz
  • initrd - Path to initrd.lz root filesystem image, as found at [root_of_mint_iso]/casper/initrd.lz
  • nfsroot - NFS path to the extracted Mint 19.x iso image
  • boot - Use the 'casper' installer (default on Mint)
  • netboot - Instruct the installer to mount the root filesystem over NFS (this is a change from 18.x)
  • toram - Unpack the root filesystem to RAM; do not try to mount NFS read/write
  • systemd.* - A heap of directives that stop systemd from trying to bring up several filesystems in read/write mode

There is a bug in the Mint 19.x installer if the installer filesystem is not mounted in RAM it will error out; hence the additional flags added to the kernel compared to Mint 18.x.


Ubuntu

Most Ubuntu versions netboot cleanly without any specific options. Here is a summary of my current Ubuntu 16/18 LTS netboot menu:

default syslinux/menu.c32
prompt 0

MENU TITLE Linux Ubuntu Installer Menu
menu separator

Label Linux - Ubuntu 18.04 LTS amd64
KERNEL ubuntu/18.04/linux
APPEND initrd=ubuntu/18.04/initrd.gz vga=788 locale=en_GB.UTF-8 keyboard-configuration/layoutcode=gb

Label Linux - Ubuntu 16.04 LTS amd64
KERNEL ubuntu/16.04/linux
APPEND initrd=ubuntu/16.04/initrd.gz vga=788 locale=en_GB.UTF-8 keyboard-configuration/layoutcode=gb

LABEL Return
MENU LABEL ^Return to Main Menu
KERNEL menu.c32
APPEND pxelinux.cfg/default

Both the linux kernel image and the initrd.gz ramdisk filesystem come from the Ubuntu network install CD iso. Other than that, the only options I've used are keyboard layout. Everything else simply works and installs over the network (hence you need a working internet connection).

  • blog/netboot_linux.txt
  • Last modified: 2018/11/28 09:01
  • by john