Repository 32bit  Forum
Repository 64bit  Wiki

Hal su slackware-10.x: differenze tra le versioni

Da Slacky.eu.
(Passo 3: Installare HAL)
m (ha spostato Hal su slackware-current a Hal su slackware-10.x: Il titolo con la parola -current lasciava dubbi)
 
(17 revisioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
[[Category:Scritti_misti]]
+
[[Category:Scritti_misti-10]]
Questo mini-howto descrive passo passo la procedura che ho seguito per attivare l'automount sulla nuova slackware current (post St. Patrick's Day 2007)
Questo mini-howto descrive passo passo la procedura che ho seguito per attivare l'automount sulla nuova slackware current (post St. Patrick's Day 2007)
Nota: non affermo in nessun modo che tutti i passi siano necessari, posso solo affermare con certezza che tale procedura ha funzionato sulla mia macchina:
+
Nota: non affermo in nessun modo che tutti i passi siano necessari, o che siano la migliore maniera possibile di ottenere il risultato finale, posso solo affermare con certezza che tale procedura ha funzionato sulla mia macchina.
==Le fonti==
==Le fonti==
Questa procedura è un mix di varie guide trovate in rete e svariati tentativi, ricompilazioni di pacchetti. In ogni passo descriverò gli eventuali problemi che ho avuto e come li ho risolti.
Questa procedura è un mix di varie guide trovate in rete e svariati tentativi, ricompilazioni di pacchetti. In ogni passo descriverò gli eventuali problemi che ho avuto e come li ho risolti.
  +
  +
