You are not logged in.

#1 2011-04-28 15:31:47

crevecoeur
Member
Registered: 2010-03-29
Posts: 6

[SOLVED] Mounting an hfs+ formatted ipod classic

I have read several threads both here and on other sites concerning the use of an hfs+ formatted ipod with linux. So far, I have recompiled the kernel, enabling/making sure the following are enabled:

CONFIG_PARTITION_ADVANCED=y
CONFIG_MAC_PARTITION=y
CONFIG_HFS_FS=m
CONFIG_HFSPLUS_FS=m
CONFIG_HPFS_FS=y

I have also removed support for the following, since apparently EFI support can cause the ipod to lockup:

# CONFIG_EFI_PARTITION is
# CONFIG_FB_EFI is not set not set

For good measure I have added "!ehci_hcd" to the MODULES array in /etc/rc.conf.

None of this works.

When I plug in the ipod, here is the response recorded in dmesg:

[   54.455272] scsi 4:0:0:0: Direct-Access     Apple    iPod             1.62 PQ: 0 ANSI: 0
[   54.456224] sd 4:0:0:0: Attached scsi generic sg2 type 0
[   54.459214] sd 4:0:0:0: [sdb] Spinning up disk....ready
[   58.311983] sd 4:0:0:0: [sdb] 39023511 4096-byte logical blocks: (159 GB/148 GiB)
[   58.313224] sd 4:0:0:0: [sdb] Write Protect is off
[   58.313234] sd 4:0:0:0: [sdb] Mode Sense: 68 00 00 08
[   58.315002] sd 4:0:0:0: [sdb] No Caching mode page present
[   58.315009] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[   58.317621] sd 4:0:0:0: [sdb] 39023511 4096-byte logical blocks: (159 GB/148 GiB)
[   58.320983] sd 4:0:0:0: [sdb] No Caching mode page present
[   58.320990] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[   58.370598]  sdb: [mac] sdb1 sdb2
[   58.376034] sd 4:0:0:0: [sdb] 39023511 4096-byte logical blocks: (159 GB/148 GiB)
[   58.379475] sd 4:0:0:0: [sdb] No Caching mode page present
[   58.379484] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[   58.379493] sd 4:0:0:0: [sdb] Attached SCSI removable disk
[   59.196744] sd 4:0:0:0: [sdb] Bad block number requested
[   59.196790] hfs: unable to find HFS+ superblock
[   59.387064] device-mapper: uevent: version 1.0.3
[   59.388654] device-mapper: ioctl: 4.19.1-ioctl (2011-01-07) initialised: dm-devel@redhat.com
[   59.618485] UDF-fs: No anchor found
[   59.618494] UDF-fs: Rescanning with blocksize 2048
[   59.618500] UDF-fs: Bad block size
[   59.618504] UDF-fs: No partition found (1)
[   59.665244] attempt to access beyond end of device
[   59.665257] sdb2: rw=0, want=18446744056529682440, limit=312187456
[   59.665268] isofs_fill_super: bread failed, dev=sdb2, iso_blknum=17, block=-2147483648
[   59.753409] sd 4:0:0:0: [sdb] Bad block number requested
[   59.753454] hfs: unable to find HFS+ superblock
[   59.795235] hfs: can't find a HFS filesystem on dev sdb2.
[   59.813982] EXT3-fs (sdb2): error: can't find ext3 filesystem on dev sdb2.
[   59.867237] EXT2-fs (sdb2): error: can't find an ext2 filesystem on dev sdb2.
[   59.984234] EXT4-fs (sdb2): VFS: Can't find ext4 filesystem
[   60.042853] REISERFS warning (device sdb2): sh-2021 reiserfs_fill_super: can not find reiserfs on sdb2
[   60.162523] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled
[   60.168607] SGI XFS Quota Management subsystem
[   60.171607] XFS: bad magic number
[   60.171616] XFS: SB validate failed
[   60.209681] JFS: nTxBlock = 7493, nTxLock = 59950
[   60.252231] omfs: Invalid superblock (0)
[   61.900090] sd 4:0:0:0: [sdb] Bad block number requested
[   61.900134] hfs: unable to find HFS+ superblock
[  117.796736] sd 4:0:0:0: [sdb] Bad block number requested
[  117.796781] hfs: unable to find HFS+ superblock
[  121.996745] sd 4:0:0:0: [sdb] Bad block number requested
[  121.996792] hfs: unable to find HFS+ superblock
[  125.213409] sd 4:0:0:0: [sdb] Bad block number requested
[  125.213453] hfs: unable to find HFS+ superblock

