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

Re: Strategy for boot-floppies



Martin Schulze <joey@finlandia.Infodrom.North.DE> writes:

> I believe that it is obvious that we will run into much problems
> when we continue to try to place the kernel and the root filesystem
> onto the same floppy.

Agreed.

> This is what Haggie and myself were thinking about:
> 
>  . Booting via bootable CDROM
> 
>    Create a 2.88MB floppy to use as ElTorito boot image.  This floppy
>    will contain the kernel and the root image.

When this proposal originally appeared people claimed that this only
works on computers where the BIOS supports 2.88MB floppys. This isn't
necessarily the case when you plug a CD-Booting Adaptec into an older
486 board. And there were many buggy BIOSes.

>  . Support for ftp/tftp fetching of the base system

(And HTTP, of course. And we might ignore FTP.)

This network install thing covers two different cases:

a) Installing Debian in a Debian-less environment.

b) Installing it in an already-running Debian network-environment.

On a): You are installing a new system. You boot from floppy or from
CD, configure your network manually and then you fetch base via the
network. In this case HTTP is the protocol of choice; FTP is the
second best. IMHO there is no point in using TFTP.

On b:) You already have a running Debian (or Linux or Unix ...)
server that offers BOOTP and TFTP. Then you can boot off this
server. The traditional use of TFTP is for loading the kernel off the
net. Since BIOS does not support this we have to load the kernel from
floppy or CD. But this kernel could get its network config via
BOOTP. Then we can get the initial root FS via net: Either via NFS
(already supported by the kernel) or via TFTP (for these two options
the file locations can be provided in standard BOOTP replies) or via
HTTP. For HTTP we need a way to tell the kernel the address, and in
general I'm unsure whether making the kernel load its RAM disk via
HTTP is a good idea ...

Note that b) means the kernel has to include the NIC drivers which
isn't the case in current Debian kernels.


>    Since we are running into trouble we should face the truth and
>    discuss if it would be wise to split the rescue disk into a boot
>    disk and a root disk.

IMHO this will have to happen.


>    If so, would it be possible to fetch the root disk, i.e. the
>    ramdisk, from the net?  If so, how can we boot off of the boot
>    floppy to achieve this?

In order to have a single-floppy network install for cases a) and b)
we need the following on this floppy:

- kernel
- NIC driver modules

and we need a mechanism to laod the appropriate NIC driver module,
configure the IP interface, load the root image into ramdisk and boot
of this ramdisk.

Either this is done in kernel or via initrd. (My initrd gripe: You
cannot jump to another root more than once.)

With a specialized small initrd init this might fit into 1.44 MB.


The other way of installing: CD-ROM.

The RAM disk should be loaded from a file on the CD. Similiar as
above, you don't need the NIC driver modules. But the SCSI drivers are
needed to access the CD-ROM. (Currently SCSI drivers are compiled in
the kernel. But it might be a good idea to move them to modules and
adapt Debian to boot via initrd. An old project ...)


Note that in both cases we assume that we have enough memory for the
RAM disk. This requires more than 4 MB RAM.

We could decide to require at least 8 MB RAM. (IMHO nowadays Linux +
Debian is to big to be useful on 4 MB RAM machines.)

With extra work (and a special boot disk) we could provide a 4 MB RAM
installation: The initial root fs' job is to run fdisk and then
cat/zcat the following root fs to hard disk. But IMHO this is a
useless exercise.

As you might have realized above does not constitute a complete proven
concept ...

	Sven
-- 
Sven Rudolph <sr1@sax.de>		http://www.sax.de/~sr1/


Reply to: