Port-amiga archive

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

hfs and msdos partitions on Amiga



is%jocelyn.rhein.de@localhost (Ignatios Souvatzis) wrote:

> On Thu, Apr 29, 1999 at 05:41:42PM +0200, Inaki Saez wrote:
> > Lars Hecking wrote:
> > > 
[...]
> Well... as long as NetBSD allows you to open the partions, and mount some
> filesystem, it is fine.
> 
> I made it recognized LNX\0 last-minute, and hope that will suit some of you.
> 
> Somebody should (remind me to) rewrite the translation function to something
> table-driven, after 1.4.

Remind, remind...

I just tested the new hfsutils package. It's possible to use it to access
HFS Partitions created with Shapeshifter or Fusion :-)

But hfsmount did refuse to work with an "unknown" fstype, I had to change
the DOSType in HDToolbox to standard Amiga FFS, which disables the Amiga
side from reading the HFS partition with a dedicated file system.

Known packages/filesystems to use HFS-partitions on Amiga:

- Shapeshifter: read/write while running, any DOSType works
- Fusion:       read/write while running, any DOSType works
- AmiCDFS:      read only,                any DOSType works
- CrossMAC:     don't know, the floppy-only Demo uses "MAC"

(Be careful when installing AmiCDFS in the RDB of a hard disk with a HFS
partition: On my machine, version 2.38 works fine, 2.39 and 2.40 crash
while booting...)

I don't know whether commercial CrossMAC can use Shapeshifter/Fusion-
partitions or only whole MAC-formatted hard disks. Also don't know if
the "MAC"-DOSType must be used or if any will work. Can anybody
enlighten this?

The DOSType that AmiCDFS uses in it's demo mountfiles is "CDFS".
IMHO, "MAC" or "HFS" is more intuitive. "HFS" has the advantage that
it would fit perfectly to an upcoming "HFS+" (like DOS0/DOS1 etc).

Since neither Shapeshifter nor Fusion nor the unmodified 68k-MacOS
support media with more than 512 bytes/sector, I think the init code in
disksubr.c should set something else than the current defaults
        pp->p_fsize = 1024;
        pp->p_frag = 8;
        pp->p_cpg = 0;
for HFS partitions.



And now to something completely different:

The JanusTools package from Aminet contains a modified DOSServ program
that allows users of a C= Bridgeboard to use a partition on the amiga side
for booting the PC from it. The DOSType mentioned in the docs is "MSH",
0x4d534800, if I remember correct it doesn't work with another value.
At least the string "MSH" can be found hardcoded in the program.

Such "MSH" partitions must be fdisk'ed on the PC side first, that means,
they contain a partition table. If you want to read them with CrossDOS,
you have to create special mount files, since old CrossDOS versions
could not read PC partition tables and newer versions only find the first
partition, but not the extended PC partitions I created.

Therefore, it would be useful to have one DOSType for PC partitions
including a partition table, and another for PC partitions without.
CrossDOS normally uses "MSD".

With the mtools package, using an /etc/mtools.conf with keyword
"partition", I was able to access the files on an "MSH" partition
(after changing the DOSType like above). Couldn't test msdosfs since
I don't have a "MSD" partition.

Neither DOSServ nor CrossDOS support media with more than 512 bytes/sector,
so I think the init code in disksubr.c should set something else than the
current defaults
        pp->p_fsize = 1024;
        pp->p_frag = 8;
        pp->p_cpg = 0;
for MSDOS partitions.

In summary, I suggest the following additional DOSTypes to be included:

0x48465300 "HFS"  FS_HFS   Shapeshifter/Fusion/AmiCDFS/CrossMac
0x4846532b "HFS+" ?        Fusion PPC?
0x4d534800 "MSH"  ?        DOSServ
0x4d534400 "MSD"  FS_MSDOS CrossDOS

For all types, p_fsize should be sector size of the underlying medium,
p_frag 1, p_cpg 0. Please correct me if I'm wrong.

The xfs package from Aminet (disk/misc/xfs.lha) may be a source for
additional DOSTypes.

Ciao, Detlef
-- 
_ // TetiSoft%apg.lahn.de@localhost
\X/  Detlef Wuerkner, Giessen, Germany




Home | Main Index | Thread Index | Old Index