After installing iPodLinux, I found that Ubuntu Breezy would occasionally mount my ipodlinux partition before it mounted the actual ipod partition with my music. This completely confused programs like gtkpod, and generally was annoying. I don't pretend to know anything about HAL, but by reverse engineering what I could find (documentation on HAL is sparse and ugly) I came up with the file below.

If you place the below file in /etc/hal/fdi/policy/, and name it something like no-ipodlinux.fdi, iPodLinux will mount as /media/ipodlinux, and your ipod will always mount as /media/ipod. Hooray. Anybody who knows more about HAL than I, PLEASE feel free to correct me.

<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
  <device>http://chrismurf.com/newsite/textpattern/txp_img/htmldown.gif
     <match key="block.is_volume" bool="true">
      <match key="volume.fsusage" string="filesystem">
        <match key="@block.storage_device:storage.no_partitions_hint" bool="false">

          <match key="@block.storage_device:portable_audio_player.type" string="ipod">
            <match key="volume.fstype" string="ext3">
              <!-- Attempt mount point 'ipodlinux' for iPodLinux, or any ext3 on an ipod -->

              <merge key="volume.policy.desired_mount_point" type="string">ipodlinux</merge>
            </match>
          </match>
        </match>
      </match>
    </match>
  </device>
</deviceinfo>

Comments