Hi -
> From: "Ian King" <iking(a)killthewabbit.org>
> I tried changing the partition type with disklabel -e -r but, when I exited
> vi, I got an error message saying that the type I'd provided was not valid.
> Viewing the label (with disklabel -r) showed the fstype set to 'unknown'.
"unknown" or "unused"
On my virtual 11 I see disklabel report:
8 partitions:
# size offset fstype [fsize bsize]
a: 16720 0 2.11BSD 1024 1024 # (Cyl. 0 - 39)
b: 8360 16720 swap # (Cyl. 40 - 59)
c: 340670 0 unused 1024 1024 # (Cyl. 0 - 814)
h: 315590 25080 2.11BSD 1024 1024 # (Cyl. 60 - 814)
> Just for grins, I tried modifying the drive type, too - no success there,
> either. The disklabel utility isn't having any of that; again it claims
> 'unknown'.
Ah, that says something is corrupt somewhere.
If you look at /usr/include/sys/disklabel.h you'll see the
table of filesystem types:
static char *fstypenames[] = {
"unused",
"swap",
"Version 6",
"Version 7",
"System V",
"2.11BSD",
"Eighth Edition",
"4.2BSD",
"MSDOS",
"4.4LFS",
"unknown",
"HPFS",
"ISO9660",
0
};
So for 'unknown' to appear there would need to be a 10 in the type
field instead of a 5 (for "2.11BSD"). 'unused' is a 0 obviously.
Try booting up a standalone disklabel and see what it says without
a kernel getting involved.
Steve
Hi -
> From: "Ian King" <iking(a)killthewabbit.org>
> Now I know I'm missing something. I tried following your advice, using the
> disklabel utility running under the old kernel. From what you say below, I
Which part of the advice? ;)
The part of the advice that might be most useful was to put a
copy of the standalone disklabel program in / and boot it - NOT
run the usermode version while the system is running.
cd /sys/pdpstand
make
cp disklabel /
then reboot the system and at the ':' prompt enter ra(0,0)disklabel
there are things that can be done with the standalone version that
are either impractical under a kernel (because the 'a'/root partition
is open/busy) or because the standalone version has no safety checks.
> assume you are referring to the 'fstype' parameter on the partition, not the
> 'type' parameter for the drive, correct? The drive type is MSCP, and the
> partition fstype is 2.11BSD.
'fstype' is what I had in mind.
a: 16720 0 2.11BSD 1024 1024 # (Cyl. 0 - 39)
> I tried changing the partition type with disklabel -e -r but, when I exited
> vi, I got an error message saying that the type I'd provided was not valid.
> Viewing the label (with disklabel -r) showed the fstype set to 'unknown'.
Now I am confused. 2.11BSD is correct - but then it's "unknown" and
that would cause the 'iinit' panic that started this thread of
discussion.
Down the path of logic that results in a 'iinit' panic and the
'no fs' there's a check for the filesystem type and "unknown" was the
likely cause (or at least that was the hope).
If the standalone disklabel program says it's "2.11BSD" then there's
something else going on - the next likely thought is that 'rootdev'
or related entity isn't set to the device that is the actual root
filesystem.
> Just for grins, I tried modifying the drive type, too - no success there,
> either. The disklabel utility isn't having any of that; again it claims
> 'unknown'.
That's not used for anything important.
> Oh well, while I'm waiting for your reply I can rebuild my kernel with a
> higher MAXUSERS parameter. :-)
~12 is a good number - not much need for more than that as a rule.
Steve
Hi -
> From: "Ian King" <iking(a)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
> following:
>
> <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
doesn't.
> (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
init_main.c
The panic "iinit" is in init_main.c after mountfs() has returned
NULL
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
ra(0,0)disklabel
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' ...
Steve
Hi all,
I have a Pro/venix 2.0 distribution (the one by DEC) and was going to
reinstall it on my PRO/350. Unfortunatelly I discoveded that the Base Kit
Sistem Area Disk 1 was bad.
Anyone in this list can help me in supplying this floppy image ?
Thanks in advance.
Franco.
Hi -
I received a mail item from Johnny Billquist but the fine folks
at Update.UU.SE don't seem to recognize that networks can be
subdivided and that _my_ portion has never sent or relayed spam
Hope Johnny doesn't mind the reply going here instead.
----- The following addresses had permanent fatal errors -----
bqt(a)update.uu.se
(reason: 553 5.3.0 <bqt(a)update.uu.se>... SMTP from 64.32.150.18 blocked by Update due to spam sent/relayed from this network;contact postmaster at Update.UU.SE for details)
----- Transcript of session follows -----
... while talking to tempo.update.uu.se.:
>>> RCPT To:<bqt(a)update.uu.se>
<<< 553 5.3.0 <bqt(a)update.uu.se>... SMTP from 64.32.150.18 blocked by Update due to spam sent/relayed from this network;contact postmaster at Update.UU.SE for details
550 5.1.1 bqt(a)update.uu.se... User unknown
Hi!
> I have a small question, which I hope you can clarify for me. I'm in a
> little argument with a person involved in NetBSD.
Ummm, I'm not a lawyer of course...
> He claims that NetBSD is the oldest free BSD still alive, which I reacted
> to since it was my belief that 2BSD now is free.
But is 2BSD free? That I don't know. It is more free than it was
a long time ago but
> This have resulted in the claim that Berkley is the one that is
> restricting 2BSD, which was news to me. Is this in any way correct? The
>
> * Copyright (c) 1986 Regents of the University of California.
> * All rights reserved. The Berkeley software License Agreement
> * specifies the terms and conditions for redistribution.
That was the earlier version of the BSD license - when you had to have
a ATT/USL/BellLabs license in order to obtain BSD at all.
I am not sure I have a copy of the original UCB license but I think
part of it involved having a ATT/USL license.
The 'BSD' part of the UCB license permitted free sharing of the
UCB portions of the system. The questionable parts involved
the original ATT/USL code. If the current owners say that the original
(non-UCB) portions are free then that means the entire system is
free.
> I believed that this was/is more or less the same as the current BSD
> license (except that it still have the clause that any software
> incorporating code from BSD must say so).
At a later time the BSD license agreement added words about
redistributing the code with or without modification as long as
credit was given.
> But appearantly this other guy is claiming that Berkley hasn't let 2BSD
> free at all.
I'm not sure UCB even knows what 2BSD is any more.
> Can you clarify this for me, please? :-)
Does the current state of the Caldera/SCO/whatever license override
any existing licenses? THAT I do not know. If that is the case
then I would say that 2BSD is indeed free, on the other hand if people
are still legally constrained by the earlier license then 2BSD is
not totally free. Earlier versions of NetBSD would not be free
either because they contain "encumbered code" from the era when a
ATT/USL license was required.
I think it unlikely that anyone is going to send the 'software police'
out to kick down a person's door because they're running 2BSD - sounds
like that era is over at last. That's free enough for most people
I think.
Steve
Hi -
> From: Johnny Billquist <bqt(a)update.uu.se>
> Are the UMRs allocated and set up statically?
The clist and buffer cache UMRs are initialized at system boot time.
> (I haven't looked inside 2BSD for a while now, and can't remember much of
> the internals anymore.)
And I haven't been around a UNIBUS system for a long time and the
memory of having to deal with UMRs has faded.
> How many UMRs does the system use? 8 for buffer cache, you might expect
> one or two DH11s, that would require a few more, ethernet takes another
> few, but it seems there shouldn't be such a shortage.
There are only 31 total - so a few allocated here, a few allocated
there could result in not having enough.
> What did I miss?
Swapping. The kernel has to always be able to get UMRs to be
able to swap out a process. The memory is fuzzy but I think the
kernel reserved 7 as to be able to swap 56KB at a time of a process
but it could get by with less.
One UMR is 'reserved' by the hardware to cover the "I/O Page".
The clist takes up 1 UMR for DMA terminal devices.
Ethernet of course takes a UMR or two. At one time a couple of the
ethernet drivers (DEUNA) were a bit braindamaged and allocated more
UMRs than they needed - I fixed that though.
MSCP and TMSCP devices need UMRs to map their command and response
rings. The initial MSCP driver was definitely suboptimal in that
regard - again, something I tended to (the problem showed up when
more than 1 controller was present in a system). Those UMRs are
permanently allocated at boot time by the drivers when they initialize.
Tape drivers need to have UMRs (although I don't know of too many
folks with the old TE16 drives around on a UNIBUS system) available.
It started adding up and on a system with several types of devices
each of which wanted to reserve a couple UMRs the available pool for
dynamic use (by tapes and swapping) was sometimes too small.
Cheers,
Steven Schultz
Hi -
> From: David Evans <dfevans(a)bbcr.uwaterloo.ca>
>
> OK. From what I recall (that turned-off machine again...) the entire
> discussion on tuning MAXUSERS and friends is based on allocation of UMRs.
> Might be a good idea to slip in a note about what to do when you don't have
It is less a matter of MAXUSERS than it is of NBUF. NBUF sets
the number of disc cache buffers. MAXUSERS affects the size of the
proc table, file table, and other tables which are in the permanent
(not mapped in/out) portion of the kernel's address space but does
not affect the disc buffer cache which is the entity requiring UMRs
on a UNIBUS system.
The buffer cache must be entirely mapped by UMRs - so if you have a
32KB buffer the kernel will reserve 4 UMRs on a UNIBUS system.
Realistically a 64KB buffer cache is about the maximum a UNIBUS system
can have because that takes 8 of the UMRs.
With the old (thankfully no longer in use, etc) 3Com ethernet boards
you had to disable 4 UMRs so the system could access the memory in the
card - that made for a very tight fit.
The other constraint, even for Qbus systems, is the D space requirement.
The 1KB portion of the disc buffer is "external" to the kernel (is
mapped in/out as needed) but there is a header structure which is
part of the kernel's permanent address space. Each buffer header is
24 bytes so even without UMRs around it's not feasible to have a 200KB
cache because that'd use 4800 bytes of kernel D space (which is always
on the edge of being overflowed it seems).
On a 11/73 I've used a 100KB buffer cache but when I was using 11/44s
and /70s the max was 64KB.
Cheers,
Steven Schultz
Hi -
> From: norman(a)nose.cs.utoronto.ca (Norman Wilson)
> 0141 (octal) is 'a. 141 decimal is 0215 octal, i.e. carriage return with
> parity.
And I remembered that (correctly as it turns out) without looking
at ascii(7) <g>
> What seems more likely is that 141 decimal is 0200 + 13 decimal. If a
> simple value returned by wait, that means SIGPIPE + core image, which
> seems unlikely. If an exit status as displayed by the shell, it just
It's, if I recall, being displayed by 'make'. There's no coredump
so the interpretation of 0141 is that of an exit status. It's been
a while since I've looked into the problem - it was quite annoying
to run the sequence (that was causing make to cease) manually and not
have it happen the same way.
a 'shell'
> means SIGPIPE (128 + signal number). Or is signal 13 different in 2.11
> than in V7? (That seems even less likely.)
Ah, ok - that makes sense too. No, SIGPIPE is the same as it's always
been since it was first defined as 13
> SIGPIPE doesn't seem entirely unreasonable as an accident that could
> happen if something goes wrong in the assembly-language-code-tweaking
> part of the kernel build.
But something is causing the assembler to exit prematurely and break
the pipe in the first place.
SIGPIPE happens, of course, when a writer process writes to a pipe
where the receiving/reading process has exited. 'as' is exiting
prematurely - that can be determined by looking at the partially
created (or empty) .s file that gets left behind.
> Of course if it's a random value handed to sys exit, all rules are off.
What might be needed is a decent (or existent ;)) syscall tracing
capability. That combined with the capability to "coredump a non-0
exit process) might be enough to track down what's causing 'as'
to depart the scene prematurely.
Cheers,
Steven Schultz
> From: David Evans <dfevans(a)bbcr.uwaterloo.ca>
> To: "Steven M. Schultz" <sms(a)2BSD.COM>
> Cc: pups(a)minnie.tuhs.org
> Subject: Re: [pups] Progress on 2.11BSD kernel
> Date: Wed, 19 Mar 2003 13:08:16 -0500
>
> On Wed, Mar 19, 2003 at 09:51:10AM -0800, Steven M. Schultz wrote:
> > Howdy -
> >
> > > From: David Evans <dfevans(a)bbcr.uwaterloo.ca>
> > > This came in handy for me too when I went the route of messed up MAXUSERS
> > > screwage.
> >
> > That'll do it too ;)
> >
>
> Fortunately /vmunix & /oldvmunix is a familiar procedure from back in
> my PMAX device driver hacking days.
>
> > > On another note, were there any SCSI adapters that made use of the BA23/
> > > BA123 RD disk control buttons? Would be nifty to swap in a new ra0 by
> > > simply taking a disk offline/online.
> >
> > Hmmm, those buttons/cabling are for RD/MSCP devices - not sure if it's
> > possible to use them with SCSI devices.
> >
>
> I was thinking of a SCSI adapter that plugged into the bulkhead somehow.
> This is plainly rediculous, but a nifty idea nontheless.
You could put your SCSI drive into one of those pull-out
"mobile adapter" things. But you probably should not pull
it out without idling the SCSI bus first.
carl
--
carl lowenstein marine physical lab u.c. san diego
clowenst(a)ucsd.edu
Hi -
> From: David Evans <dfevans(a)bbcr.uwaterloo.ca>
> I recall cranking MAXUSERS up a little, though I can't remember to
Good Idea because the default is only suitable for single user mode
and building a new/custom kernel. Quite a few kernel tables
are sized based on 'maxusers' - in particular the coremap and swapmap
tables (which track the fragments of memory and swap space) will be
exhausted easily if you bring up a network'd kernel and start up
the various daemons.
> what and my PDP-11 is turned off at the monent. A clarification of
> how the whole Unibus map register business effects Qbus-based systems
> would be nice.
It really doesn't - not having UMRs to deal with is a Nice Thing about
the Qbus ;) The kernel (and the standalone utilities of course)
need to know if they're on a U or Q-bus system but once a Q system
is found then the UMR handling is bypassed.
Cheers,
Steven Schultz