With this switch processes (such as xconsole) can open /dev/console
without breaking login on the text or serial console. This can be
trivially triggered by enabling xdm in rc.conf and hitting
Ctrl+Alt+F1 or equivalent once booted.
The changes:
- Add entry for /dev/console or /dev/constty if missing
- If a port's had /dev/console 'on' switch it off and enable /dev/constty
- If a port did not have /dev/console 'on', leave /dev/constty off
Some ports had /dev/console off and /dev/ttyE0 enabled, presumably to
avoid just this issue. It may make sense to adjust these also (but not
in this pass)
As discussed on current-users
as the console. Now when coming up in single user mode the tset in
/.profile can set the terminal type correctly.
Note: I believe constty should be 'on' and console 'off', but thats a
separate discussion
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)
* 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.
at the end, and as wscons (actually ttyE0) is required to login on the console,
it is probably better that an out of space MAKEDEV fail on some other device.
more consistent. To quote the comment in etc/Makefile
that describes how it's done:
# This target builds the kernels specified by each port. A port may
# specify the following kernels:
#
# KERNEL_SETS The list of kernels that will be
# packaged into sets, named
# kern-${kernel}.tgz. These kernels
# are also placed in the binary/kernels
# area of the release package as
# netbsd-${kernel}.gz.
#
# EXTRA_KERNELS Additional kernels to place in the
# binary/kernels area of the release
# package as netbsd-${kernel}.gz, but
# which are not placed into sets. This
# allows a port to provide e.g. a netbootable
# installation kernel containing a ramdisk.
#
# BUILD_KERNELS Additional kernels to build which are
# not placed into sets nor into the
# binary/kernels area of the release
# package. These are typically kernels
# that are built for inclusion only in
# installation disk/CD-ROM/tape images.
#