An attempt to mount the sdb, sdb1, or sdb2 as root with either "-t hfs" or "-t hfsplus" produces the following error:

mount: wrong fs type, bad option, bad superblock on /dev/sdb,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

Any suggestions anyone might have will be greatly appreciated.

Last edited by crevecoeur (2011-04-30 01:02:45)


Desktop Systems: Arch Linux and Mac OSX

Offline

#2 2011-04-29 01:51:25

sand_man
Member
From: Australia
Registered: 2008-06-10
Posts: 2,164

Re: [SOLVED] Mounting an hfs+ formatted ipod classic

I don't know for sure but I thought you weren't able to mount iPod's directly under Linux. There are tools like libgpod which can help here but it depends what you are trying to do exactly.
Think of it this way. Even on a Mac or Windows computer you can't mount the drive directly either can you? You are only able to use the functions iTunes provides.


neutral

Offline

#3 2011-04-29 18:14:44

crevecoeur
Member
Registered: 2010-03-29
Posts: 6

Re: [SOLVED] Mounting an hfs+ formatted ipod classic

sand_man,

Yes, it is possible to mount an ipod on Mac OSX, Windows, and Linux, which is why it can be used like any other usb storage device (you have to configure the iPod in iTunes to allow this). I managed to get this working, and am playing music from my Mac formatted iPod on my Arch Linux as I type.

The problem in my case was the kernel. I read the following from https://bugs.launchpad.net/ubuntu/+sour … bug/734883:

"This looks like it was broken between 2.6.37 and 2.6.38. I backed out the hfsplus module in a 2.6.38.2 tree to that from 2.6.37 (git checkout v2.6.37 -- fs/hfsplus) and my iPod mounted correctly."

In my case, I downgraded to kernel26 2.6.37-6 (using the excellent AUR package "downgrade", by the way) and now the iPod mounts automatically with HAL, allowing it to be used with gtkpod and gpodder. I have "hfs", "hfsplus", and "!ehci_hcd" in the MODULES array in /etc/rc.conf and also have hfsprogs installed via AUR.

Please note: In order to actually write to the iPod (e.g. for the purposes of syncing or otherwise copying music or podcasts to the iPod) you must disable journaling on the device. This can be done by connecting the iPod to a Mac (running Leopard or Snow Leopard - I don't know about earlier versions of Mac OSX) and issuing the following command in the Terminal:

diskutil disableJournal /Volumes/<name of your iPod>

Where "<name of your iPod>" should, of course, be replaced with the actual name of your iPod. Again, this is a Mac OSX command - NOT a linux command.

Last edited by crevecoeur (2011-04-30 03:13:28)


Desktop Systems: Arch Linux and Mac OSX

Offline

#4 2011-07-03 20:48:47

milomak
Member
Registered: 2009-11-04
Posts: 61

Re: [SOLVED] Mounting an hfs+ formatted ipod classic

crevecoeur wrote:

"This looks like it was broken between 2.6.37 and 2.6.38. I backed out the hfsplus module in a 2.6.38.2 tree to that from 2.6.37 (git checkout v2.6.37 -- fs/hfsplus) and my iPod mounted correctly."

woud this be a case of copying the downloaded files to the relevant path in the running kernel directory?

Offline

#5 2011-09-15 14:48:55

Gargravarr
Member
Registered: 2008-10-30
Posts: 3

Re: [SOLVED] Mounting an hfs+ formatted ipod classic

crevecoeur wrote:

In my case, I downgraded to kernel26 2.6.37-6 (using the excellent AUR package "downgrade", by the way)

I realise this thread might be getting old, but as a matter of interest, would you mind telling us how you went about this? I managed to make my machine temporarily unbootable with "downgrade". I'm comparatively new to Arch, and more used to the old Slackware approach of just recompiling everything from scratch...

Cheers

Offline

Board footer

Powered by FluxBB