Commit Graph

4 Commits

Author SHA1 Message Date
lukem
fcdfdbba5c Rework MAKEDEV:
*	Use "mknod -F netbsd -r" to create nodes, instead of
	"rm ; mknod; chmod; chown".
	This means permissions & ownership of existing nodes will
	not be changed.
	This is up to 30% faster when populating an empty /dev,
	and nearly 2x faster when re-running on an existing /dev.

    *	New options:
    	-f		force change of permission & ownership of existing
			devices
    	-m mknod	override name/path of mknod program
			(which defaults to $TOOL_MKNOD, then "mknod").
	-s		generate mtree(8) specfile instead of creating devices

    *	Remove /usr/etc from $PATH; not needed anymore.

    *	Provide functions to create devices & directories:
	    mkdev name [b|c] major minor [mode{=600} [gid{=0} [uid{=0}]]]
		create device node `name' with the appropriate permissions
	    lndev src target
		create a symlink from src to target
	    makedir dir mode
		create directory with appropriate mode

    *	UIDs and GIDs are hardcoded in at MAKEDEV generation time.
	(Unfortunately there's not a simple way of determining a GID
	a la "id -n user" for determining a UID).

This was tested by generating MAKEDEV for each MACHINE,MACHINE_ARCH
combination and comparing the results of "MAKEDEV all" from the
previous version to the new one.
(This testing actually highlighted mistakes in the previous configuration!)


Simplify distrib/common/Makefile.makedev to use "MAKEDEV -s"
2003-12-21 17:37:26 +00:00
jdolecek
7a46124ea4 determine the platform number of disk partitions by looking
at MAXPARTITIONS/OLDMAXPARTITIONS in kernel sources, so that it wouldn't
need to be specified separately in MAKEDEV.conf

change platform MAKEDEV.conf to contain only MD targets and nothing else;
simplify the parsing in MAKEDEV.awk accordingly
2003-10-19 19:07:26 +00:00
jdolecek
54bd322b10 no need to duplicate creation of wskbd/wsmouse - target 'wscons'
creates these
2003-10-19 17:26:24 +00:00
jdolecek
7126da0813 MD part of unified MAKEDEV
this contains information about disk partitions used by platform,
and MD MAKEDEV targets, such as 'init', MD part of 'all',
as well as any other MD-specific targets not covered by MAKEDEV.tmpl
2003-10-15 19:13:32 +00:00