In previous post
I described how to setup PXE server and boot Debian installer using it.
I mentioned that provided setup is limited and some extensive configuration
is needed to make it useful for real world example. Since that time I learned
that there is chain command in iPXE, which give
ability to use arbitrary TFTP server as boot file source.
Using RPi PXE server
For example by changing my test network topology from
to something like that:
In short Raspberry Pi contain our PXE server configured in previous post.
TL-MR3420 is our DHCP server and PC Engines APU2A4 is our target box where we
want to install Debian.
We need to change eth0 configuration, so our PXE server will get IP
automatically from DHCP:
iface eth0 inet dhcp
Also disable udhcpd:
sudo update-rc.d udhcpd disable
Then reboot PXE server.
First enter iPXE on APU2 board by pressing <Ctrl-B> during boot. You should
see something like that:
Then hit Enter. You will see complains about video mode like this:
Press <ENTER> to see video modes available, <SPACE> to continue, or wait30 sec
Follow this instruction by waiting or hitting Space. Then you should have
This is typical installation except it happen over serial. As a storage I used
16GB USB stick with guided partitioning. At the end I also installed GRUB on USB
Be patient if serial console will be blank for some time it happen when
installing over network.
After reboot you should be able to choose USB stick from boot menu (F10) and
your Debian on APU2 should be ready:
Debian GNU/Linux 8 Maedhros ttyS0
Maedhros login: pietrushnic
Linux Maedhros 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt20-1+deb8u4 (2016-02-29) i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Now when you have Debian installed on your system you can think about various
improvements. For example:
Putting together automated installation using PXE server
Setup NFS and TFTP for Linux kernel development and testing
I hope this post was useful. If you think that it can be improved please
comment. Thanks for reading.
Founder of 3mdeb, a passionate advocate for open-source firmware solutions, driven by a belief in transparency, innovation, and trustworthiness. Every day is a new opportunity to embody the company's vision, emphasizing user liberty, simplicity, and privacy. Beyond business, a casual chess and bridge player, finding peace in nature and nourishment in theology, philosophy, and psychology. A person striving to foster a healthy community, grounded in collaboration and shared growth, while nurturing a lifelong curiosity and a desire to deeply understand the world.