[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#756862: Fw: Feature dnsmasq as TFTP server in the installation guide ?



Hi,

Am 15. November 2025 18:42:42 MEZ schrieb Holger Wansing <hwansing@mailbox.org>:
>Hi Steven,
>
>Am 15. November 2025 17:47:26 MEZ schrieb Steven De Herdt <steven.deherdt@gmail.com>:
>>
>>I don't quite know how the situation was 12 years ago, but since isc-dhcp-server is now abandoned upstream: certainly worth it. Moreover, if you use network-manager and plan to install using a shared connection, with the built-in dnsmasq, it's as easy as dropping these lines in /etc/NetworkManager/dnsmasq-shared.d/:
>>
>> dhcp-boot=debian-installer/amd64/bootnetx64.efi
>> enable-tftp
>> tftp-root=/var/tftp/
>>
>>... the simplicity of which is hard to beat.  I'll try to prepare a merge request in Salsa with this.
>
>Yes, a patch or a merge request would be great.

I looked into this, and would like to come up with a proposal.
Most of the text was stolen from 
https://wiki.debian.org/DebianInstaller/NetbootPXE

I left Steven's NetworkManager-based three-liner from above beside, but took 
the config from the wiki page, to have an example, that works for everyone
(hopefully).

I could think of something like this (it could be added as a new chapter
4.5.1 in https://d-i.debian.org/manual/en.amd64/ch04s05.html, replacing the 
note we have now in 4.5):


========snip=======

  / Note:
 /
| In the past, we recommended to use tftpd-hpa. It's written by the same author 
| as the syslinux bootloader and is therefore least likely to cause issues. 
| Another good alternative is atftpd. 
| Documentation for these traditional packages is still available below.
| 
| These days however, it turns out, that **dnsmasq** is a good and easy to configure 
| solution, uniting all the needed functionality in one server.
 \
  \ end of note

4.5.1 Setting up dnsmasq as all-in-one solution for DHCP + TFTP

Following is an example for /etc/dnsmasq.conf providing the same functionality 
as the method of installing and configuring of isc-dhcp-server and tftpd-hpa 
described below:

-----------------------------------------------------------------
interface=eth1 
domain=yourdomain.com 
dhcp-range=192.168.0.3,192.168.0.253,255.255.255.0,1h 
dhcp-boot=pxelinux.0,pxeserver,192.168.0.2 
enable-tftp 
tftp-root=/srv/tftp 
pxe-service=x86PC, "PXELINUX (BIOS)", "pxelinux.0" 
pxe-service=X86-64_EFI,"PXE (UEFI)","grubx64.efi" 

# other UEFI type identifier, see RFC4578 section-2.1 
pxe-service=2, "PXELINUX (0002-EFI)", "grubx64.efi" 
pxe-service=6, "PXELINUX (0006-EFI)", "grubx64.efi" 
pxe-service=7, "PXELINUX (0007-EFI)", "grubx64.efi" 
pxe-service=8, "PXELINUX (0008-EFI)", "grubx64.efi" 
pxe-service=9, "PXELINUX (0009-EFI)", "grubx64.efi"
-----------------------------------------------------------------

Download the netboot.tar.gz and extract it in the /srv/tftp
(for trixie in this example):

-----------------------------------------------------------------
cd /srv/ 
mkdir tftp 
cd /srv/tftp 
wget http://ftp.debian.org/debian/dists/trixie/main/installer-amd64/current/images/netboot/netboot.tar.gz 
tar -xzvf netboot.tar.gz 
rm netboot.tar.gz 
ln -s debian-installer/amd64/grubx64.efi . 
ln -s debian-installer/amd64/grub .
-----------------------------------------------------------------

Then restart dnsmasq : 

systemctl restart dnsmasq

and you should be able to start performing the installation.

========snap=======



Holger


Reply to: