[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: udev and friends not able to mount Atari GEMDOS partition



Le 08/09/2020 à 23:25, Brad Boyer a écrit :
> On Tue, Sep 08, 2020 at 05:07:50PM +0200, Dirk Heinrichs wrote:
>> Am 08.09.20 um 11:02 schrieb Emmanuel Kasper:
>>
>>> Considering it is possible to mount such a partition as root with sudo
>>> mount /dev/mmcblk0p1 /mnt what would need be in udev to recognize the
>>> filesystem ? 
>>
>> udev is about devices, not filesystems. Just use above mount command to
>> mount it (given the kernel has support for it, either built in or as a
>> module). If you want udev to create a more convenient name for
>> /dev/mmcblk0, you need to write a rule for it.
> 
> That almost sounds like libblkid isn't recognizing the FS. Can you try
> running blkid on the device? If it can't detect the FS type, that might
> be a place where there is an issue. The libblkid code is not based on
> the drivers in the kernel, but is still essential for a portion of the
> auto-detection of file systems in user-space.


Hi Brad
Indeed blkid does not recognize the FS type, thanks for the hint !

sudo blkid -p /dev/mmcblk0p1
/dev/mmcblk0p1: PART_ENTRY_SCHEME="atari" PART_ENTRY_TYPE="BGM"
PART_ENTRY_NUMBER="1" PART_ENTRY_OFFSET="2" PART_ENTRY_SIZE="131072"
PART_ENTRY_DISK="179:256"

I suppose this is because the Atari GEMDOS FAT16 partitions have a
variable sector size wich is larger that 512 bytes for partitions >
16MB, whereas MSDOS FAT16 always uses a 512 bytes sectorsize .

The disktype tool, provided in the archive, gave me the hint about the
sector size difference:
http://disktype.sourceforge.net/doc/ch03s03.html
and this technical guide, which has all the FAT subtilities explained:
http://info-coach.fr/atari/documents/_mydoc/Atari_HD_File_Sytem_Reference_Guide.pdf


sudo disktype /dev/mmcblk0p1
--- /dev/mmcblk0p1
Block device, size 64 MiB (67108864 bytes)
FAT16 file system (hints score 3 of 5, ATARI ST bootable)
  Unusual sector size 4096 bytes
  Volume size 63.95 MiB (67051520 bytes, 8185 clusters of 8 KiB)


Now I had a quicklook at libblkid, and it should be able  at first view
to cope with sector size up to 4096 bytes, so I am a bit puzzled here.
https://github.com/karelzak/util-linux/blob/master/libblkid/src/superblocks/vfat.c#L218

Something to dig in.

Emmanuel


Reply to: