How to configure PXE Network Boot Server for Ubuntu 18.04 Desktop

Published: 02 September 2019
on channel: Heikki Koivisto
14,566
like

I found a lot guides for Ubuntu Server pxe installation. So i made my guide for How to configure PXE Network Boot Server for Ubuntu 18.04 Desktop. I Create server which can provide tool for installing Desktop Ubuntu 16.04/18.04 and preseed file for it.
Support channel: https://www.youtube.com/c/HeikkiKoivi...
Commands:
Install dhcp/tftp server and apache2
apt update && sudo apt install -y dnsmasq apache2
move dnsmasq conf
mv -v /etc/dnsmasq.conf /etc/dnsmasq.conf.backup

edit dnsmasq file
nano /etc/dnsmasq.conf

interface=enp0s3 #enp0s8
bind-interfaces
domain=koti.local

dhcp-range=ens38,192.168.100.100,192.168.100.240,255.255.255.0,8h
dhcp-option=option:router,192.168.100.1
dhcp-option=option:dns-server,192.168.100.1
dhcp-option=option:dns-server,8.8.8.8

enable-tftp
tftp-root=/netboot/tftp
dhcp-boot=pxelinux.0,linuxhint-s20,192.168.100.11
pxe-prompt="Press F8 for PXE Network boot.", 2
pxe-service=x86PC, "Install OS via PXE",pxelinux

create tftp folder:
mkdir -p /netboot/tftp

restart dnsmasq
systemctl restart dnsmasq

install nfs server
apt install -y nfs-kernel-server

create forder for nfs share
mkdir /netboot/nfs

edit nfs share settings:
nano /etc/exports

/netboot/nfs *(ro,sync,no_wdelay,insecure_locks,no_root_squash,insecure,no_subtree_check)

make share available
exportfs -a

install required pxe boot files:
apt install -y syslinux pxelinux

copy pxelinux and other - files to tftp folder
cp /usr/lib/PXELINUX/pxelinux.0 /netboot/tftp/
cp /usr/lib/syslinux/modules/bios/{ldlinux.c32,libcom32.c32,libutil.c32,vesamenu.c32} /netboot/tftp

create pxelinux.cfg folder for boot menu file
mkdir /netboot/tftp/pxelinux.cfg
touch /netboot/tftp/pxelinux.cfg/default

Copy Ubuntu 1804 desktop iso
winscp or wget iso - file

mount iso to mnt
mount -o loop ubuntu-18.04.2-desktop-amd64.iso /mnt

create folders and copy files on it
mkdir -v /netboot/{nfs,tftp}/ubuntu1804
cp -Rf /mnt/* /netboot/nfs/ubuntu1804/
cp -rf /mnt/casper/* /netboot/tftp/ubuntu1804
mkdir /netboot/tftp/ubuntu1804/casper/
cp -rf /mnt/casper/* /netboot/tftp/ubuntu1804/casper/

change permission to /netboot
chmod -Rf 777 /netboot

create boot menu:
nano /netboot/tftp/pxelinux.cfg/default

default vesamenu.c32

label install1
menu label ^Install Ubuntu 18.04 LTS Desktop
menu default
kernel ubuntu1804/casper/vmlinuz
append initrd=ubuntu1804/caspter/initrd boot=casper automatic-ubiquity netboot=nfs nfsroot=192.168.100.11:/netboot/nfs/ubuntu1804/ auto=true url=http://192.168.100.11/local-sources.seed quiet splash toram ---

restart nfs secatrver
/etc/init.d/nfs-kernel-server restart

nano /var/www/html/local-sources.seed

ubiquity ubiquity/summary

Choices: Dialog, Readline, Gnome, Kde, Editor, Noninteractive
d-i debconf debconf/frontend select Noninteractive

Localization
d-i debian-installer/locale string en_GB

Keyboard selection
d-i console-setup/ask_detect boolean false
d-i console-setup/layout select us
d-i console-setup/variant select us

ubiquity languagechooser/language-name select English (US)
ubiquity countrychooser/shortlist select FI
ubiquity keyboard-configuration/layoutcode select fi
ubiquity keyboard-configuration/modelcode select pc105
ubiquity localechooser/supported-locales multiselect en_US.UTF8
ubiquity console-keymaps-at/keymap select fi
ubiquity console-keymaps-at/variant select fi

d-i kbd-chooser/method select British English

Network
d-i netcfg/get_hostname string de-vm
d-i netcfg/get_domain string unassigned-domain

Clock and time zone setup
d-i time/zone string Europe/Helsinki
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true

Partitioning
d-i partman-auto/method string regular
d-i partman-auto/choose_recipe select atomic
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

Account setup
d-i passwd/user-fullname string de
d-i passwd/username string de
d-i passwd/user-password password 123
d-i passwd/user-password-again password 123
d-i passwd/auto-login boolean true
d-i user-setup/encrypt-home boolean false
d-i user-setup/allow-password-weak boolean true

Package installation

Enable extras.ubuntu.com.
d-i apt-setup/extras boolean true
Install the Ubuntu desktop.
tasksel tasksel/first multiselect ubuntu-desktop,standard

choose-mirror-bin mirror/http/proxy string

#For the update
d-i pkgsel/update-policy select none
d-i pkgsel/install-language-support boolean false

Bootloader
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true

Reboot after preseeding
d-i finish-install/reboot_in_progress note
ubiquity ubiquity/reboot boolean true
#ubiquity ubiquity/poweroff boolean true



missing steps:
mkdir /netboot/tftp/casper/
cp /netboot/nfs/ubuntu1804/casper/* /netboot/tftp/casper/


Watch video How to configure PXE Network Boot Server for Ubuntu 18.04 Desktop online without registration, duration hours minute second in high quality. This video was added by user Heikki Koivisto 02 September 2019, don't forget to share it with your friends and acquaintances, it has been viewed on our site 14,566 once and liked it like people.