In this thread, http://www.opensolaris.org/jive/thread.jspa?messageID=96829 OpenSolaris user Stuart Biggar was complaining about a fat filesystem that isn't mounted automatically any more by Tamarack / hald. Mounting the media was automatic when vold was used in previous Solaris releases.
A manual pcfs mount on snv_57 is working just fine. But fstyp / libfstyp is unable to identify the filesystem as "pcfs". Stuart has sent me the first few blocks from that fat media, and I found out that the problem is that the fat filesystem doesn't have a valid "Extended boot signature" BS_BootSig field; so there is no BS_VolID "Volume serial number", no BS_VolLab "Volume Label" and no BS_FilSysType field. (BS_FilSysType is present, actually, and filled with "FAT16", as recommended by Microsofts fat32 spec) Apparently this is OK for a fat filesystem, and is documented by Microsoft's FAT32 spec. And Solaris' pcfs filesystem module accepts it. But Solaris' /usr/lib/fs/pcfs/fstyp.so.1 insists on seeing a valid BS_BootSig field, without it a fat filesystem is not recognized: http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/fs.d/pcfs/fstyp/fstyp.c#259 263 if (h->bs16.f_bootsig == 0x29) { ... 270 } else if (h->bs32.f_bootsig == 0x29) { % adb /tmp/pcfs.img 0t38?Bna4Cna11Cna8C 0x26: 0 0x27: ^...@^@^...@^@ 0x2b: ^...@^@^...@^@^...@^@^...@^@^...@^@^@ 0x36: FAT16 % fstyp /tmp/pcfs.img unknown_fstyp (no matches) After setting the expected BS_BootSig value to 0x29, fstyp works just fine: % echo 0t38/w 0x29 | adb -w /tmp/pcfs.img 0x26: 0 = 0x29 % fstyp -v /tmp/pcfs.img pcfs Bytes Per Sector 512 Sectors Per Cluster 16 Reserved Sectors 1 Number of FATs 2 Root Dir Entries 512 Number of Sectors 0 Sectors Per FAT 245 Sectors Per Track 63 Number of Heads 16 Number Hidden Sectors 63 Volume ID: 0x0 Volume Label: SD_512_U Drive Number: 0x0 Media Type: 0xf8 "Fixed" Disk I think this needs to be fixed in usr/src/cmd/fs.d/pcfs/fstyp/fstyp.c I this issue already addressed by the pcfs rewrite? This message posted from opensolaris.org