PDA

View Full Version : Mounting apple hfsplus partitions on knoppix



don999
08-27-2008, 07:02 AM
So I've got a macintosh SCSI drive that has an apple hfsplus partition I'd like to mount.

Let's say it's on /dev/sda

so I run "hexdump -C /dev/sda | less" and look at the output

*
00000c00 50 4d 00 00 00 00 00 07 00 00 04 c0 00 61 6b 4f |PM...........akO|
00000c10 75 6e 74 69 74 6c 65 64 00 00 00 00 00 00 00 00 |untitled........|
00000c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000c30 41 70 70 6c 65 5f 48 46 53 00 00 00 00 00 00 00 |Apple_HFS.......|
00000c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000c50 00 00 00 00 00 61 6b 4f 44 00 03 7f 00 00 00 00 |.....akOD.......|
00000c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|


what you're looking for is the apple_HFS part, and zero in on the PM line


00000c00 50 4d 00 00 00 00 00 07 00 00 04 c0 00 61 6b 4f |PM...........akO|
^^^^^^^
This is the starting block of the partition = 04C0

so drop out of less and run "bc"
type "ibase=16" and hit enter (this will set you up in hexadecimal)
type "4C0*200" which is multiplying 4C0 by 200 (ie multiply by 512 bytes)
bc will tell you the result 622592
type "quit" to drop out of bc

before you proceed, "modprobe hfsplus" (works for me on knoppix 5.1)

now "mkdir /mnt/a"
then "mount /dev/sda /mnt/a -o offset 622592,ro -t hfsplus"

(I added the ro to make it read only)

and you should have the apple partition mounted.

Man do I love knoppix!

don999
08-27-2008, 07:31 AM
oops sorry that should be

"mount /dev/sda /mnt/a -o offset=622592,ro -t hfsplus"

I left off the equals sign

don999
08-27-2008, 07:36 AM
00000c00 50 4d 00 00 00 00 00 07 00 00 04 c0 00 61 6b 4f |PM...........akO|
_____________________________^^^^^^^^
________________________________________^^^^^^^^

(my arrows didn't come through very well, I'll try underlines)


with regards to apple partitions

the start block of this partition is 00 00 04 c0

and the length of this partition is 00 61 6b 4f

but all you really need is the start block number to calculate the offset