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

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



Hello Frans,

On Fri, 2008-09-12 at 10:04 +0200, Frans Pop wrote:
> On Wednesday 23 July 2008, Franklin PIAT wrote:
> > On Tue, 2008-07-22 at 16:49 +0200, Frans Pop wrote:
> > > With this dhcpd configuration both problems were fixed and I could
> > > use di-n-a without the workarounds.
> 
> I have one more issue for you.
> 
> I installed di-n-a on an Etch box (my DNS/DHCP/TFTP server runs stable), 
> which means that debian-installer/pxelinux.0 is also taken from stable.

Obviously, running stable on the server side is the right thing to do.

> I also installed a number of images, both stable and testing.

We can expect that some sysadmins will want to test installing stable+1
in advance, so I consider this the standard situation too.

> When netbooting I would get your menu correctly, but after selecting a 
> testing install, instead of the D-I syslinux screen I would get a 
> completely white display.

>From your point of view is this an RC bug ?  (I do)

> I solved this by copying the pxelinux.0 from the testing image to the 
> debian-installer directory. Apparently pxelinux.0 only gets loaded once 
> (which makes sense) and thus the one in the debian-installer dir needs to 
> be compatible with _all_ the images installed below it.
> 
> One possible solution to this would be to extract the version from 
> pxelinux.0 files of images getting installed, check if that version is 
> higher than the one of the current file in the debian-installer dir and 
> then replace that with the higher version.
> 
> You could for example use this to get the version:
> $ strings pxelinux.0 | \
>   sed -rn "/^PXELINUX [.0-9]+/ s/^[^ ]* ([.0-9]+).*/\1/"
> 3.71

Do you think it would be a good idea to use :
  tr -c '[:print:] ' '\n'
instead of "strings", in order to avoid depending on binutils for
production servers ? (popcon says that binutils is installed on 87% of
the systems... but the figure for dhcp/tftp enabled servers is probably
much lower).

> > > 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.
> >
> > By hand...  :-(
> 
> One problem with this.
> 
> When I tried that I found that you modify some paths inside downloaded 
> images to make them fit inside your structure. This of course does not 
> happen for custom built images if they are installed by hand.
> 
> I managed to work around this by using symlinks from within your structure 
> to the custom images, while keeping the original paths inside the images.

I still have your request to use local images on my TODO list.

If you install/extract a boot image manually, I suppose that it would
work if it were extracted at the top, like :
/var/lib/tftpboot/debian-installer/i386/pxelinux.0


> I wonder if that might not be a more solid solution also for images that 
> are downloaded by di-n-a.

I will need to think about it, but the reason why I need to tweak the
patch is that the image's version isn't included in the paths. So I have
to replace:
        kernel debian-installer/i386/linux
with :
        kernel debian-installer/etch/i386/linux
or 
        kernel debian-installer/lenny/i386/linux
so I can have the two installed simultaneously.

I must say that I'm much more comfortable with the way I handle elilo's
menu.


> In general it's IMO not very nice to change things in "external" sources.

Generally speaking, the di-n-a shipped is Lenny is based on a script I
used for myself. So it tweaks existing etch/lenny images.

I want something robust for Lenny+1 : Not guessing anything; Don't tweak
configuration files (except boot arguments), consistent architectures
handling...

Regards,

Franklin


Reply to: