Debian - Network Installation

The instructions in this page cover installing Debian using network (internet) hosted source files. Page contents -

Screenshot of the Debian Netinstall GUI (note the options for installing the various desktop environments) -

Debian - Netinstall

This method is very similar to the ubuntu Network Installation page elsewhere in this guide (see here). Although the Debian mirrors use a very similar structure to ubuntu (ubuntu is based on Debian), it is not possible to PXE boot Debian by loading pxelinux.0 from one of the Debian mirrors - attempting to do so results in an error due to a missing dependency (ldlinux.c32). It is possible to load the Debian network installer files without hosting the files locally if iPXE is specified as the Network Boot Program - or is chainloaded by an alternative Network Boot Program.

The instructions below document how to use locally hosted Netinstall files so that iPXE, pxelinux or grub4dos can be used to start the installation - an internet connection is required as Netinstall will need internet access to download the required files during the installation. A local mirror can be used, however setting up a local mirror is beyond the scope of this guide.

32-bit Debian Netinstall files -

64-bit Debian Netinstall files -

NOTE - 64-bit Netinstall files are used in the examples in this page - amend as required if using the 32-bit files. The 64-bit version is required if installing Debian 64-bit, and the 32-bit version is required if installing Debian 32-bit.

Download the 64-bit mini.iso file (see links here) to the C:\pxesrv\files\iso\ directory. Let's rename this file to avoid any conflicts if adding options for a 32-bit (or ubuntu) Netinstall - rename C:\pxesrv\files\iso\mini.iso to C:\pxesrv\files\iso\debian.jessie.amd64.netinstall.iso.

Screenshot of the Debian menu options when the Client system was PXE booted from the iso file -

Alternatively, download the required kernel and initrd files (see links here), or extract them from mini.iso, and copy them to your Tiny PXE Server directory -

Screenshot of the Debian Netinstall GUI -

Now add a menu entry for your preferred Network Bootstrap Program -

pxelinux menu settings

Remember to ensure that the required files are copied to your Tiny PXE Server root directory -

Add the following to C:\pxesrv\files\pxelinux.cfg\default (create this file if required) -

Click on one of the following for sample config.ini settings (edit to reflect your own setup) -

grub4dos menu settings

Remember to ensure that the required files are copied to your Tiny PXE Server root directory -

Add the following to C:\pxesrv\files\menu.lst\default (create this file if required) -

Click on one of the following for config.ini settings (edit to reflect your own setup) -

iPXE menu settings

Remember to ensure that the required files are copied to your Tiny PXE Server root directory -

Add the following to the menu section of C:\pxesrv\files\ipxe_menu.txt (create this file if required) -

Add the following to the menu options section of C:\pxesrv\files\ipxe_menu.txt -

E.g. -

NOTE - remember to change set boot-url http://${dhcp-server} if using ProxyDHCP.

Click on one of the following for config.ini settings (edit to reflect your own setup) -

iPXE Scripts

iPXE menus are essentially scripts. It's also possible to specify a script using the altfilename option in config.ini. For example, create a script in the TFTP root directory C:\pxesrv\files\debian.netinstall.txt > add altfilename=debian.netinstall.txt to config.ini. NOTE - remember to change any references to ${dhcp-server} to ${next-server} if using ProxyDHCP.

Sample iPXE script debian.netinstall.txt -

Document date - 28th February 2017(DRAFT)