I'm most familiar with how Cobbler sets up TFTP so I'm not sure if this is relevant but I'll offer this info up anyway. Cobbler sets up a bootloader using pxelinux.0
as @Patrick explains in the comments as well as @msw. But it also sets up a corresponding pxelinux.cfg/
directory along side it that contains MAC addresses for each system that will be connecting to the server.
These files contain pxelinux.cfg
file info like this:
$ more 01-54-52-00-ff-ff-ff
default linux
prompt 0
timeout 1
label linux
kernel /images/Centos56-x86_64/vmlinuz
ipappend 2
append initrd=/images/Centos56-x86_64/initrd.img ksdevice=bootif lang= console=ttyS0,115200 text serial kssendmac ks=http://192.168.1.207/cblr/svc/op/ks/system/kvmcobblertest
The actual Linux kernel that this VM will boot is contained in this TFTP accessible directory, /images/Centos56-x86_64/vmlinuz
. The entire TFTP directory structure looks like this from the backside of the server:
$ ls -l /tftpboot/
total 348
drwxr-xr-x 2 root root 4096 Jun 22 2011 etc
drwxr-xr-x 2 root root 4096 Jul 9 2012 grub
drwxr-xr-x 6 root root 4096 Jul 9 2012 images
drwxr-xr-x 2 root root 4096 Jun 30 2011 images2
-rw-r--r-- 1 root root 20020 Jul 9 2012 memdisk
-rw-r--r-- 1 root root 39188 Jul 9 2012 menu.c32
drwxr-xr-x 2 root root 4096 Jun 22 2011 ppc
-rw-r--r-- 1 root root 14716 Jul 9 2012 pxelinux.0
drwxr-xr-x 2 root root 4096 Jul 9 2012 pxelinux.cfg
drwxr-xr-x 2 root root 4096 Jul 9 2012 s390x
-rw-r--r-- 1 root root 198192 Jul 9 2012 yaboot
The only thing that's initially accessible by the servers that are booting against this TFTP server, is as other's have described, the pxelinux.0
+ the configuration file that corresponds to a particular server's MAC address.
Images directory
This looks like this if you're curious:
$ tree /tftpboot/images
/tftpboot/images
|-- Centos56-x86_64
| |-- initrd.img
| `-- vmlinuz
|-- Centos56-xen-x86_64
| |-- initrd.img
| `-- vmlinuz
`-- Centos60-x86_64
|-- initrd.img
`-- vmlinuz
3 directories, 6 files
next-server
record, which is an IP address of the tftp server. I know the IP address of my tftp server already, so I can ignore the part involvingDHCP
entirely. How do I get the list of filenames from thetftp
server ?