Automating server installation by using PXE boot and the Ubuntu 14.04 LTS netboot image over TFTP.
- a PXE-capable BIOS and NIC
- DHCP server serving 172.16.0.0/24 ip's
- TFTP server (see below) at 172.16.0.1
- customize
hostnames(mac address to hostname mappings) - customize
preseed.cfgwith your values
It doesn't get in the way of my home networking! You're welcome to change this in postpreseed.sh.
The PXE boot automates server installation. We use a preseed config delivered over TFTP.
See ubuntu-installer/amd64/boot-screens/txt.cfg (line 6).
Setup with pfSense (tested on versions 2.0.3 and 2.1)
- Install the TFTP package (
System>Packages) - Under
System>Advanced>Firewall / NATdeselect any interface forTFTP Proxyand save - Under
Services>TFTPselect the LAN interface forTFTP Daemon Interfacesand save - SSH into your pfSense appliance (enable SSH access and add a rule to allow port 22)
- Install curl:
pkg_add -r curland rehash:rehash curl -sL https://github.com/analytically/ubuntu-netboot-tftp/tarball/master | tar -xf -cd analytically-ubuntu-netboot-tftp-4753507ab5c9bca0599c85f0401108c1059da0c9/(the directory has another hash)mv analytically-ubuntu-netboot-tftp-4753507ab5c9bca0599c85f0401108c1059da0c9/* /tftpbootrm -R analytically-ubuntu-netboot-tftp-4753507ab5c9bca0599c85f0401108c1059da0c9- Configure
Enable network bootingunder the LAN DHCP server config underServices>DHCP Server, see below:
- click
Save, andApply changes, this will restart the DHCP service on your pfSense. You can now use PXE/Network boot.
- user: ansibler, password: PQmb6JxU
- continue with my Hadoop Ansible Playbook
The ubuntu-installer/amd64/initrd.gz archive contains a workaround to get TFTP and preseed.cfg working together (see /usr/lib/fetch-url/tftp)
with pfSense. The bug in debian-installer-utils is reported here.
Licensed under the Apache License, Version 2.0.
Copyright 2013-2014 Mathias Bogaert.
