Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Oct 2011 19:06:36 +1100
From:      Mattia Rossi <mrossi@swin.edu.au>
To:        freebsd-arm@freebsd.org
Subject:   Re: Create FAT partition/filesystem on the internal microSD flash of the Dreamplug
Message-ID:  <4E92A78C.7040503@swin.edu.au>
In-Reply-To: <4E9290FF.7090306@swin.edu.au>
References:  <4E9290FF.7090306@swin.edu.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On 10/10/11 17:30, Mattia Rossi wrote:
> 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?
>

I think something is wrong with newfs_msdos.
Might be an issue with FreeBSD-9. I'm using:

FreeBSD dreamplug 9.0-BETA3 FreeBSD 9.0-BETA3 #22 r226165

I tried the following: I partitioned the external SD card using gpart, 
then took the card out and put it in my laptop running Linux. There I 
formatted it using mkfs.vfat with no options (the card could be mounted 
properly), and put the card back into the dreamplug which I rebooted 
before, to make sure that no USB weirdness gets into my way.
Then I mounted the card and it worked!

dreamplug# mount_msdosfs /dev/da1s1 /mnt/sd/
dreamplug# umount /mnt/sd

So I checked the format options:

dreamplug# newfs_msdos -N /dev/da1s1
/dev/da1s1: 1994688 sectors in 62334 FAT16 clusters (16384 bytes/cluster)
BytesPerSec=512 SecPerClust=32 ResSectors=1 FATs=2 RootDirEnts=512 
Media=0xf0 FA
Tsecs=244 SecPerTrack=32 Heads=64 HiddenSecs=0 HugeSectors=1995232

Then I reformatted the card using newfs_msdos with the -F16 options to 
make sure it uses FAT16 as above:

dreamplug# newfs_msdos -F16 /dev/da1s1
/dev/da1s1: 1994688 sectors in 62334 FAT16 clusters (16384 bytes/cluster)
BytesPerSec=512 SecPerClust=32 ResSectors=1 FATs=2 RootDirEnts=512 
Media=0xf0 FA
Tsecs=244 SecPerTrack=32 Heads=64 HiddenSecs=0 HugeSectors=1995232

You'll see exactly the same options..
Then I tried to mount the card again...

dreamplug# mount_msdosfs /dev/da1s1 /mnt/sd/
mount_msdosfs: /dev/da1s1: Invalid argument

So seriously WTF?

Mat



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E92A78C.7040503>