9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Russ Cox <rsc@swtch.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu>
Subject: Re: [9fans] Replacing 9load
Date: Sun,  4 Dec 2005 11:00:59 -0500	[thread overview]
Message-ID: <ee9e417a0512040800l48003450s1eb35ed2a9b05a3e@mail.gmail.com> (raw)
In-Reply-To: <20051204044833.GD9700@server4.lensbuddy.com>

Here is the context, which I think is relevant.  And if not,
it is at least illuminating of how these IRC discussions
snowball into beliefs that are far from the truth.


kuroneko  ACTION swears at 9load, old plan9 isos, and other
         issues
         rather than migrating my old kenfs, I have to take
         more drastic measures. *sigh*

uriel     oh, 9load, the horror, the horror :)

kuroneko  I swear, 9load is on my list...

uriel     "hit list"?

kuroneko  *nods*

uriel     hehe :)

kuroneko  9load must die.

uriel     kuroneko: take care of 9load, and I will owe you quite
         a few beers

kuroneko  its on my list after establish world peace.

uriel     hehehe...

kuroneko  it may get bumped up a few notches once I get sparc
         or mips working.

uriel     don't worry, I'm taking care of world peace
         ;)

lantis    ^^

kuroneko  but 9load must die.

uriel     ACTION says amen

kuroneko  I am really unhappy with the fact that 9load appears
         to pass information onto the sym53cxxx driver
         it means that the sym53cxxx driver will not work on
         non-x86
         and I'm sure I've outlined the other reasons why I
         feel so strongly about 9load's death...

...

kuroneko  9load needs to go away.

vt3       ok, but what replaces it?

kuroneko  x86 needs to either switch to booting via multiboot
         and a small multiboot loader gets written
         or all the hardware autodetect needs to be removed
         from 9load
         and 9load gets reduced to being able to bootstrap kernels
         from minimum state (and become PXE compatible).
         read: 9load does too much.

vt3       I like the reduction idea.

kuroneko  more of 9load's function belongs in the kernel propper.

vt3       so basically modularize the processes.

kuroneko  that way we can carry it over to other archs when appropriate

vt3       yeah, i understand.
         another solution is to have a 9load variant for other
         archs and leave 9load as is.
+vmhobbes

uriel     vt3: no, because 9load duplicates kernel functionality
         already, that would only make matters worse

vt3       well, there's x86 and then there's everything else.

uriel     vt3: and something so tricky and black-art as ide-proving
         you only want to do in one place

kuroneko  IDE probing isn't that black-art either IMO
         the fact that linux can do it with much better certainty
         and accuracy than 9load is fairly indicative of that
         IMO

vt3       if we move off 9load, what do we break?

uriel     kuroneko: I think it's due to higher user base, ide-proving
         is very bug-sensitive to bios and chipset issues

kuroneko  vt3: any driver thats stupid enough to depend on 9load.

uriel     vt3: we "break" the install CDs not working 50% of
         the time

__20h__   Moving plan9.ini into /boot.

kuroneko  basically, the biggest problem I have with current
         9 boot practice is that it follows the 'distrust the
         preboot environment' philosophy
         which ultimately works against you in the longer term.

uriel     kuroneko: I'm not so sure of that

kuroneko  a 9 cd bootloader should lever eltorito for example.

uriel     kuroneko: preboot-environments can't be relied on from
         what I have seen

kuroneko  uriel: unfortuantely you're stuck with them.

uriel     kuroneko: yea, but the PC is a hell of a swamp of 'standards
         and bugs'

kuroneko  and preboot environments are generally sane enough
         to boot your kernel and get the real stuff going

uriel     (how long until you can't boot new PCs without doing
         ACPI? already some boards hardly work without it)

vt3       so basically moving towards something as the obsd camp
         has today.
         but with a graphical install.

uriel     kuroneko: well, yea, I agree the kernel should deal
         with things, and that the boot loader should just "do
         enough to get the kernel"

kuroneko  ACPI belongs in the kernel if its to be there at all.
         I'm already going to be working on openfirmware devicetrees
         in the kernel

uriel     kuroneko: yes, I agree...

kuroneko  so sparc wont' require hardcoded magic numbers

uriel     kuroneko: but we should make sure that the kernel doesn't
         care who gets at it(ie., as you said, that 9load does
         as little as possible)

