9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Uriel <uriell@binarydream.org>
To: 9fans <9fans@cse.psu.edu>
Subject: [9fans] Replacing 9load
Date: Sun,  4 Dec 2005 04:48:33 +0000	[thread overview]
Message-ID: <20051204044833.GD9700@server4.lensbuddy.com> (raw)

This email came as answer to some discussion in irc about how to replace
9load, I found it too informative to be left to rot in my mailbox, and
russ agreed to let me post it to 9fans if I provided some context, my
memory of the details of the discussion is dim, but after re-reading the
email it seems all in it stands well on it's own.


----- Forwarded message from Russ Cox <rsc@swtch.com> -----

From: Russ Cox <rsc@swtch.com>
Date: Sun, 9 Oct 2005 11:05:44 -0400
To: Uriel, Chris Collins, Vester Thacker
Subject: 9load

What makes you think sd53c8xx requires 9load?
It ran on the alphapc just fine without 9load.
9load is a clumsy hack, but the only alternatives
seem to be to depend on external programs like
grub.  Pxeboot may come along and save the day,
but until recently there was no established way to
load a kernel over the ethernet with some extra
options, so we had to roll our own.

As for putting plan9.ini in /boot, that just betrays
your Unix bias.  On Plan 9 terminals there is no
local file system, hence no /boot.  We boot most of
our terminals at Bell Labs off floppies, to avoid
touching the local disks at all.  All this said, 9load
is happy to read plan9.ini out of a kfs file system,
and someone with appropriate determination could
make it work with fossil or even venti+fossil.

The Plan 9 kernels (not 9load) already have multiboot
headers in them for use with grub.  Look at l.s.

I think Chris's understanding of 9load being essential
to the initialization of the kernel is misplaced.  The only
thing that 9load leaves around for the kernel is the apm
info, and even that is gone in my new vga kernels.
9load exists only to put plan9.ini and the kernel in memory.
It does not do device initialization.

The /dev/reboot stuff in the kernel is actually a step toward
replacing 9load with a real Plan 9 kernel that would fetch
kernel, config, etc. over the network (perhaps even using 9P
to talk to a real file server instead of all these hacky mini-protocols)
and then set the config and "reboot" to start the new kernel.
Continuing down that road may be worthwhile.

My comments about grub still stand.  It's great for booting
Linux kernels, which it was designed for, and it is okay for
chainloading to get to Plan 9.  I still think Smart Boot Manager
is far and away the best PC multi-OS booter out there.  It looks
at the partitions and says "here is what I found: pick one."
No manual config.  In grub you have to boot to Linux to tell it
about a new Plan 9 partition.  Grub is really a Linux loader
disguised as a multiboot loader.  In that situation it works great.
Beyond that it's just a pain.

Finally, do not believe even for a moment that Plan 9 thinks
that all the world's a 386.  We have always had a couple other
architectures running, and running well.  That's still true today.
On the other hand, if you're writing a pc kernel, you're going
to have to do some pc-specific things.

Russ

----- End forwarded message -----

If I can find the irc logs I'll post them for context, but I don't think
any of us said anything very useful.

uriel


             reply	other threads:[~2005-12-04  4:48 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-04  4:48 Uriel [this message]
2005-12-04  7:01 ` jmk
2005-12-04 16:00 ` Russ Cox
2005-12-04 16:56   ` Nigel Roles
2005-12-04 19:07     ` Charles Forsyth
2005-12-04 19:29       ` jmk
2005-12-04 22:13         ` C H Forsyth
2005-12-05 19:42 ` David Leimbach
2005-12-05 20:11   ` jmk
2005-12-05 20:47 [9fans] replacing 9load Russ Cox
2005-12-05 20:52 ` William Josephson
2005-12-05 21:02 ` Ronald G Minnich
2005-12-05 21:06   ` Charles Forsyth
2005-12-05 23:22     ` Ronald G Minnich
2005-12-05 21:21   ` Russ Cox
2005-12-05 23:27     ` Ronald G Minnich
2005-12-05 23:33       ` Russ Cox
2005-12-06  0:19         ` Ronald G Minnich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20051204044833.GD9700@server4.lensbuddy.com \
    --to=uriell@binarydream.org \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).