TFTP not work

Problem:
Yes. I can see many issues about tftp but i can not find my problem.

  1. at all i am German. My English is may not good.

problem:

tftp → “Nothing to boot: No such file or directory…”

Expected outcome:
I expect the Boot Process load the Data and install Ubuntu 20.04

Foreman and Proxy versions:
Foreman
3.9.1

Ansible
3.5.5

Dynflow
0.9.1

Script
0.10.3

TFTP
3.9.1

Distribution and version:
Ubuntu 20.04

Other relevant data:

(1)

I found out based on the Wiki foreman-proxy write to wrong location:

/var/lib/tftpboot not exists and nothing will write on it after create it and set Permissions foreman-proxy
the Files get created in /srv/tftp

so i also install/change everything like:

foreman-installer --enable-foreman-proxy --foreman-proxy-tftp=true --foreman-proxy-tftp-listen-on=“https” --foreman-proxy-tftp-servername 10.0.3.7 --foreman-proxy-tftp-root /srv/tftp --foreman-proxy-tftp-managed

(2)

  • I setup Subnet with my TFTP Proxy and the correct Network

  • I setup:
    [PXELinux BIOS]
    [Preseed default PXELinux]
    [Preseed default finish]
    [Preseed default]
    [Preseed default user data]

(3)

After want to create an Host (by Hostgroup) the VM gets created in kvm/libvirt.
It have the correct network
It loads the correct dhcp IP Address

When i create “test1” File in /srv/tftp and download it with tftp client i can get the File.

Using a different directory instead of the standard one usually cause issues with selinux because selinux doesn’t know anything about it. It’s better to fix the problem than trying to work around it.

Check that tftp-server has been properly installed:

# rpm -V tftp-server

there is no tftp Server Package installed on my Ubuntu 20.04
but Foreman run this:

in.tftpd 1016 root 4u IPv4 21059 0t0 UDP *:69
in.tftpd 1016 root 5u IPv6 21060 0t0 UDP *:69

My Ubuntu not come with SELinux or Apparmor. Not installed or disabled.

I found out put “TFTP Server” IP into dhcp Server Configuration. Now it continue but i can not find something for boot up the preseed configuration.

how to do that?

“PXELinux global default” has to be customized i guess?

All other PXELinux Templates no boot anything.

Oh, sorry, I have missed the part about ubuntu…

Fix the first problem first. It doesn’t really help if it is broken from the beginning. Something has gone wrong during the foreman-installer run. foreman-installer should make sure that the tftpboot directory exists in the right place and is correctly configured.

Were there any errors when you run foreman-installer at any time?

Which options did you pass to foreman-installer in the beginning?

katello.log in /var/log/foreman-installer should show that it creates /var/lib/tftpboot or wherever it expects it to be.

On Beginning

just “foreman-installer”

And later

"foreman-installer --enable-foreman-proxy --foreman-proxy-tftp=true --foreman-proxy-tftp-listen-on=“https” --foreman-proxy-tftp-servername 10.0.3.7 --foreman-proxy-tftp-root /srv/tftp --foreman-proxy-tftp-managed

now

i disabled everything DHCP Server related and move back to my pfsense dhcp Server + put my TFTP IP on it.

wrong folder

  • i guess the different folder is maybe something ubuntu related?
  • maybe on RHEL it is another Folder then Ubuntu?
  • or they not updated the Wiki?

… because everything in /srv/tftp looks “okay” …

logfiles

  • after research
    grep -r -A 100 "2024-03-15 21:23:53 " foreman.20240316-103611.log

  • foreman_proxy::params::tftp_root: “/srv/tftp”

after just run

  • 2024-03-15 21:23:53 [DEBUG ] [root] Running installer with args [[“–enable-foreman-proxy”, “–foreman-proxy-tftp=true”, “–foreman-proxy-tftp-listen-on=http”]]

http i later change to https. but i think on Ubuntu… /srv/tftp is the correct Folder.