EDIT: QUESTA GUIDA E' DA RITENERSI OBSOLETA. HAL E' ORA INSERITO TRA I PACCHETTI UFFICIALI DELLA SLACKWARE. RESTA UNA PROCEDURA VALIDA PER VERSIONI DI SLACWARE FINO ALLA 11 COMPRESA.
==Passo 1: il Kernel ==
==Passo 1: il Kernel ==
Riga 50: Riga 52:
Installate ''dbus-python-0.80.1'' (trovate lo SlackBuild su slacky.it). Non so se questo pacchetto è necessario, ma sono pochi KB e non credo faccia male.
Installate ''dbus-python-0.80.1'' (trovate lo SlackBuild su slacky.it). Non so se questo pacchetto è necessario, ma sono pochi KB e non credo faccia male.
==Passo 3: Installare HAL ==
+
==Passo 3: Installare hal e hal-info==
Installate ''hal-0.5.9.rc2'', il mio SlackBuild è in fase di revisione, farò in modo eventualmente di pubblicarlo non appena sarò sicuro che sia adeguatamente funzionante al 100%, nel frattempo potete adattare lo SlackBuild di slacky.it per la versione precedente (non servono patch).
+
Installate ''hal-0.5.9'', e successivamente hal-info. Il mio SlackBuild è in fase di revisione, farò in modo eventualmente di pubblicarlo non appena sarò sicuro che sia adeguatamente funzionante al 100%, nel frattempo potete adattare lo SlackBuild di slacky.it per la versione precedente (non servono patch).
Comunque la parte importante è sui parametri del configure (non sarei molto fiscale sulla presenza o meno di alcuni parametri, ma alcuni sono importanti per l'avvio automatico di hal), ecco i miei:
Comunque la parte importante è sui parametri del configure (non sarei molto fiscale sulla presenza o meno di alcuni parametri, ma alcuni sono importanti per l'avvio automatico di hal), ecco i miei:
Riga 203: Riga 205:
</code>
</code>
mi sono accorto che mancavano 2 cartelle ''/usr/share/hal/fdi/information'' e ''/etc/hal/fdi/information'', ho risolto creandole a mano (e comunque aggiungendo il codice opportuno nello slackbuild).
+
<strike>mi sono accorto che mancavano 2 cartelle ''/usr/share/hal/fdi/information'' e ''/etc/hal/fdi/information'', ho risolto creandole a mano (e comunque aggiungendo il codice opportuno nello slackbuild)</strike> Queste due cartelle vengono create all'installazione di hal-info.
==Passo 4: Abilitare l'automount in KDE==
==Passo 4: Abilitare l'automount in KDE==
Riga 219: Riga 221:
== Problemi aperti==
== Problemi aperti==
  +
===Eject dispositivi usb===
Quando smonto un device usb si apre una finestra che mi avvisa che il device non può essere espulso (e meno male, non vorrei ritrovarmi chiavette usb che volano per casa :-) )
Quando smonto un device usb si apre una finestra che mi avvisa che il device non può essere espulso (e meno male, non vorrei ritrovarmi chiavette usb che volano per casa :-) )
che è abbastanza fastidioso ma che non pregiudica le funzionalità di HAL.
+
che è abbastanza fastidioso ma che non pregiudica le funzionalità di HAL. Questo è riportato come bug di kdebase (vedi http://bugs.kde.org/show_bug.cgi?id=140435), ma l'unico commento al bug report è
  +
<pre>
  +
------- Additional Comment #1 From Stephan Kulow 2007-01-22 13:18 -------
  +
Yes, the system shuts down the hardware and does no longer supply it with power - if that fails, eject is a good enough term
  +
</pre>
  +
Soluzione:
  +
<pre>
  +
Status: RESOLVED
  +
Platform: Compiled Sources
  +
Resolution: WONTFIX
  +
Reporter: giuseppe
  +
Assigned to: Stephan Kulow
  +
</pre>
  +
sembra quindi che più di un bug sia una ''feature''...
  +
  +
===Partizione di root risulta non montata in konqueror===
  +
<strike>La partizione di root risulta non montata in konqueror, e il tentativo di accedervi origina un messaggio di ''permessi negati'' anche da utente root.
  +
Questo sembra essere un bug di HAL e non di kde, (vedi http://bugs.kde.org/show_bug.cgi?id=114963), potrebbe essere anche semplicemente un errore di configurazione di HAL, da investigare.</strike>
  +
  +
EDIT - Lun 23 Lug 2007: '''spudhead''' sul forum di slacky.eu ha scoperto la soluzione per questo problema http://www.slacky.eu/forum/viewtopic.php?p=151464#151464
  +
  +
Se invece siete a conoscenza di come risolvere questi problemi, contattatemi: gianco71[at]libero[dot]it
  +
  +
==Screenshots==
  +
http://digilander.libero.it/G14nc0/automount-cd.png
  +
  +
http://digilander.libero.it/G14nc0/automount-usb.png
Se siete a conoscenza di come risolvere questo piccolo problema, contattatemi: gianco71[at]libero[dot]it
+
http://digilander.libero.it/G14nc0/automount-dvd.png
[[Utente:Gianco|Gianco]] 22:27, 31 Mar 2007 (CEST)
[[Utente:Gianco|Gianco]] 22:27, 31 Mar 2007 (CEST)

Versione attuale delle 13:49, 22 apr 2011

Questo mini-howto descrive passo passo la procedura che ho seguito per attivare l'automount sulla nuova slackware current (post St. Patrick's Day 2007)

Nota: non affermo in nessun modo che tutti i passi siano necessari, o che siano la migliore maniera possibile di ottenere il risultato finale, posso solo affermare con certezza che tale procedura ha funzionato sulla mia macchina.

Indice

[modifica] Le fonti

Questa procedura è un mix di varie guide trovate in rete e svariati tentativi, ricompilazioni di pacchetti. In ogni passo descriverò gli eventuali problemi che ho avuto e come li ho risolti.

EDIT: QUESTA GUIDA E' DA RITENERSI OBSOLETA. HAL E' ORA INSERITO TRA I PACCHETTI UFFICIALI DELLA SLACKWARE. RESTA UNA PROCEDURA VALIDA PER VERSIONI DI SLACWARE FINO ALLA 11 COMPRESA.

[modifica] Passo 1: il Kernel

Innanzitutto sappiate che hal richiede un kernel della serie 2.6, quindi se state leggendo questa guida e pensate di adattarla a una qualsiasi versione di slackware (cosa che va benissimo) sappiate che un kernel della serie 2.4 non funzionerà.

Ho un kernel 2.6.20 compilato da me, l'ho ricompilato abilitando il supporto inotify, che tra l'altro, dovrebbe servire anche al pacchetto gamin, che sostituisce fam.

Nel kernel 2.6.18.8 di slackware current (huge.s) tale supporto è già abilitato:

# cat /usr/src/linux-2.6.18.8/.config | grep -i inotify
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y

Se avete un kernel custom, siete sicuramente in grado di ricompilarlo aggiungendo tale supporto (ricordate di attivare anche gli extended attribute del filesystem che utilizzate, se presenti).

In make menuconfig, sezione File Systems

<*> Second extended fs support                                           
	 [*]   Ext2 extended attributes                             
	 [ ]     Ext2 POSIX Access Control Lists                      
 	 [ ]     Ext2 Security Labels                                 
 	 [ ]   Ext2 execute in place support                          
 	<*> Ext3 journalling file system support                      
 	 [*]   Ext3 extended attributes                               
 	 [ ]     Ext3 POSIX Access Control Lists                      
 	 [ ]     Ext3 Security Labels                                 
 	< > Ext4dev/ext4 extended fs support development (EXPERIMENTAL)
 	[ ] JBD (ext3) debugging support                              
 	< > Reiserfs support                                          
 	< > JFS filesystem support                                    
 	< > XFS filesystem support                                    
 	< > GFS2 file system support                                  
 	< > OCFS2 file system support                                 
 	< > Minix fs support                                          
 	< > ROM file system support                                   
 	[*] Inotify file change notification support                  
 	[*]   Inotify support for userspace     

[modifica] Passo 2: dbus-python

Installate dbus-python-0.80.1 (trovate lo SlackBuild su slacky.it). Non so se questo pacchetto è necessario, ma sono pochi KB e non credo faccia male.

[modifica] Passo 3: Installare hal e hal-info

Installate hal-0.5.9, e successivamente hal-info. Il mio SlackBuild è in fase di revisione, farò in modo eventualmente di pubblicarlo non appena sarò sicuro che sia adeguatamente funzionante al 100%, nel frattempo potete adattare lo SlackBuild di slacky.it per la versione precedente (non servono patch).

Comunque la parte importante è sui parametri del configure (non sarei molto fiscale sulla presenza o meno di alcuni parametri, ma alcuni sono importanti per l'avvio automatico di hal), ecco i miei:

./configure \
--prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/libexec/hald \
--localstatedir=/var \
--enable-umount-helper \
--with-pid-file=/var/run/hald/hald.pid \
--disable-docbook-docs \
--disable-doxygen-docs \
--disable-policy-kit \
--program-prefix="" \
--program-suffix="" \
--mandir=/usr/man \
--disable-debug

Degni di nota sono --enable-umount-helper, questo parametro dovrebbe servire ad evitare un problema sorto con le precedenti versioni di hal per cui automaticamente lo stesso provava a smontare anche dischi che non andavano montati (tipo CD audio e DVD). Ho letto un thread/flame abbastanza lungo su questo nel forum degli sviluppatori di hal, per cui il dubbio era tra patchare mount/umount o aggiungere codice che evitasse tale problema.

Altro flag è --with-pid-file=/var/run/hald/hald.pid ricordate il valore che passate qui, gli script di init sono basati in gran parte sulla posizione del pid file.

Infine --disable-policy-kit serve a togliere PAM come dipendenza (sulla slackware PAM non è installato e non lo sarà mai:-) ).

Questo di seguito è il file /etc/rc.d/rc.hald ( Scritto da Ken Zalewski <kennyz@nycap.rr.com> e leggermente modificato da me):

#!/bin/sh

# Who to run the server as, usually "haldaemon".
PUSER=haldaemon
PEXEC=/usr/sbin/hald
PIDFILE=/var/run/hald/hald.pid

check_env() {
  # Confirm that the HAL daemon executable can be found.
  if [ ! -x $PEXEC ]; then
    echo "Error: HAL is not installed correctly" >&2
    exit 1
  fi

  # Confirm that we are using a 2.6 kernel.
  ksubver=`uname -r |cut -d "." -f 2`
  case $ksubver in
    [6789]) ;;
    *) echo "Error: At least a 2.6 kernel is required in order to run HAL." >&2; exit 1 ;;
  esac

  # Confirm that the "haldaemon" user and group exist.
  grep -q "^$PUSER:" /etc/group || groupadd $PUSER || exit 1
  grep -q "^$PUSER:" /etc/passwd || useradd -c "HAL Daemon" -d /etc/hal -g $PUSER $PUSER || exit 1
}

