HAL daemon does not recognize a mounted partition as mounted
In Slackware 12, the hal daemon fails to recognize that my root partition (/dev/hda1) is, in fact, mounted. If I type in lshal to get a listing of the hal database, it reports that the block device /dev/hda1 has the following properties: volume.is_mounted = false and volume.mount_point = ''.
I have searched fairly extensively for an answer to this question and haven't found one, so I thought I'd share my research results in case anyone else is facing a similar issue. I've also been using Linux only a month, so please forgive me if I'm breaching etiquette by starting this thread.
One way to partially fix this problem is to write a fdi file and place it in the /usr/share/hal/fdi/policy directory. This is an example of the file I wrote to force the hal daemon to recognize that my root partition is mounted:
<?xml version="1.0" encoding="UTF-8"?>
<!-- To fix hal not seeing hda1 as mounted -->
<match key="info.udi" string="/org/freedesktop/Hal/devices/volume_uuid_542ade2e_9b89_43c8_a32e_cd750850075f">
<merge key="volume.is_mounted" type ="bool">true</merge>
<merge key="volume.mount_point" type ="string">/</merge>
If you wish to use this file, of course, you'd need to change the match and merge key values so they are relevant to your system. For example, change the info.udi key to match the device you are trying to get the hal daemon to recognize. Also, make sure root is the owner of the file.
While this has solved my immediate problem, it is not a complete solution. For example, if I su to another user, the hal daemon once again sees hda1 as unmounted. Nonetheless, this is a partial fix and you can always force the hal daemon to see the partition as mounted by using the program hal-set-property. You'll need to set both the volume.is_mounted and volume.mount_point properties.
Anyway, I hope this may help someone. Thanks for the great operating system.
Last edited by 888m; 07-30-2007 at 11:41 AM.