that the Macbinary files in the "misc" directly are now directly executable
from within Mac OS. This solves a "chicken-and-egg" problem: you can't even
distribute a tool to unpack the archives on a plain ISO image, as the
executable code is all in the resource fork on mac68k. In other words, a
user can now begin the installation by simply double-clicking on the Booter
program on the CD-ROM.
* 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"
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
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
any pipes and running other commands (eg dd).
Measurable speeds up creating pseudo ttys.
(there has to be a better way than editing 51 files! - tedious at only
6 key presses per file)
MD disktab where possible (everything but vax)
the MD disktab was often either empty, or contained entries even for disks
which support geometry autodetection (SCSI), and/or non-interesting/long
obsolete entries
the old records are still available in example disktab in
/usr/share/examples/disktab/disktab in case anyone would need them
for all platforms.
- remove now unnecessary replicated code in the various snap_md_post targets
- remove snap_md_pre; nothing uses it any more
- use ${NETBSDSRCDIR} and ${KERNSRCDIR} as appropriate
(prevents spurious warning for mfs /dev, amongst other things)
- for mipsco, news68k, newsmips: ensure that "umask 77" is run after $0.local
- for playstation2: add local) target, and use in all) (for consistency)
Note:
(1) Character device major number chages to 49 from 48(in my original
code). So it is necessary to rebuild device files.
(2) Must use Booter 2.0.0a10 or later.
(3) Default mode is cpu busy wait. It is defined by flags 0x1000.
It will be more slow than before.
No flags means hardware interrupt mode. But it might be able to
get no interrupts.
Support machines:
(1) Quadra 630 series
(2) PowerBook 150
Non tested machine:
(1) PowerBook 190 series
Approved by: briggs
* use "ln -fs foo bar" instead of "rm -f bar; ln -s foo bar"
* remove unnecessary chown root or chgrp wheel directives; older code here
didn't bother doing this, so why be inconsistent
* when making directories, don't use -p and don't redirect stdout to /dev/null
* clean up whitespace
* wrap the main parser code in a function makedev(), and call makedev
instead of "sh $0". (this is a bit faster)
* don't barf when we have fdesc mounted; just skip the devices fdesc provides
(these files should really be automagically generated...)
"pty0 pty1 pty2 pty3" before, for a total of 64 device nodes, we now want
just "pty0" for a total of 62 -- the original commit had "pty0 pty1" for a
total of 124, which ate too many inodes and made "ls /dev" a bit messy.
Changes taken from the i386 MAKEDEV. Note that the unusual use of 'dd'
to index an array was chosen because 'dd' is on all ports' install media.
This form of this change comes from Andrew Brown; the original idea to
bump the number of ptys this way comes from Brian Marcotte at Panix.