https://github.com/raspberrypi/piserver
Raspberry Pi Server wizard to serve Raspbian to network booting Pis
https://github.com/raspberrypi/piserver
Last synced: 5 months ago
JSON representation
Raspberry Pi Server wizard to serve Raspbian to network booting Pis
- Host: GitHub
- URL: https://github.com/raspberrypi/piserver
- Owner: raspberrypi
- Created: 2017-06-14T12:27:35.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-07-21T19:34:31.000Z (over 1 year ago)
- Last Synced: 2025-10-08T11:30:43.778Z (6 months ago)
- Language: C++
- Size: 314 KB
- Stars: 332
- Watchers: 32
- Forks: 66
- Open Issues: 40
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# piserver
Raspberry Pi Server wizard to serve Raspbian to network booting Pis
## How to rebuild piserver
### Get dependencies
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
```
### Get the source
```
git clone --depth 1 https://github.com/raspberrypi/piserver.git
```
### Build the Debian package
```
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
```
### Extra dependencies if NOT running Raspbian or "Debian Stretch with Raspberry Pi desktop"
#### dnsmasq
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).
#### IP update hook
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.