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

Bug#140579: tft boot problems - my summary



After trying to do a tft boot network install today and reading through
the bug report stuff, here is my summary and suggestion for a way
forward.

1. include root.bin in tftpboot.img using mknbi
2. Document booting with pxe and with etherboot

The tftpboot.img files are broken, they do not include a root filesystem
as aleged in the documentation (11.2.3.1.5), nor is there enough
documentation to describe how to load the root filesystem.

There seem to be two ways people have proposed to load the root
filesystem, either decompress it and export it from an nfs server, or
make the root.bin available for loading into ramdisk.

I think we can concentrate on documenting the ramdisk method.  AFAIK the
standard kernels are not able to do NFS root, so that would entail the
user building a custom kernel.  The only situation where that would be
of benefit is the low memory situation.

>> The tftpboot.img alone indeed seems not to include a root.bin image.
>
>No it does not.  That is by design, so I'm told.  Apparently there is
>no standard way to include the root image with the TFTP kernel image.

What is the design?  It certainly isn't documented.  I would suggest,
after a little research, that mknbi _is_ the  standard way to include
the root image on i386.  It works with Netboot/Etherboot.  For MBA,
http://www.ltsp.org/documentation/LTSP-MBA.htm suggests that the mknbi
etherboot image is at lease the intermediate step to producing an MBA
bootable image.

AFAIK from reading the previous posts, there seem to be a large number
of methods for network booting which I will catergerize as follows:

1. PXE
2. Etherboot/Netboot
3. grub
4. mba and other boot protocols (for every vendor, another "standard" it
seems)

My personal bias is that we sould document 1 & 2.  I know PXE is just
another vendor's protocol, but I think it will be the way of the future.
Besides the eepros, I have seen a lots of motherboards with PXE built in
lately, high and low end.  For those without network cards or mbs with
PXE built in though, Etherboot should be documented, because it supports
the vast majority of hardware and is really easy to set up with the help
of http://rom-o-matic.net/ and a single floppy.

(As an aside, as an answer to:
>Is it just me, or isn't it rather a crippling problem that etherboot
>requires a floppy or other bootable medium to do the etherbooting?  I
>guess however, since there is no OpenBoot on x86, that's just the
>breaks.
Well, yes, exactly.  It is a royal pain, but if there is no PXE or other
boot rom on the network card, what option do we have?  The standard bios
is not going to help us.....

>Tell me, why is it interesting/useful to floppy-boot into etherboot
>rather than just floppy-booting from the rescue/root combo?  Just the
>issue of one floppy vs two?
The great thing about an etherboot floppy is that it is about 2K, which
makes for much faster boots and less problems with floppy reliability.
In my case the machine will be booting this way when installed, so there
is an added benefit of easier upgrading of kernels - not need to
re-write floppies...)

The PXE documentation already submitted is a great, with one extra
change.  The suggested /tftpboot/pxelinux.cfg/default file should
contain:

  kernel linux.bin

instead of 

  kernel tftpboot.img

At the moment, of course, they are exactly the same file, but I am
suggesting that the tftpboot.img becomes an Etherboot/Netboot specific
image.

As far as documenting Etherboot goes, the documentation is almost
sufficient; with the creation of an etherboot compatable tftpboot.img,
very little needs to be added.  One such addition could be suggesting
that people go to http://rom-o-matic.net/ to get boot floppies/rom
images.  Apart from that, there is just clarification of the different
files and dhcpd setups for the PXE vs etherboot methods:

PXE:

  in dhcpd.conf:
    filename           "/tftpboot/pxelinux.0"

  in /tftpboot:
    pxelinux.0
    linux.bin
    root.bin
    pxelinux.cfg/default

Etherboot:

  in dhcpd.conf:
    filename		"/tftpboot/tftpboot.img"

  in /tftpboot:
    tftpboot.img


As for grub/MBA/etc I have no direct experience.  Others may want to
contribute stuff, but I suggest that the Etherboot/Netboot and PXE
setups will be most common.

my 2c.

Alex



Reply to: