Subject: /dev mfs-mounted by init too small(?)
To: None <current-users@NetBSD.ORG>
From: Christian Biere <>
List: current-users
Date: 11/28/2003 23:24:05
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable


I wonder why init uses such a small mfs-mounted filesystem. By default
there are a lot of devices missing due to this limit. The only=20
documentation concerning this limit I could find was this sentence
in /dev/MAKEDEV (moved to /sbin as suggested by Chuck Yerkes):

"# As of 2003-04-17, the "init" case must not create more than 890 entries."

I gave up messing with MAKEDEV{,.local} choosing only the devices I
know to be needed. It's just not worth the few Ks. Instead I recompiled
/sbin/init after increasing NINODE in src/sbin/init/init.c and modified
MAKEDEV to create all devices for target `all' as well as for `init'.
Unfortunately, this init didn't work and I had to recompile it with
static linking. However, I still got dozens or hundreds
"chgrp: not found" and "chown: not found" message before /etc/rc runs.
At first, I failed to realize that these came from MAKEDEV and
meant that neither chgrp nor chown could be executed. I finally fixed
this by adding /rescue to PATH in MAKEDEV. End of the story, read-only
/ is almost working besides a few glitches e.g., /etc/nologin.

IMHO, NINODE should just be larger as this seems to a purely arbitrary
limit and the current value prevents a fully working system. Also
chgrp and chown can only be used if they're on / because that's the
only mounted filesystem at that time.


Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.2.3 (NetBSD)