kuroneko  well, thats the thing.

uriel     cause I fear in the end some day we will be forced
         to boot from grub or some such abomination

kuroneko  if plan9x86 starts to conform to multiboot, we can
         start heading that way
         multiboot means grub works.
         it means a number of other first-stage booters work
         and it shouldn't be hard to write a minimal bootloader
         that can boot a plan9 multiboot compatible kernel

uriel     there are some not very kind words about grub and it's
         "Unified boot standards" things in 9fans archives

kuroneko  I guess I should search the archives sometime then.

__20h__   Plan 9 doesn't do multiboot?

vt3       well, does get the kernel mean get the drivers? i think
         our model relies on drivers being in the kernel, which
         in turn requires us to get rid of floppy installs which
         don't have enough room for a grand unified kernel.
         ;)

kuroneko  20h: 9load might be multiboot, but the kernel itself
         doesn't.

uriel     http://groups.google.com/group/comp.os.plan9/msg/2b2e7752e8208afe
         (that one is a classic)

kuroneko  the whole thing about pain is simply because plan9
         is basically a major misfit on most platforms.
         it ignores abi (which is a good thing sometimes, but
         not othertimes), it ignores host configuration services,
         it ignores standard disklabels and partition tables

uriel     doing things right seems to be a major misfit on most
         things in this world :(

kuroneko  uriel: I don't call ignoring the established protocol
         for you host system 'doing things right'
         instead, I consider it 'taking the easy way out'.

uriel     http://groups.google.com/group/comp.os.plan9/msg/7f681582d17af0a2

vt3       hmm, the 9load trinity (9load, 9fat, Plan9.ini). We
         should consider retiring 9fat as well perhaps.

__20h__   You have two possibilities: plan9.ini or a writeable
         /boot.

vt3       a writable /boot seems like an interesting idea.

uriel     ACTION isn't sure writeable /boot is worth the trouble

lantis    mbrfs :) ?

uriel     9fat isn't all that bad

vt3       it isn't that good either.

__20h__   Where are problems with 9fat?

uriel     vt3: it doesn't create as much trouble as 9load...

vt3       it really seems like a quick fix in the big picture
         of things.

__20h__   So you want fossil support for Grub?

vt3       i see them as being interelated.

uriel     vt3: it might look a bit ugly, but it's simple and
         it works

kuroneko  9fat is good. its simple.
         however, 9fat's partition should be a MBR partition
         not a plan9 partition

vt3       from a security standpoint i don't trust it.

uriel     yea, how 9fat is 'hosted' is a bit... weird..
         vt3: uh? you don't trust your hardrive? then tough
         luck

__20h__   'security standpoint' - which one?

vt3       local access and lack of permissions

__20h__   So you think fossil is more secure, when you boot some
         CD with -AWP?
         For local access will you need machine guns.

kuroneko  local access is a non issue.

uriel     vt3: in Plan 9 we have real security, not delusions
         of security

kuroneko  the terminal owner can screw things over just as easily
         with fossil.
         [non-issue as in: this is not an issue to be resolved]

uriel     exactly

vt3       ok, we'll revisit it later then. :)

__20h__   But EROS boots, so you can try it. :P

kuroneko  fossil is NOT suitable for bootloading either.

uriel     oh dear, vt3 would have loved the EROS presentation
         what a load of crap it was

__20h__   But they use some sort of 9P for their network communication.

uriel     __20h__: I thought they had given up on hvaing any
         kind of network at all

kuroneko  to boot from a fossil fs you'd need a full IP stack
         and venti client so you can pull files out of venti
         if they're ont in the fossil cache.

uriel     __20h__: I even asked him about it, and he said "too
         hard"

kuroneko  that is too complicated for a bootloader.

uriel     kuroneko: yea, not worth it either, doesn't earn you
         much over 9fat

__20h__   So pbs needs to be able to start the kernel image?

kuroneko  __20h__: basically.

__20h__   It will stay at the basics.

kuroneko  the other thing I like about 9fat is it drastically
         simplifies floppy booting.
         you're basically using the same fs parsing code for
         floppies as you do for small 9fat partitions

__20h__   " /* when boot is changed to only use rc, this code
         can go away */" (/sys/src/9/pc/main.c)
         How about that way?

uriel     more russ on grub:
http://groups.google.com/group/comp.os.plan9/msg/b2463c380db1f18d

