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.' |