PDA

View Full Version : Mounting apple hfsplus formatted ipod nano under knoppix



don999
09-16-2008, 05:37 PM
So I've got a mac formatted ipod nano 8GB that uses hfsplus and I want to mount it under knoppix.

The basic procedure is the same as my earlier post about "mounting apple hfsplus partitions under knoppix", the primary difference being that the blocksize of my ipod nano is not 512 bytes, but 4096 bytes.

Running a hexdump on the nano:

"hexdump -C /dev/sda | less" gives this output

00000000 45 52 10 00 00 1d 9f c0 00 00 00 00 00 00 00 00 |ER..............|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00001000 50 4d 00 00 00 00 00 02 00 00 00 01 00 00 00 3e |PM.............>|
00001010 70 61 72 74 69 74 69 6f 6e 20 6d 61 70 00 00 00 |partition map...|
00001020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00001030 41 70 70 6c 65 5f 70 61 72 74 69 74 69 6f 6e 5f |Apple_partition_|
00001040 6d 61 70 00 00 00 00 00 00 00 00 00 00 00 00 00 |map.............|
00001050 00 00 00 00 00 00 00 3e 00 00 00 00 00 00 00 00 |.......>........|
00001060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00002000 50 4d 00 00 00 00 00 02 00 00 00 3f 00 1d 9f 81 |PM.........?....|
00002010 64 69 73 6b 00 00 00 00 00 00 00 00 00 00 00 00 |disk............|
00002020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00002030 41 70 70 6c 65 5f 48 46 53 00 00 00 00 00 00 00 |Apple_HFS.......|
00002040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00002050 00 00 00 00 00 1d 9f 81 00 00 00 00 00 00 00 00 |................|
00002060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*

This is the important line to look for, the one with "|PM.........?....|" that goes with the Apple_HFS partition

00002000 50 4d 00 00 00 00 00 02 00 00 00 3f 00 1d 9f 81 |PM.........?....|
_____________________________^^^^^^^^

start block is 00 00 00 3F
partition size is 00 1d 9f 81 blocks

so I use bc to calculate what 3F * 1000 is (1000 is 4096 bytes in hex)
"bc" fire up bc
"ibase=16" set the base up for hex
"3F * 1000" multiply 3F by 1000 and bc tells me that it's 258048 Make sure that your hex numbers are uppercase.
"quit" to drop out of bc

"modprobe hfsplus" to load the hfsplus file system driver (works on knoppix 5.1)

"mkdir /mnt/a" to create a mount point

"mount /dev/sda /mnt/a -o offset=258048,ro -t hfsplus" to mount an ipod on /dev/sda with offset of 258048 read only

"ls /mnt/a" should show you the contents of your ipod


If you have google up in a web browser, you can do your hex calculations in the google search box.
Type 4096 * 0x3F into the google search box and it will return 258048.