Subject: Re: Where/how is rootvp set in kernel initialisation?
To: Chris G. Demetriou <cgd@sibyte.com>
From: None <nigel@ind.tansu.com.au>
List: tech-kern
Date: 09/21/2000 09:52:58
I stated/asked:
> > 	I have searched through the kernel source, and these are the
> > only three places that seem to set rootvp:
> > 
> > coda_vfsops.c   : coda_mount()
> > vfs_getcwd.c    : sys___getcwd()
> > kernfs_vfsops.c : kernfs_unmount()
> > 
> > 	Assuming that I haven't stuffed up in my searching,
> > which of these is called (indirectly) from init_main(), and why ?


	Chris G. Demetriou and Bill Studenmund helpfully pointed me
to bdevvp() in ffs_mountroot(). Silly me. My search was too dumb
(I was looking for stuff like "rootvp =").


	Now, Ignatios Souvatzis asked a very sensible question -
why don't I use the libsa stuff?

	That would certainly be the simplest replacement for the
existing Booter code, but:

1) By implementing all the VFS stuff, it means that I can also read
   any type of filesystem (e.g. ext2fs, lfs)

2) If I ever get this stuff to work nicely on a 68k Mac, it can also
   be used in the utilities that have to write to the filesystems
   (the Installer) or newfs them (MkFs)


	That is still a long way off, though.

-- 
| Nigel Pearson, nigel@ind.tansu.com.au | "Reality is that which,   |
|   Telstra NW-D, Sydney, Australia.    |  when you stop believing  |
| Office: 9206 3468    Fax:  9212 6329  |  in it, doesn't go away." |
| Mobile: 0408 664435  Home: 9792 6998  | Philip K. Dick - 'Valis.' |