ioctl DIOCSMBR: Inappropriate ioctl for device



Hi,

I am working on a nanobsd derived system for updating an embedded
pfSense image. The disk is partitioned into 4 partitions with 2
similar "code" partitions. One of the two code partition is live at
any moment. To update the partition image is written to the other
partition and a command like boot0cfg -s 2 -v ad2 to boot to the new
partition.

Instead of using device names I am using bsdlabel and refer the disks
using the label in fdisk.

Current partitions are as follows:

nanoimg:~# fdisk ad2
******* Working on device /dev/ad2 *******
parameters extracted from in-core disklabel are:
cylinders=1999 heads=16 sectors/track=63 (1008 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=1999 heads=16 sectors/track=63 (1008 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 32, size 239584 (116 Meg), flag 80 (active)
beg: cyl 0/ head 1/ sector 1;
end: cyl 467/ head 15/ sector 32
The data for partition 2 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 239648, size 239584 (116 Meg), flag 0
beg: cyl 468/ head 1/ sector 1;
end: cyl 935/ head 15/ sector 32
The data for partition 3 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 479232, size 2048 (1 Meg), flag 0
beg: cyl 936/ head 0/ sector 1;
end: cyl 939/ head 15/ sector 32
The data for partition 4 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 481280, size 20480 (10 Meg), flag 0
beg: cyl 940/ head 0/ sector 1;
end: cyl 979/ head 15/ sector 32

dmesg shows the following when booting:

ad2: 983MB <LEXAR ATA FLASH V1.01> at ata1-master PIO4
GEOM: ad2: partition 4 does not start on a track boundary.
GEOM: ad2: partition 4 does not end on a track boundary.
GEOM: ad2: partition 3 does not start on a track boundary.
GEOM: ad2: partition 3 does not end on a track boundary.
GEOM: ad2: partition 2 does not start on a track boundary.
GEOM: ad2: partition 2 does not end on a track boundary.
GEOM: ad2: partition 1 does not start on a track boundary.
GEOM: ad2: partition 1 does not end on a track boundary.
GEOM_LABEL: Label for provider ad2s3 is ufs/cfg.
GEOM_LABEL: Label for provider ad2s4 is ufs/cf.
GEOM_LABEL: Label for provider ad2s1a is ufs/root0.
GEOM_LABEL: Label for provider ad2s2a is ufs/root1.
Trying to mount root from ufs:/dev/ufs/root0

Fstab is:

/dev/ufs/root0 / ufs ro 1 1
/dev/ufs/cfg /cfg ufs rw,noauto 2 2
/dev/ufs/cf /cf ufs ro 1 1

both ad2s1a and ad2s2a are active and they appear in boot screen as F1
and F2. I can manually press F1 and F2 and boot from either of them.
But when I give a command boot0cfg -s 1 -v ad2 I get

boot0cfg: /dev/ad2: Class not found
boot0cfg: /dev/ad2: ioctl DIOCSMBR: Inappropriate ioctl for device

I have searched google and archives and could not find much about this
error. Any help to resolve this would be much appreciated.

with regards,

raj
_______________________________________________
freebsd-stable@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • RE: Cant add new 1TB disk in FreeBSD 6.1
    ... If I run bsdlabel -w ad4, ... Can you provide output from dmesg, as well as "geom disk list"? ... BIOS sector numbering starts with sector 1 ... The data for partition 1 is: ...
    (freebsd-questions)
  • Extended fat32 partition, how to mount ?
    ... one is ad0, freebsd file system. ... the other is ad2, ... Please tell me how to mount the "hdc5" partition(or ... Do you Yahoo!? ...
    (freebsd-questions)
  • seeking help on "adding a disk"
    ... It is recognized as ad2. ... partition and mount it on directory /images. ... fdisk: ... BIOS sector numbering starts with sector 1 ...
    (freebsd-questions)
  • Re: GEOM and moving to CURRENT from 7.1
    ... ad2 started reporting smart errors ... Figures below won't work with BIOS for partitions not in cyl 1 ... BIOS sector numbering starts with sector 1 ... The data for partition 1 is: ...
    (freebsd-current)
  • Misleading "fdisk: Geom not found" in 6.1-RELEASE
    ... I've noticed that using fdisk against ad2 drive gives misleading diagnostics ... Do you want to change the active partition? ... show during modification of partition table on system disk. ...
    (freebsd-stable)