"ioctl DIOCSMBR: Operation not permitted" from "boot0cfg -s 1"
david at catwhisker.org
Tue Mar 1 17:00:50 GMT 2005
On a couple of machines here (my laptop and an SMP "build machine"), I
track each of RELENG_4 and RELENG_5 on a daily basis. I do this by
using separate bootable slices.
As a consequence of doing things this way, I have become accustomed to
using boot0cfg to switch the default boot slice when I need to do this
(which is usually twice daily per machine).
I know of no problems doing this with RELENG_4 in the past, nor with
RELENG_5 (since that tag was laid down, of course -- there had been an
issue with 5.x when it was -CURRENT back in the earlier days of GEOM,
but that was un-broken withiin a few days -- up through Sunday (27 Feb).
This morning, I got through building & booting 5.4-PRERELEASE OK, so I
tried switching back to slice 1 (where I have RELENG_4 living). This is
what I saw:
freebeast(5.4-P) sudo boot0cfg -s 1 -v ad0
boot0cfg: /dev/ad0: ioctl DIOCSMBR: Operation not permitted
I also tried in single-user mode (after "fsck -p" and mounting the usual
file systems, since boot0cfg is in /usr/sbin); same result.
I can't help but think that this is a symptom of a mistake -- especially
for -STABLE. (-CURRENT/HEAD, I could believe, though a "heads up" would
be welcome if such a change were contemplated.)
Now, on my laptop, it's easy enough to just press the appropriate Fx key
at boot; for that build machine -- which runs headless, keyboardless,
but with a serial console -- I found that I needed to interrupt the boot
sequence early -- just after the boot blocks have been loaded; I was
>> FreeBSD/i386 BOOT
and responded "0:ad(0,1,a)/boot/loader", which booted from slice 1
(which was running 4.11-STABLE); I then used "boot0cfg" to switch the
default boot slice to "1".
I should be in a position to be able to test potential fixes.
David H. Wolfskill david at catwhisker.org
There is a place in software engineering for an appreciation of history.
See http://www.catwhisker.org/~david/publickey.gpg for public key.
More information about the freebsd-stable