[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: di-netboot-assistant - Debian-Installer netboot assistant



Hi Franklin,

On Tuesday 03 June 2008, Franklin PIAT wrote:
> I had a small home-made script to retrieve and untar Debian Installer
> netboot images.

I've just tried this again after installing your package from unstable. 
This time I got it working, but only after debugging and making some 
adjustments in the configuration. See bottom of mail for my server setup.

With your documented configuration the client would try to load this file:
/tftpboot/debian-installer/pxelinux.cfg/01-08-00-27-ec-a0-ee
I "fixed" that by creating a symlink to default from that filename.

Next problem was an error because menu.c32 could not be found. Turned out 
that the client was looking for (note the double debian-installer/):
/tftpboot/debian-installer/debian-installer/pxelinux.cfg/menu.c32
This I fixed by doing 'ln -s . debian-installer' (symlink to itself).

So the first problem was that pxelinux.configfile was being ignored. And 
the second problem that a "default" rootdir was being set.

After following some links on the web I ended up at:
http://syslinux.zytor.com/pxe.php

There I found the magic needed to solve both problems, by using the 
following config (line continuation not in original!):
     filename "debian-installer/pxelinux.0";
     site-option-space "pxelinux";
     option pxelinux.magic f1:00:74:7e;
     if exists dhcp-parameter-request-list {
        # Always send the PXELINUX options (specified in hexadecimal)
        option dhcp-parameter-request-list = \
               concat(option dhcp-parameter-request-list,d0,d1,d2,d3);
     }
     option pxelinux.pathprefix "/";
     option pxelinux.configfile "debian-installer/pxelinux.cfg/default";

With this dhcpd configuration both problems were fixed and I could use 
di-n-a without the workarounds.
So, two changes:
- adding the 'if exists dhcp-parameter-request-list' bit
- overriding the default rootdir by setting pxelinux.pathprefix

The explanation from that website for the first is:
   The "option dhcp-parameter-request-list" statement forces the DHCP
   server to send the PXELINUX-specific options, even though they are not
   explicitly requested.  Since the DHCP request is done before PXELINUX
   is loaded, the PXE client won't know to request them.

Regarding the pathprefix. I'd actually prefer to use the default that 
seems to be set automatically on the basis of the location of the 
original "filename" option: "debian-installer/". Using that would mean 
that pxelinux.configfile could just be "pxelinux.cfg/default" and that 
the debian-installer prefix could be dropped in all your generated menus.


I also have a feature request: support for custom images.
If I build a netboot image locally, I'd like to be able to add it to the 
menu somehow.
Main thing is that these cannot be added to the di-n-a sources config file 
as there is no download location for them, so I need some way to just 
extract them into place and get them included in the menus.

I see several options.

1) I create a custom "top-level" menu file that I specify in the dhcpd 
config and that has as one option to chainload to the di-n-a menu. This 
will work and gives complete freedom but disadvantage is an extra menu 
level and needing to maintain the menu by hand.

2) The same, but di-n-a learns how to include the custom menu file in the 
menu it generates automatically either by
- just appending from a separate file, or
- preserving manually added entries in the file itself (anything after
  some magic markers maybe, as grub does)

3) I create a "debian-installer/custom" dir with subdirs and di-n-a is 
made smart enough to scan those for images and add them automatically by 
running something like 'di-n-a update'.

What do you think? Preferably I'd be able to have several alternative 
custom images at the same time.

Cheers,
FJP

# dpkg -l tftpd-hpa dhcp3-server openbsd-inetd
||/ Name           Version       Description
+++-==============-=============-==========================================
ii  dhcp3-server   3.0.4-13      DHCP server for automatic IP address ass
ii  openbsd-inetd  0.20050402-6  The OpenBSD Internet Superserver
ii  tftpd-hpa      0.43-1.1      HPA's tftp server

Server is Debian Etch (i386).

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: