So recently I’ve been trying out openSUSE, along with a few other distros, for use on my HTPC. Previously, I’d been using a hackintosh build, so my external media storage HDDs are all formated HFS+. It was actually surprisingly easy to get openSUSE to mount them for both reading and writing.
Only thing is, XBMC has been pretty unstable on all of the linux distros I’ve tried, and I’m wondering to what degree the HFS filesystem might be affecting things? It would take a fair bit of juggling – or going out and buying a new multi-TB HDD – to clear out the disks in turn so as to reformat them with an ext filesystem, but if that would help me get a more stable HTPC with opensuse – the linux distro I’ve settled on – it’d be worth it.
I’ll paste a link to the log from an xbmc crash, in case that would be helpful, but really, I’m just curious, since I don’t really know all that much about how different filesystems work or anything, how much extra strain does the filesystem translating entail?
First of all I want to make clear that I’ve got little to no experience with XBMC or hfs+.
AFAIK every distribution should be able to read/write to a HFS+ partition as long as journalling is disabled.
When looking at the log file almost every error is related to deleting/writing/opening files.
It could be a permission problem, but in your case I’m afraid it’s the file-system.
One thing you can do is to make sure that the partition isn’t mounted read-only.
I once helped a friend who had a Macintosh, I was able to mount the partitions but couldn’t write to them.
After some searching I discovered that only non-journaled partitions have write support.
In OSX, you can disable and re-enable journaling all you want, without risking data loss or anything. If there’s a way to do it via linux, I’ve yet to discover it. Once the partition is non-journaled, it should automatically be readable to linux. This was the case with my gnome installation of openSUSE 11.4, but, for some reason, not when I installed it with KDE. All I needed to do, though, was edit /etc/filesystems and add “hfsplus” to the list of filesystems.
In order to enable write permissions, I installed a utility called hfsprogs via RPM, which includes a foot called fsck.hfsplus. For some reason, once I used that to run a filesystem check on the hfs+ plus drives, they magically became writable. The command, in case it’s not obvious, was
sudo fsck.hfsplus /dev/sdxx
(with xx replaced by the particular drive letter and partition number.)
Maybe because KDE doesn’t care about /etc/fstab. … but I haven’t seen your /etc/fstab. This is what I use in /etc/fstab on the Linux side to mount a hfs+ partition:
# Mac
# /dev/sda2
UUID=ccbbbd94-deb6-3a95-aadf-531952d1af33 /mac hfsplus noauto 0 0
I usually mount by UUIDs but using the device name (/dev/sda2) would be OK too in this case. Without such an entry in /etc/fstab or while mounting without specifying the file system, mount would have to guess the filesystem out of the list it reads from /etc/filesystems. That’s what it is for. But I wouldn’t say that it is needed. It doesn’t hurt though.
In order to enable write permissions, I installed a utility called hfsprogs via RPM, which includes a foot called fsck.hfsplus. For some reason, once I used that to run a filesystem check on the hfs+ plus drives, they magically became writable. The command, in case it’s not obvious, was
sudo fsck.hfsplus /dev/sdxx
(with xx replaced by the particular drive letter and partition number.)
I would be careful with that … Nothing against this tool, but playing with non native filesystems always bears a risk.