[haiku-development] Re: EFI (was: multi-selection semantics)

  • From: "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sat, 09 Jun 2007 19:33:06 +0200 CEST

Ingo Weinhold <bonefish@xxxxxxxxxxxxxxx> wrote:
> Not quite. If the boot platform (BIOS, Open Firmware, EFI) presents 
> the USB 
> disk as it would present any other disk (I believe the BIOS does just 
> that, 
> and OF is saner anyway), then our boot loader already supports 
> booting from 
> those disks.

Exactly - it would just need to tell the kernel that it was loaded from 
USB, and make those modules available.

> > I agree that having an initramfs isn't simpler, but I would say 
> > that it is a
> > bit more flexible than a monolithic bootloader:

initramfs for the standard boot is a bad solution, as it would force 
you to update it for every new supported hardware or hardware changes 
(just like Linux).

> In case of networking you're right, though, since the boot loader 
> would 
> probably need to implement all the "high level" protocols we want to 
> support.

That's true.

> BTW, we already have a method similar to initramfs, which is used on 
> a boot 
> floppy (or CD). The kernel and required modules live in a tgz archive 
> that 
> the boot loader reads straight from a fixed position on the disk. I 
> guess it 
> wouldn't be all that hard to support retrieving that archive from 
> another 
> channel (e.g. TFTP).
> 
> I wouldn't use the initramfs method by default (i.e. for booting from 
> standard disks), but for network boot, it might indeed be the best 
> choice.

Not only for network boot - also for coping with buggy or incapable 
firmware. For example, I wanted to use the tarfs to boot the PPC 
version on the Pegasos later - or at least until I have found ways to 
work around that firmware in a sane way :-)
I would think it should be possible to link the tarfs into the boot 
loader, such that the network and firmware loader would automatically 
load everything we need in a single go - and that would also allow us 
to remove the networking mini stack from the boot loader (even if 
optionally).

Bye,
   Axel.


Other related posts: