Create FAT partition/filesystem on the internal microSD flash of the Dreamplug

Mattia Rossi mrossi at swin.edu.au
Mon Oct 10 11:11:18 UTC 2011


On 10/10/11 20:45, Matthieu Kraus wrote:
> Mattia Rossi writes:
>
>> Hi all again,
>>
>> I've now been on to this for quite a while, but just can't get it to
>> work.
>> I've mistakenly blown away the partitioning scheme that the dreamplug
>> came with originally, therefore also the FAT boot partition.
>>
>> I've tried to recreate it using gpart and newfs_msdos, but can't
>> create any new FAT partition that mount_msdosfs would mount.
>>
>> See:
>>
>> dreamplug# gpart create -s mbr da0
>> da0 created
>> dreamplug# gpart add -t fat32 -i 1 -s 32M da0
>> da0s1 added
>> dreamplug# newfs_msdos da0s1
>> /dev/da0s1: 65416 sectors in 8177 FAT16 clusters (4096 bytes/cluster)
>> BytesPerSec=512 SecPerClust=8 ResSectors=1 FATs=2 RootDirEnts=512
>> Sectors=65520 Media=0xf0 FATsecs=32 SecPerTrack=63 Heads=255 HiddenSecs=0
>> dreamplug# mount_msdosfs /dev/da0s1 /mnt/usb
>> mount_msdosfs: /dev/da0s1: Invalid argument
>>
>> I've tried to change the partition type to 6 and 4 and to freebsd
>> (165), but didn't help.
>> I also tried to set the start of the partition (-b) to 64, 128 and 192
>> but nothing there either.
>>
>> Trying to tune newfs_msdos to use FAT 12 or FAT 32 and different
>> bytes/sec or a different mediatype (0xf8) and a variety of tweaks did
>> not help either.
>>
>> It seems that I can't create a mountable FAT partition.
>>
>> I believe the problem is that gpart create -s mbr starts the
>> partitioning scheme at an offset of 63 sectors, while the one on the
>> external SD card I have (pre-partitioned not using FreeBSD) has an
>> offset of 32 sectors.
>>
>> I couldn't find any documentation that tells me how to tell gpart
>> create to use a different offset.
>>
>> Any hints?
>>
>> Mat
>
> that's another issue I ran into, however I fixed it the "dirty" way:
>
> for some mysterious reason mkfs_msdosfs seems to be a little broken, so
> I just created the filesystem with a linux and from there on everything
> worked fine (the msdosfs created under linux can be mounted without
> issues using mount_msdosfs)
>

Oh, ok so it's not just me :-)
This is either an ARM problem or a CURRENT or 9 problem, because today I 
flawlessly created partitions and filesystems on an other SD card (SDHC 
though) over a USB card reader using 8.2.
I'll give it a go tomorrow with my SD card and that card reader on a 
CURRENT box.

Meanwhile, I think I have to dd the Dreamplug Ubuntu image on to the 
internal microSD again, which should recreate the partitions as well. 
And then try not to kill the fs :-).

Mat


More information about the freebsd-arm mailing list