Seit Upgrade auf FreeBSD 10.0 funktioniert Automounten mit HAL nicht mehr richtig

cabriofahrer

Well-Known Member
Früher konnte ich unter FreeBSD 9.x immer USB-Sticks, CD's, externe Festplatten usw. einfach mit HAL mounten, ich brauchte lediglich den Eintrag

Code:
$ more /usr/local/etc/PolicyKit/PolicyKit.conf
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->

<!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN"
"http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd">

<!-- See the manual page PolicyKit.conf(5) for file format -->

<config version="0.1">
    <match user="root|werner">
        <return result="yes"/>
    </match>
    <define_admin_auth group="wheel"/>
</config>
$

damit in gnome2 (oder jetzt mate) alles automatisch gemountet oder auf Knopfdruck wieder geunmountet wurde.
Seit FreeBSD 10.0 funktioniert das aber nur noch mit CD's, die Sticks werden zwar erkannt, aber lassen sich nicht mehr mounten, übrigens noch nicht einmal, wenn ich mich als "root" von GDM aus anmelde. Auch früher wurde meine zweite interne SATA-Festplatte (ohne Eintrag in die fstab) beim Einloggen automatisch von HAL als "160 GB Medium" erkannt und gemountet, und ich konnte diese durch anklicken des Auswurfsymbols wieder unmounten. Jetzt hingegen klicke ich auf das Symbol zum Auswerfen, und es ändert sich lediglich die Bezeichnung auf "disk", bleibt aber noch gemountet und läßt sich durch ein weiteres Anklicken nicht mehr unmounten.
Was ist da passiert? Warum funktioniert das mit FreeBSD 10.0 nicht mehr so wie früher?
 
Hi.

Das Zusammenspiel zwischen Hal und den anderen Komponenten in deinem System ist recht komplex und ich gebe zu, dass ich dies auswendig nun nicht mehr hin bekomme. Bei jedem Problem bedeutete es für mich immer, alles nochmal von Anfang auf zu rollen und mich dahinter zu klemmen. Deshalb will ich nur einige Stichworte nennen, die dich dann vielleicht ja auf eine Spur bringen können.

lshal mit seinen Optionen (etwa -m) gibt dir Auskunft, ob und als was ein Stick erkannt wird und welche "Match" Begriffe da auftauchen.
lshal zeigt nicht, wenn etwa ein Filesystem korrupt ist und deshalb nicht gemountet werden kann. Dazu kannst du die Ausgabe von dmesg einsehen. Das gilt auch, wenn ein Modul gar nicht geladen ist, das zur Unterstützung eines Dateisystems gebraucht wird.
Hal benutzt dann die diversen policyKits, in denen je nach Match-Begriff Aktionen zugeordnet sind. Du brauchst dann eine entsprechende Option für deinen Stick und das Filesystem darauf. Default-Kits sind in den Ports für FreeBSD zu finden.
Das Gerät muss eine entsprechende Berechtigung haben, in meinen älteren Versionen von FreeBSD definiere ich dazu ein ruleset in der rc.conf und beschreibe dieses dann in der /etc/devfs.rules. der HALD selbst muss vielleicht eine entsprechende Berechtigung haben, also vielleicht Mitglied der Gruppe Operator sein. Das vorgeschlagene Mutter-Mount-Verzeichnis muss existieren und entsprechende Berechtigung haben ( /mnt oder /media ?).
Der Hal-Dämon muss dann gestartet sein und zwar zusammen mit polkitd und dbus.
Schließlich muss dein DE auch eine solche Funktion unterstützen und etwa auch entsprechende icons anbieten. Das tun nicht alle DE und manchmal kann das Verhalten nochmal aus der Konf des DE beeinflusst werden. Bei manchen DE ist die Unterstützung von HAL eine Option, die dann beim Bau gesetzt werden muss. Das eigentliche Mounten wird auch nicht von Hal durchgeführt, sondern (soweit ich mich erinnere) von einer Komponente des DE, die nur die Informationen von Hal (und den policykits) liest.
 
<config version="0.1">
<match action="org.freedesktop.hal.storage.mount-removable">
<return result="yes"/>
</match>
<match action="org.freedesktop.hal.storage.mount-fixed">
<return result="yes"/>
</match>
</config>

mal noch nachgeschoben, das Beispiel in meiner letzten /usr/local/etc/PolicyKit/PolicyKit.conf. Eine ganz andere Idee, als bei dir.
 
Auch bei FreeBSD 9.2 mit dem Gnome 2 Desktop mountet er nicht regelmäßg bei mir. Mal mountet er meine externe USB Platte, mal nicht. Meine Kenntnisse reichen leider nicht aus, um die Ursache zu finden. Aber das ist mir auch nicht so wichtig. Denn beim Automounten habe ich mir auch schon eine Partition zerschossen. Deshalb mounte ich immer manuell.
 
Auch bei FreeBSD 9.2 mit dem Gnome 2 Desktop mountet er nicht regelmäßg bei mir. Mal mountet er meine externe USB Platte, mal nicht. Meine Kenntnisse reichen leider nicht aus, um die Ursache zu finden. Aber das ist mir auch nicht so wichtig. Denn beim Automounten habe ich mir auch schon eine Partition zerschossen. Deshalb mounte ich immer manuell.

Das hatte ich auch mal, da steckt man echt nicht drin. So gesehen ist HAL irgendwie Mist unter FreeBSD, aber es soll bald ein neuer Automounter kommen...

Danke pit234a für die Ausführungen, doch dein Vorschlag hat bei mir nichts geändert. Allerdings hat ein 'freebsd-update rollback' (zurück zu 9.2) und eine Neuinstallation der Pakete etwas geholfen: Zumindest wird die zweite Festplatte wieder mit einem Klick komplett ausgeworfen wie vorher, aber USB-Sticks nach wie vor nicht mehr. Strange...
Kann es sein, dass der Rollback doch nicht alles von FreeBSD 10.0 rückgängig gemacht hat?
 
Mittlerweile habe ich in der Sache folgendes festgestellt: Wenn ich die Festplatte mit dem installierten 10.0-System in meinen anderen Rechner mit einem AMD SB7x0-Chipsatz stecke und boote, gibt es auf einmal kein Problem mehr. Ein eingestöpselter USB-Stick wird dann auch unter 10.0 automatisch von HAL erkannt und gemountet und kann entsprechend wieder geunmountet werden.

Das Problem scheint also nur im Zusammenhang mit 10.0 und dem Chipsatz (nforce 590 SLI MCP) in meinem Hauptrechner zu existieren. Toll...
Kann das jemand kommentieren? Ist das Problem vielleicht anderweitig bekannt und wird bis 10.1 gelöst werden, oder sollte ich an die Entwickler schreiben?
 
Bei mir hier ist ein Intel ICH10 I/O Controller Hub drin, da funktioniert die Automagie der KDE Geräteüberwachung zum einbinden, mit USB-Massenspeicher, CD, DVD und SDHC auch mit FreeBSD 10-STABLE amd64.
 
Ich habe ein Source Upgrade von 9.3-STABLE auf 10-STABLE gemacht. Und dann die 1688 installierten Ports mit portupgrade neu gebaut.
 
Zurück
Oben