nrelease: Use pw(8) and chpass(1) to setup 'installer' and 'root' users Use pw(8) to add the 'installer' user and use chpass(1) to disable passwords for the 'installer' and 'root' users. So we can drop the customized 'master.passwd' file and be in sync with the one in usr/src/etc.
nrelease: Remove superfluous files * The 'pwd.db' and 'spwd.db' files should be generated by pwd_mkdb(8). * The 'login.conf' is not customized and thus not needed. Anyway, the 'gui' framework is still using the deprecated pkgsrc framework and has not been maintained for years...
ttys - Add 'ifconsole' option to ttys entries * Add the 'ifconsole' option. This allows you to construct a line as shown below to enable a getty (e.g. on a serial port) only if the tty is the system console. ttyd0 "/usr/libexec/getty std.9600" dialup on secure ifconsole The ifconsole option also silently disables any devices which do not exist, removing unnecessary console spam. * Modify libc and init to handle the new flag. * Modify the nrelease build and ttys defaults to use this option for ttyd0, ttyd1, ttyd2, and ttyd3. * Avoids previously reported issues with system crashes on certain machines whos serial ports are not implemented properly without having to fully disable the default ttyd* getty feature. If the serial port isn't the console, it won't be enabled. * Add a sysctl to the kernel which init needs to test whether a tty is the console or not. Suggested-by: swildner
nrelease - Adjust source inclusion, cleanups * When including sources only include the git repo, do not also include the broken-out source. * Add more slop to the size calculation for the usb image * tmpfs entries in /etc/fstab should specify 'dummy' as the device, not 'tmpfs'. * Add /usr/obj as a tmpfs mount. * misc cleanups.
Hopefully fix mountroot on our LiveCDs. Before the recent loader changes, the root device to use for CD-ROM booting (/dev/cd0) was properly passed from the loader to the kernel so the entry in fstab was never used. However, with the new loader code this doesn't happen anymore (for yet unknown reasons), so the fstab entry is tried and fails, because it is wrong. So for now, adjust our fstabs to use /dev/cd0.
DEVFS - rollup - Userland, nrelease, and installer * Remove MAKEDEV and MAKEDEV use in the build system. * Add a new libc function fdevname() taking a file descriptor and returning the device name. * Remove the MFS /dev for the CD and adjust the nrelease build system to use devfs. * Installer adjustments: PFI search path, remove device node maker (it is non-applicable with devfs). * Add mount_devfs to the build Makefile. * Change dhclient to use an auto-cloning bpf. * The VN device now uses labels by default, and no longer supports non-label configurations (though you can of course ignore the label area and just r/w the raw device anyway). Submitted-by: Alex Hornung <ahornung@gmail.com>, and Matthew Dillon
LiveDVD: Fix installer when it is run in the console. The LiveDVD was recently changed to not auto-start X11 anymore, meaning the installer can now be run from within X11 (after manually starting it) or from the console. However, the latter case requires ttyv1 to be free because the console installer will log stuff on ttyv1. When started from X11, this output goes to a different window (which is why ttyv1 was configured normally on the LiveDVD). Reported-by: matthias Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1289>
Release Engineering: Enhance gui PFI to auto-detect xorg or curses Add an "auto" feature for pfi_frontend and change the default to "auto". Adjust the gui/usr/local/bin/installer script to accept "auto" and set pfi_frontend to "xorg" or "curses" based on the existance of the DISPLAY variable.
Release Engineering: nrelease and GUI build adjustments * Add a 'restartpkgs' target to the nrelease Makefile * If /usr/src is not owned by root properly chown cpdup'd files to root. * Quiet superfluous errors during certain tests * Gui build: Do not automatically start X. Provide instructions instead. Otherwise the DVD can take forever to boot. Remove related hacks. * Gui build: Change the default shell to csh.