glug: udev, initrd e debian

komplikazione komplikazione@yahoo.it
Ven 27 Maggio 2005 14:54:10 CEST


pian piano, con calma sono arrivato ad approfondire anche udev.

da quanto ho capito con il kernel 2.6 i 'virtual devices' sono visibili
in user space attraverso sysfs e le notifiche dei nuovi devices
'pluggati' arrivano da hotplug. rimpiazza devfs che a quanto pare e' da
considerarsi obsoleto ( tanto quanto un kernel 2.4).

in sostanza i vantaggi sono che :
*gira in userspace
*genera dinamicamente i /dev/*
*permette di chiamare un dispositivo con il nome che si preferisce 
(leggendo cose tipo serial , casa produttrice ecc ..  )

tutto questo perche' comunica con namedev e libsysfs.

ora io mi chiedo perche' 

grep -A 10  "mount_root()" /usr/share/initrd-tools/init

mi dia questo:

**********
mount_root() {
local sysfs
mount -nt proc proc proc
mount_tmpfs dev2

mount -nt devfs devfs devfs <-----------

if mount -nt sysfs sysfs sys> /dev/null 2>&1; then
			sysfs=yes
fi

get_device
**********

quindi a quanto pare un kernel con initrd e privo di supporto devfs non
puo' esistere .... o sbaglio?

o meglio e' possibile generare un initrd che usi udev ?

da quello che ho trovato suse ad esempio sembra supportarlo ... ho dato
un'occhiata all'initrd.gz della live cd ed e' di dimensioni abnormi,
l'init poi e' un binario ... (per quanto riguarda l'initrd tipico di una
installazione su hd nn so forse sarà diverso).

debian invece sembra nn aver preso una posizione a riguardo:
* se vuoi l'initrd devi avere devfs
* devfs e' obsoleto per kernel 2.6 --> usare udev
* di default quando si installa un kernel-image debian viene generato un
 initrd

 il che lo trovo abbastanza assurdo ... ci saranno sicuramente dei buoni
 motivi per questo ... ma ...

 l'initrd viene generato dallo script mkinitrd che  crea la struttura
 delle dir. , queste vengono poi popolate con i file contenuti in
 /usr/share/initrd-tools ( es init,linuxrc ..  ) e /etc/mkinitrd
 (confdir di default il man e' piuttosto chiaro ) si possono poi
 aggiungere propri scripts ... e questo mi fa pensare che sia quindi
 anche possibile includere il supporto per udev ... questo in teoria ..
 in pratica nn saprei come.

 la linea:

if mount -nt sysfs sysfs sys> /dev/null 2>&1; then
			sysfs=yes
fi

controlla a quanto pare se e' possibile montare sysfs, ma devfs deve
poter essere montato a prescindere.

nn uso l'initrd nella debian che ho su hd ... e' indispensabile pero'
per fare il boot su quella che ho sull'hd firewire. Per il momento su
quel systema uso uno scipt S00 rubato a knoppix ... questo mi permette
di poterlo pluggare su 'qualsiasi' macchina e poterlo usare, mi chiedevo
se fosse possibile far fare il lavoro a udev+hotplug ... includendo udev
anche nell'initrd e escludendo devfs.

mi scuso se sono stato PROLISSO ma la cosa mi intriga parecchio quindi
se qualcuno/a potesse aiutarmi a capire meglio e mi correggesse se ho
detto cose senza senso gli/le  sarei  molto grato.

hasta luego

-- 
Un marito torna prima del previsto a casa e trova la moglie a letto con
l'amante nascosto sotto al letto.  Rivolgendosi alla moglie, le chiede:
"Cosa fa quello li' sotto al letto?".  E la moglie: "Sotto al letto non
lo so, ma sopra al letto...!".
		-- Da it.hobby.umorismo
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        non disponibile
Tipo:        application/pgp-signature
Dimensione:  189 bytes
Descrizione: non disponibile
Url:         http://lists.linux.it/pipermail/glug/attachments/20050527/00bfd95d/attachment.pgp


Maggiori informazioni sulla lista glug