Problem to save file on the hard disk! What I have to set to do it ?

Thomas Doerfler (nt) Thomas.Doerfler at imd-systems.de
Tue Mar 14 19:20:54 UTC 2006


Chris,

the code to read the partition table and make minor devices for each
feasible partition is in /rtems/cpukit/libblock/src/ide_part_table.c

It has a table of known partition types, and 0x0b aswell as 0x0c is
present there. A non-FAT partition type will not be accepted.

When these minor devices are present, the "rtems_fsmount" function will
try to mount them, the actual evaluation of the partitions boot sector
is performed in /rtems/cpukit/libfs/src/dosfs/msdos_initsupp.c.

There, the data present in the boot sector is checked, and if anything
is wrong there, the mount will fail. At that stange, the code also
determines, whether this is a FAT16, a FAT12 or a FAT32 filesystem.

wkr,
Thomas.


Chris Caudle schrieb:
> Where is the code to mount disk filesystems?  I'm browsing around and
> can't figure out which is the relevant file.
> 
> On Tue, March 14, 2006 7:56 am, Matteo wrote:
> 
>>- one is hda2, is for " windows xp " and is FAT32(is about 20GB),
>>- another one is hda1, is a free memory FAT16(is about 2.8 GB).
> 
> 
> The partition table you presented shows hda1 as linux native filesystem
> (type 0x83), so perhaps the RTEMS code to mount does not accept it as a
> FAT filesystem.  Typically a FAT16 filesystem would be type 0x4 or 0x6.
> 
> Something similiar may apply to hda2.  FAT32 with cylinder/head/sector
> addressing is type 0xB, and for some reason FAT32 with LBA addressing is
> type 0xC.  I do not know the details of why there is a distinction, I
> would expect that on disk structures should be the same no matter how the
> filesystem was addressed, but perhaps there are block addresses stored in
> the FAT somehow which vary based on addressing scheme.
> If that is the case (speculation here), perhaps the RTEMS code knows how
> to mount type 0xB but not 0xC.
> 
> I admit I am just grasping at this point, as I pointed out above I have
> not found the mounting code yet to verify.
> 
> 
>>>>>Dispositivo Boot      Start         End      Blocks   Id  System
>>>>>/dev/hda1            2678        3014     2706952+  83  Linux
>>>>>/dev/hda2               1        2677    21502971    c  W95 FAT32
>>>
>>>(LBA)
>>>
>>>>>/dev/hda3            3015        4784    14217525   83  Linux
>>>>>/dev/hda4            4785        4864      642600    5  Esteso
>>>>>/dev/hda5            4785        4864      642568+  82  Linux swap /
> 
> 
> -- Chris Caudle
> 


-- 
--------------------------------------------
IMD Ingenieurbuero fuer Microcomputertechnik
Thomas Doerfler           Herbststrasse 8
D-82178 Puchheim          Germany
email:    Thomas.Doerfler at imd-systems.de
PGP public key available at:
     http://www.imd-systems.de/pgpkey_en.html



More information about the users mailing list