Raspberry Pi Server wizard to serve Raspbian to network booting Pis
On Raspbian install the build dependencies:
sudo apt-get install build-essential devscripts debhelper cmake libldap2-dev libgtkmm-3.0-dev libarchive-dev libcurl4-openssl-dev libcap-dev intltool git
If not using a Pi (or other armhf device), you also need the following runtime dependencies:
sudo apt-get install binfmt-support qemu-user-static
git clone --depth 1 https://github.com/raspberrypi/piserver.git
cd piserver
debuild -uc -us
debuild will compile everything, create a .deb package and put it in the parent directory. Can install it with dpkg:
cd ..
sudo dpkg -i piserver*.deb
Piserver requires dnsmasq version 2.77 or later. If your Linux distribution comes with an older version, compile the latest version from source:
sudo apt-get install libnetfilter-conntrack-dev libidn11-dev libgmp-dev nettle-dev liblua5.2-dev
git clone --depth 1 http://thekelleys.org.uk/git/dnsmasq.git
cd dnsmasq
debuild -uc -us
cd ..
sudo dpkg -i dnsmasq-base_*.deb dnsmasq_*.deb
If you are running Raspbian this is not necessary. Although it is using an older dnsmasq version as well, it has been patched to include the newer features used (--dhcp-reply-delay and tftp-unique-root=mac options).
It is expected that the computer that is running piserver:
- is configured to use a static IP-address that never changes.
- -OR- uses dhcpcd as network manager. In which case it will notify piserver automatically if your server's IP ever changes.
- -OR- that you configure your network manager program (e.g. using a ifup/networkd-dispatcher hook script) to execute "piserver --update-ip" every time the system obtains a new IP lease.