start() {
  check_env
  if [ -r $PIDFILE ]; then
    if kill -0 `cat $PIDFILE` 2>/dev/null; then
      echo "HAL daemon is already running"
      exit 0
    else
      rm -f $PIDFILE
    fi
  fi

  echo -n "Starting HAL daemon: "
  $PEXEC --daemon=yes && echo ok || echo failed
}

stop() {
  echo -n "Stopping HAL daemon: "
  if [ -r $PIDFILE ]; then
    kill `cat $PIDFILE` && echo "ok" || echo "not running"
    rm -f $PIDFILE
  else
    killall $PEXEC 2>/dev/null && echo "ok" || echo "not running"
  fi
}

restart() {
  stop
  start
}

status() {
  if [ -e $PIDFILE ]; then
    echo "HAL daemon is up and running"
  else
    echo "HAL daemon is not running"
  fi
}


# Parse command line parameters.
case $1 in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart|reload)
        restart
        ;;
  status)
        status
        ;;
  *)
        # Print help
        echo "Usage: $0 {start|stop|restart|reload|status}" 1>&2
        exit 1
        ;;
esac

exit 0

Aggiungete le seguenti righe al file /etc/rc.d/rc.local

if [ -x /etc/rc.d/rc.hald ]; then
      sh /etc/rc.d/rc.hald start
