[syslinux] 0001-syslinux.mk-determine-where-tftpboot-actually-is.patch

Jim Cromie jim.cromie at gmail.com
Fri Jun 10 23:12:22 PDT 2011


On Fri, Jun 10, 2011 at 8:40 PM, Jeffrey Hutzelman <jhutz at cmu.edu> wrote:
> On Fri, 2011-06-10 at 11:19 -0600, Jim Cromie wrote:
>> on my laptop, TFTPBOOT should point to /var/lib/tftpboot
>> patch 1 makes that happen.
>
> Ew.  /tftpboot is traditional, and a reasonable default.
> Polling for all of the possible other places doesn't seem
> like it's something make should be doing.
>

FWIW, my fedora desktop, and my ubuntu laptop both use
/var/lib/tftpboot.  Id imagine other distros do too,
covering a large majority of Linux boxes in use.
I would not expect many more variations to arise.

The patch makes no real preference between the 2;
it checks /var/lib/tftpboot 1st since that is the new one,
and thus less likely to be historical.  The point is it
accommodates the user's setup, without config settings.

OTOH the syslinux-tftpboot package puts..
All the SYSLINUX/PXELINUX modules directly available for network
booting in the /tftpboot directory.
/tftpboot
/tftpboot/cat.c32
/tftpboot/chain.c32
/tftpboot/cmd.c32

This seems a little silly when the tftp-server rpm includes
/var/lib/tftpboot.
[jimc at harpo]$ more /etc/xinetd.d/tftp
...
	user			= root
	server			= /usr/sbin/in.tftpd
	server_args		= -s /var/lib/tftpboot -v -v
	# disable		= yes

/var/lib/tftpboot is not specd in FS Hierarchy Standard
http://www.pathname.com/fhs/pub/fhs-2.3.html
but theyre certainly not "essential" to the system itself.

I'll quote from that URL:

The contents of the root filesystem must be adequate to boot, restore,
recover, and/or repair the system.

To boot a system, enough must be present on the root partition to
mount other filesystems. This includes utilities, configuration, boot
loader information, and other essential start-up data. /usr, /opt, and
/var are designed such that they may be located on other partitions or
filesystems.

To enable recovery and/or repair of a system, those utilities needed
by an experienced maintainer to diagnose and reconstruct a damaged
system must be present on the root filesystem.

To restore a system, those utilities needed to restore from system
backups (on floppy, tape, etc.) must be present on the root
filesystem.


Chapter 5. The /var Hierarchy

Purpose

/var contains variable data files. This includes spool directories and
files, administrative and logging data, and transient and temporary
files.

Some portions of /var are not shareable between different systems. For
instance, /var/log, /var/lock, and /var/run. Other portions may be
shared, notably /var/mail, /var/cache/man, /var/cache/fonts, and
/var/spool/news.

/var is specified here in order to make it possible to mount /usr
read-only. Everything that once went into /usr that is written to
during system operation (as opposed to installation and software
maintenance) must be in /var.

If /var cannot be made a separate partition, it is often preferable to
move /var out of the root partition and into the /usr partition. (This
is sometimes done to reduce the size of the root partition or when
space runs low in the root partition.) However, /var must not be
linked to /usr because this makes separation of /usr and /var more
difficult and is likely to create a naming conflict. Instead, link
/var to /usr/var.

Applications must generally not add directories to the top level of
/var. Such directories should only be added if they have some
system-wide implication, and in consultation with the FHS mailing
list.



>> patch 2 lets me install *.c32 to a subdir
>
> This one looks reasonable (though I don't really get a vote)


thanks for taking a look.




More information about the Syslinux mailing list