> My first goal is to produce a UEFI boot loader for Plan9.  Once that is
> accomplished, I intend to start incorporating parts of Plan9 (and/or
> Inferno) into the core UEFI firmware (www.tianocore.org
> <http://www.tianocore.org> ).  I would like to have Channels, the Plan9
> device abstraction and 9P protocol committed to tianocore.org later this
> year.  The device abstraction code is actually being reviewed right now so
> might be committed this month.

cool!  that would certainly make my current side project easier.

> Any pointers to information on Plan9's boot loader requirements or design
> would be greatly appreciated.  Especially information about why the existing
> virtual memory map was chosen.

although there are a number of bootloaders, they're all pretty similar.  broadly
they need to
1.  load the kernel at a known address.  some kernels would like a multiboot 
header,
some would not.  (i'm personally not a fan).
2.  put the plan9.ini configuration at CONFADDR
3.  append runtime information to the plan9.ini configuration at CONFADDR
gathred by the bootloader such as
        - the *e820 map (for pcs).  i'm willing to get things in a new format,
        as i understand uefi has a sightly different (just extended?) format.

        - information about the boot drive, or boot nic in the case of pxe.
        this helps automaticly configure things correctly.
0.  (pcs only) some kernels prefer the loader to enter 32-bit mode for them.
4.  jump to the kernel.

that's it.

> My interest in Plan9 and Inferno has taken off lately because of the IoT
> Fad.  Security and authentication seem to be better integrated into these
> two OS' than (supposedly) more modern attempts.  The distributed nature of
> the systems and the 9P protocol seem well suited to the requirements for the
> "Internet of Things".  Also, both OS kernels appear to be relatively small
> and have minimal demands upon the supporting hardware infrastructure.

they certainly do.  inferno is interesting because you don't even need a mmu.
for that matter, if you strip userland off the normal kernel, which isn't too 
hard,
the plan 9 kernels can often run without an mmu.

- erik

Reply via email to