[syslinux] Anyone interested in scripts for multiple PXELinux configs in a single TFTP directory
Jurjen Bokma
j.bokma at cs.rug.nl
Fri Apr 25 15:38:08 PDT 2008
Dear syslinux list members,
I'm a newbie on this list. I hope I don't offend anyone by being
slightly off-topic.
I had the problem of wanting multiple Linux distros (i.c. Debian,
Ubuntu, OpenSuSE, SuSE, RedHat, CentOS, Fedora) installable from a
single PXELinux menu, so I wrote a couple of scripts that do what is
described below.
The question is whether anyone would be interested in having the
scripts, and if so from CVS or just posted?
1. A script scans the entire mirror tree for files that
* are not too big and not too small
* contain ASCII
* are parseable by a PXELinux config parser
and they list the selected files.
This is a lengthy operation, intended for being used only during
server setup.
2. An administrator manually selects some of the PXElinux files
found, and discards the others.
3. A script visits all the selected PXELinux configs, and for each
determines where the smallest parent directory is that contains
the files itself plus all kernels, initrds and other files that
are mentioned in it. It copies that directory to the TFTP tree.
4. The same script determines from the pathname to the PXELinux
configfile what distro, version and architecture it is meant
for, and copies it to a second tree in the TFTP tree that holds
only config files (and not kernels etc.) and is sorted by these
properties.
5. Again the same script modifies the last copy it made of the
PXELinux config in such a way that paths to kernels, ramdisks
etc. point into the first tree.
6. Another script scans the hierarchy of PXELinux config scripts in
the TFTP directory and for each directory it finds creates a
menu containing an entry for each PXELinux config file in the
directory, as well as for subdirs and parent dirs.
This way, we have a TFTP menu tree that is almost completely generated
from the mirror itself, and enables us to boot into many of our distros.
(Some don't work because they need extra boot parameters.)
The scripts are a bit primitive, as I'm not a Perl or Bash wizard, but
they do work.
Best Regards,
Jurjen
--
Jurjen Bokma <j.bokma at cs.rug.nl>
More information about the Syslinux
mailing list