The disklabel is written at the start of the disk and you're
overwriting it with the newfs_msdos command. You should fdisk the
disk first, and reserve a separate MBR partition for MSDOS.
See the FAQ.
-Otto
On Fri, Oct 30, 2009 at 03:30:23PM +0530, Amarendra Godbole wrote:
> Hi,
>
> I have a 320G Buffalo Ministation external USB drive, which I wish to
> partition so that it contains 1 DOS and 1 native OpenBSD (FFS)
> partition. Using disklabel, I could created these:
> > p
> OpenBSD area: 0-625142448; size: 625142448; free: 0
> # size offset fstype [fsize bsize cpg]
> c: 625142448 0 unused
> h: 310557618 314584830 4.2BSD 2048 16384 1
> i: 314584830 0 MSDOS
> >
>
> Now I format sd1h with newfs and things go fine. But when I format
> sd1i with newfs_msdos, I see the disklabel changed to something like
> this:
> OpenBSD_46$ sudo disklabel -E sd1
> Label editor (enter '?' for help at any prompt)
> > p
> OpenBSD area: 0-625142448; size: 625142448; free: 0
> # size offset fstype [fsize bsize cpg]
> c: 625142448 0 unused
> i: 625142448 0 MSDOS
> >
>
> So the FFS partition is gone. I want the USB disk to be also used on
> Windows XP, so the MSDOS partition. I am not sure if this is possible,
> since disklabel is OpenBSD specific, and XP may not be able to see it
> anyways. I am missing something here for sure, but cannot figure out
> what. Would appreciate a pointer. Thanks.
>
> Also, is there another way to achieve this? (I was unable to create a
> MSDOS partition from Windows XP, as it only allows NTFS now).
>
> -Amarendra