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.cfg
with 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 / NAT
deselect any interface forTFTP Proxy
and save - Under
Services
>TFTP
select the LAN interface forTFTP Daemon Interfaces
and save - SSH into your pfSense appliance (enable SSH access and add a rule to allow port 22)
- Install curl:
pkg_add -r curl
and 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/* /tftpboot
rm -R analytically-ubuntu-netboot-tftp-4753507ab5c9bca0599c85f0401108c1059da0c9
- Configure
Enable network booting
under 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.