fi

Ricordatevi di rendere eseguibile /etc/rc.d/rc.hald.

Una volta installato correttamente HAL, l'unica cosa che rimane da fare è aprire /etc/dbus-1/system.d/hal.conf e aggiungere

<!-- You can change this to a more suitable user, or make per-group -->
<policy group="users">                                                 
  <allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
  <allow send_interface="org.freedesktop.Hal.Device.VideoAdapterPM"/>
  <allow send_interface="org.freedesktop.Hal.Device.LaptopPanel"/>       
  <allow send_interface="org.freedesktop.Hal.Device.Volume"/>            
  <allow send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/>     
</policy>

Questo abilita tutti gli utenti del gruppo users (quello di default degli utenti slackware) ad accedere alle funzionalità di HAL, potete anche creare un gruppo dedicato e aggiungervi gli utenti che volete. Riavviate il sistema.

[modifica] Problemi riscontrati

Sulle prime non funzionava nulla, poi lanciando hald --daemon=no

mi sono accorto che mancavano 2 cartelle /usr/share/hal/fdi/information e /etc/hal/fdi/information, ho risolto creandole a mano (e comunque aggiungendo il codice opportuno nello slackbuild) Queste due cartelle vengono create all'installazione di hal-info.

[modifica] Passo 4: Abilitare l'automount in KDE

Ricompilate kdebase-3.5.6 con lo SlackBuild di Pat, aggiungendo --enable-hal ai parametri del configure (sarebbe inutile, il configure lo troverebbe da solo, ma visto il lungo tempo di compilazione, non mi andava di rischiare ). Questa operazione va effettuata probabilmente anche quando fate l'upgrade del pacchetto HAL (la transizione tra le versioni 0.5.9.rc1 e 0.5.9.rc2 lo ha richiesto).

[modifica] Passo 5: Test

Ho testato con CD dati, DVD video e una chiavetta usb 1 GB, tutti autorilevati e montati/smontati (dove era necessario) correttamente.

[modifica] Problemi riscontrati

Non funzionava l'eject, poi mi sono accorto che il mio utente non apparteneva al gruppo cdrom, l'ho aggiunto a tale gruppo e il problema è sparito.

[modifica] Problemi aperti

[modifica] Eject dispositivi usb

Quando smonto un device usb si apre una finestra che mi avvisa che il device non può essere espulso (e meno male, non vorrei ritrovarmi chiavette usb che volano per casa :-) ) che è abbastanza fastidioso ma che non pregiudica le funzionalità di HAL. Questo è riportato come bug di kdebase (vedi http://bugs.kde.org/show_bug.cgi?id=140435), ma l'unico commento al bug report è

------- Additional Comment #1 From Stephan Kulow 2007-01-22 13:18 -------
Yes, the system shuts down the hardware and does no longer supply it with power - if that fails, eject is a good enough term

Soluzione:

Status:	RESOLVED
Platform:	Compiled Sources
Resolution:	WONTFIX
Reporter:	giuseppe
Assigned to:	Stephan Kulow

sembra quindi che più di un bug sia una feature...

[modifica] Partizione di root risulta non montata in konqueror

La partizione di root risulta non montata in konqueror, e il tentativo di accedervi origina un messaggio di permessi negati anche da utente root. Questo sembra essere un bug di HAL e non di kde, (vedi http://bugs.kde.org/show_bug.cgi?id=114963), potrebbe essere anche semplicemente un errore di configurazione di HAL, da investigare.

EDIT - Lun 23 Lug 2007: spudhead sul forum di slacky.eu ha scoperto la soluzione per questo problema http://www.slacky.eu/forum/viewtopic.php?p=151464#151464

Se invece siete a conoscenza di come risolvere questi problemi, contattatemi: gianco71[at]libero[dot]it

[modifica] Screenshots

http://digilander.libero.it/G14nc0/automount-cd.png

http://digilander.libero.it/G14nc0/automount-usb.png

http://digilander.libero.it/G14nc0/automount-dvd.png

Gianco 22:27, 31 Mar 2007 (CEST)

Strumenti personali
Namespace

Varianti