kuroneko  the whole thing is, if 9fat was an MBR partition, grub
         could be configured out of it.
         invalidating the whole configuration thing.
         and it shouldn't be too hard to teach grub how to read
         its config out of plan9 9fat partitions either.
         its just a matter of teaching grub about plan9 partition
         tables

uriel     well, to be honest, I agree with russ that I can't
         understand why a boot loader should need so much 'configuration"

kuroneko  it doesn't.
         grub requires about the same amount as 9load.

uriel     dunno, maybe it's just that the docs are a mess, but
         every time I have tried to install grub by hand, it
         has been a nightmare

kuroneko  I've installed grub many times by hand.
         then again, I probably understand certain bits about
         x86 better than a lot of people.

uriel     well, like everyhting, once you know the right dance,
         I guess it's not hard
         better than me certainly :)

kuroneko  even the first time I installed grub wasn't too painful

uriel     but I can't see why grub should need me to understand
         that stuff(and really, it has it's own set of weirdines
         and peculiarities, like it's own way to name devices
         and so on)

kuroneko  the device naming thing is a pain.

lantis    yeah

kuroneko  but its one you're stuck with everywhere.
         every preboot environment labels devices its own way

lantis    it becomes really funny when you are dealing with BSDs..
         root (hd0,0,a) or some f'..

kuroneko  lantis: blame disklabel for that.

uriel     this is interesting:
http://groups.google.com/group/comp.os.plan9/msg/61aab4e96e69764b
         seems like russ changed his mind in the end
         (or he was being cynical?)

kuroneko  openboot paths shall not be mentioned.
         they are beyond evil
         and are only made managable by labels.
         ['boot disk:a' actually maps to 'boot /devices/../../.../sd@n:a'
         or some other magic on most openfirmware systems]
         SGI ARC labels disks in its own way...
         SRM labels disks in its own way
         etc
         preboot sucks because everybody does it different.
         tough biscuits.
         you just have to live with it.
         you (hopefully) spend under 1% of your time in your
         preboot environment.
         working out the correct disk 'name' isn't too hard
         fortunately in most preboot environments.
         and usually you set and forget.

vt3       seems like a good time to start a project or fork to
         prove a point, and without bothering folks at BL. just
         be creative without the hassles.

kuroneko  Its on my to-get-back-to list.

...

uriel     we got email

vt3       cool. i'm glad Russ is reading. life is good.

kuroneko  uriel: we did?

uriel     kuroneko: yes :)

kuroneko  greylisting slows my mail influx right down

uriel     kuroneko: check your mailbox :)
         ah, I see

kuroneko  so it'll be a while before it turns up
         uriel: summary?

vt3       that was a good email.

uriel     kuroneko: 9load must diea, but it's not as bad as it
         seems ;)
         (but maybe I misread , so dont' take my word)
         kuroneko: I can paste in query if you like

vt3       unix bias? I thought it was my DOS bias. ;)

kuroneko  uriel: hrm. try it. :) I hope irssi doesn't floodprot
         by default. :)

uriel     kuroneko: are you registered in this shit netowrk?
         if you are, I can't :/

kuroneko  yeah, I am.
         been around for too long ;)

uriel     then you will have to connect to irc.oftc.net; because
         I'm not registered, and they filter out msgs from non-registered
         users to registered users

kuroneko  ah
         bloody hell. :)

uriel     kuroneko: just join #plan9 in irc.oftc.net

kuroneko  the sym53cxxx comment came from the fact that if you
         don't link in the sym53cxxx detection support into
         9load and then boot a kenfs kernel, kenfs does not
         see the 53cxxx
         [similarly, 9load also detonates violently if you have
         a 53c810, 825 or 815 without SCRIPTS support]
         somebody has updated the 53cxxx driver at some point,
         and its definately not particularly friendly now
         I'm pretty sure when I looked at the 2e 53cxxx driver,
         it wasn't dependant on SCRIPTS


  parent reply	other threads:[~2005-12-04 16:00 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-04  4:48 Uriel
2005-12-04  7:01 ` jmk
2005-12-04 16:00 ` Russ Cox [this message]
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=ee9e417a0512040800l48003450s1eb35ed2a9b05a3e@mail.gmail.com \
    --to=rsc@swtch.com \
    --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).