[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