boot0cfg(8) currently has no way to select the default boot slice. Having such a mechanism is useful when boot0 is used with the `noupdate' option. Since turning on `noupdate' for the first time requires booting FreeBSD (which makes FreeBSD the default), there is no direct way to make some non-FreeBSD partition the permanent default. [Indirect ways to achieve this which do work include booting FreeBSD from a floppy or CDROM (so as not to disturb the current default slice) and then running boot0cfg, or manually editing the byte at offset 0x1b9 in the MBR.] The patch included below adds a new `-s' option to boot0cfg that allows the default boot slice to be configured. Fix: Apply the following patch in src/usr.sbin/boot0cfg. How-To-Repeat: - Take a disk with two slices: F1 Dos F2 FreeBSD - Attempt to make "F1 Dos" the permanent default, so it will always be the default regardless of the last selection made. - Discover that in order to run "boot0cfg -o noupdate", one must first boot FreeBSD. Running "boot0cfg -o noupdate" then makes "F2 FreeBSD" the permanent default.
Responsible Changed From-To: freebsd-bugs->dwmalone Local PR.
State Changed From-To: open->closed Committed.