[pups] Progress on 2.11BSD kernel
Steven M. Schultz
sms at 2BSD.COM
Thu Mar 20 03:36:58 AEST 2003
> From: "Ian King" <iking at killthewabbit.org>
> Well, given the excellent advice I received here (especially from Steven
> Schultz), I got the networking kernel to build after moving a few modules
> around between overlays. It was indeed the overage on DATA/BSS that was
Hmmm, if it was an overage on the DATA/BSS (which is hard to do unless
you overdeclare MAXUSERS or the number of tty devices) then
shuffling overlays wouldn't have made any difference since overlays
affect only code and not data allocation.
> Now, when I respond to the boot prompt with 'ra(0,0)unix', I'm getting the
> <banner for the image, date, time, etc.>
> panic: iinit
> no fs on 5/0
That says the kernel was not able to mount the root filesystem. The
earlier messages about the kernel build date, etc appear because
the kernel prints those directly from internal strings (and the
kernel is loaded by /boot who doesn't "mount" the root filesystem).
> I'm booting from an RD54, and checking both 'ls -l /dev/ra*' and
> /dev/MAKEDEV, it sure looks to me that the major device number for this
> drive is 5 - am I missing anything yet? That's what I called out as the
You're not missing anything so far ;)
Are there other devices/controllers on the system? That should work
(works on my system) but I'm trying to get a handle on what might be
confusing the kernel.
> for ra.) Note that this is exactly the same device as I have been using all
> along with the GENERIC kernel, so I know there's really a filesystem there.
That's the puzzling part - why the old one works but the new one
> (FWIW, I didn't define an autoboot device.) In ufs_subr.c, I see where this
> message is apparently generated in the getfs() function, but I can't really
mountfs() calls getfs(). mountfs() is called out of main() in
The panic "iinit" is in init_main.c after mountfs() has returned
The times I have seen the 'iinit' panic it's meant that the disklabel
was either missing _or_ that the root ('a') partition was not of
type FS_V71K. I SUPPOSE it's far fetched, but possible, that the
old kernel predates the check for the filesystem type, thus it ignores
the type of partition 'a' and assumes it's a valid filesystem.
If you have a copy of the standalone 'disklabel' program installed
in / you can boot that with
and examine the label that way. Or boot the tape and load the
utility that way. Using the old kernel and running disklabel
would work too. If the 'type' for the 'a' partition is not 'FS_V71K'
that's the problem.
> PS: I'm really glad I followed the advice to copy my old (GENERIC) kernel
> image to 'oldunix' - so I can still boot!
Ah, glad to hear that the advice came in handy. The other thing
that comes in useful is a bootable Zip disk (complete 2BSD system
fits on a Zip disk if one has a SCSI adaptor around) - came in handy
when I corrupted/broke 'init' ...
More information about the TUHS