Pagina 1 di 2

rc.udev rc.hotplug e initrd

Inviato: sab 27 gen 2007, 5:15
da japanik
innazitutto salve a tutti ! :D

ho un grossissimissimo problema ... da un po di giorni a questa parte sto cercando di installare un controller SAS aic-9410w su slackware 11 ma nulla di nulla.....

Il controllere viene correttamente visto dal Kernel 2.6.19.2 , ma purtroppo non carica il firmware necessario ad inizializzare il chip e riconoscere gli hard disk sas ...

Ho fatto migliaia di prove .... ("povero server") .... e nulla di nulla ... tra le altre cose se compilo il Modulo all'interno del Kernel tutto va ok... ma il problema + grosso e che cosi facendo sarei obbligato a fare bootare la macchina da un'altro hdd (magari sata o eide) solo per fargli vedere il firmware necesario al caricamento degli hdd sas.

Detto questo ho iniziato a percorrere la strada dell'initrd e lanciare i vari scripts rc.udev e rc.hotplug da li ... con il risultato che riesco a fargli caricare il modulo ma non riesco a avviare udev.... e senza UDEV e hotplug nulla firmware...
A questo punto chiedo cortesemente e diro di piu... che sarei anche disponibile a pagare qualkuno che mi illumini il cammino... NON VORREI ABBANDONARE LA SLACK per una CENTOS... SONO 11 anni che la uso ... sarei molto dispiaciuto...

Ripeto .. sarei diponibilissimo a pagare qualcuno per cercare di capire dove kappero sto sbagliando.... Vorrei vedere sto server su solo conla slack..

Scusate il mio sfogo ma sono 3 gg che non dormo per sta storia ...

Se fosse necessario sarei disponibile a far avere tutte le mie configurazioni ..... BzImage .config ... moduli firmware e tutto kuello che serve..

Ringrazio anticipatamente chiunque voglia darmi delucidazioni in merito...

SAluti JApaNik :(

Inviato: sab 27 gen 2007, 11:43
da targzeta
Non ho capito bene il tuo problema. Non hai atri hd con i quali puoi far bootare la macchina.
Se si, fai questa prova.
Lascia stare gli rc di udev e hotplug, non farli partire all'avvio.
Invece fai quanto segue in uno script di avvio, magari rc.local

Codice: Seleziona tutto

echo "/sbin/hotplug" > /proc/sys/kernel/hotplug
Questo basta a far si che il firmware venga caricato.

Fammi sapere,
Spina

rc.udev rc.hotplug e initrd

Inviato: dom 28 gen 2007, 7:04
da japanik
Ciao Spina....

intanto grazie ...

Nulla di fstto .... Il comando che mi hai passato dovrebbe startarsi all'avvio con initrd ...

cioè all'interno di uno script tipo "linuxrc" all'interno dell'initrd..

Naturalmente questo è obbligatorio perchè ... io volentieri lo metterei in uno script di avvio tipi rc.local ma purtroppo come dicevo prima non facendo il boot da un hdd riconosciuto non è montato neache il filesystem... :(

comunque ora mi sto sparando tutti i comandi che vengono startati da rc.udev e rc.hotplug ...
speriamo in bene sto esaurendo ... e oramai sono agli sgoccioli ... avrei veramente bisogno di qualche "anima PIA " che mi desse una mano ... sono nella M.... :?

Grazie comunque ...

Ciao Japanik arrabbiato :evil:

Inviato: dom 28 gen 2007, 15:08
da targzeta
Fammi capire, nello scenario in cui facessi il boot da un altro HD, tu sai già come far vedere questo benedetto HD al kernel giusto? Il tuo problema è che da questo disco vuoi fare il boot, e quindi vuoi che l'HD venga visto all'avvio.

Visto che sai farti un initrd, mettici dentro tutto ciò che ti serve. L'idea è di montare il /proc nel ram disk, fare l'echo come ti ho spiegato prima, e poi caricare il driver del disco, quindi smonti il /proc e bla,bla,bla.... Ovviamente l'initrd devi preparartelo come si deve ;).

Fammi sapere,
Spina

ARIUDEV

Inviato: dom 28 gen 2007, 15:15
da japanik
ecco quello che ci metto

drwxr-xr-x 12 root root 1024 2007-01-28 17:21 ./
drwxr-xr-x 3 root root 400 2007-01-28 17:46 ../
drwxr-xr-x 2 root root 1024 2007-01-28 17:46 bin/
drwxr-xr-x 2 root root 1024 2006-09-14 10:13 dev/
drwxr-xr-x 7 root root 1024 2004-09-23 20:16 etc/
drwxr-xr-x 5 root root 1024 2006-09-21 01:50 lib/
-rwxr-xr-x 1 root root 4092 2007-01-28 17:38 linuxrc*
-rwxr-xr-x 1 root root 195 2007-01-22 01:12 load_kernel_modules*
drwx------ 2 root root 12288 2007-01-22 01:12 lost+found/
drwxr-xr-x 2 root root 1024 2004-03-01 00:20 mnt/
drwxr-xr-x 2 root root 1024 2004-03-01 00:21 proc/
-rw-r--r-- 1 root root 0 2004-05-26 03:10 rootdev
-rw-r--r-- 1 root root 0 2004-05-26 03:10 rootfs
drwxr-xr-x 2 root root 1024 2007-01-28 17:26 sbin/
drwxr-xr-x 8 root root 1024 2006-09-21 01:50 usr/
drwxr-xr-x 3 root root 1024 2006-09-21 01:50 var/


poi nella /bin ci ficco busybox ... tutte le cosine e il link simbolici a lui ..... tipo mount sed grep sh etc etc

e poi nella lib ci metto il modulo e tutto il resto ... compreso il firmware ... naturalmente se evito di avviare udev e compagnia bella il modulo all'avvio lo carico ma il firmware no neanche con il tuo comando ... ora ti posto linuxrc lo script di avvio
export PATH=/sbin:/bin:/usr/bin:/usr/sbin
mount -n -t proc proc /proc
mount -n -t sysfs sys /sys
mount -n -t tmpfs -o exec,nosuid,mode=0755 udev /dev
echo "/sbin/hotplug" > /proc/sys/kernel/hotplug
udevd --daemon

udevtrigger

udevsettle# Load kernel modules:
if [ ! -d /lib/modules/`uname -r` ]; then
echo "No kernel modules found for Linux `uname -r`."
elif [ -x ./load_kernel_modules ]; then # use load_kernel_modules script:
echo "/boot/initrd.gz: Loading kernel modules from initrd image:"
. ./load_kernel_modules
else # load modules (if any) in order:
if ls /lib/modules/`uname -r`/*.*o 1> /dev/null 2> /dev/null ; then
echo "/boot/initrd.gz: Loading kernel modules from initrd image:"
for module in /lib/modules/`uname -r`/*.*o ; do
insmod $module
done
unset module
fi
fi

# Initialize LVM:
if [ -x /sbin/vgscan ]; then
/sbin/vgscan --mknodes
sleep 10
/sbin/vgchange -ay
fi

# If /rootdev isn't set, we'll have to trust exiting to work here.
# It's harder to clean up the initrd without a pivot_root,
# so it's a good idea to set rootdev (and rootfs) properly.
if [ -r /rootdev ]; then
if [ "`cat /rootdev`" = "" ]; then
exit 0
fi
else
exit 0


etc etc evito di postarlo tutto tanto il resto funge se tolgo udev e compagnia bella

grazie per l'aiuto ....

JApaniK :roll:

Inviato: dom 28 gen 2007, 15:30
da targzeta
Ovviamente in /sbin ci metti il programma hotplug vero?
Quello che ti posso dire è che udev non ti serve. A me sembri molto ferrato e quindi penso che il problema lo risolverai tranquillamente.
comunque udev non fa altro che renderti dinamica la directory /dev. Tu devi capire chi carica il firmware dell'HD.
Se fai il boot da un altro HD, cosa fai per far vedere al kernel il tuo nuovo HD?

Spina

ankora io

Inviato: dom 28 gen 2007, 15:37
da japanik
per il boot da un'altro hdd... ho provato a dare chmod 0644 a agli script rc.udev e
rc.hotplug...

non facendoli partire ho dato echo "/sbin/hotplug" > /proc/sys/kernel/hotplug

poi ho fatto insmod aic94xx

e subito è andato tutto ok !!!!

ma se lo fo nello script linuxrc di initrd

non si starta na ceppa ... anzi il modulo si starta ma non carica il firmware

... sono poco ferrato in questa materia.....

giuro che pagherei almeno 100 euri per rislverlo entro stasera ...
mi aspetta na settimana infernale ho 2 figli che non mi vedono da 6 gg perche me li sono giocati tutti kua sopra... bel casino

Inviato: dom 28 gen 2007, 15:42
da targzeta
Sentimi,
ci sono dei risvolti interessanti.
Lascia perdere udev ok! Visto che ha funzionato facendo il boot da un altro hd devi focalizzare l'attenzione su hotplug.
Copia quanto ti dico sull'initrd.
/sbin/hotplug
/etc/hotplug.d/
/etc/hotplug/

Le ultime due sono directory, copiale interamente sull'initrd con lo stesso percorso.
Se ha funzionato prima dovrà funzionare anche lì.

Fammi sapere,
Spina

sorry ... non vorrei inspazientirti

Inviato: dom 28 gen 2007, 15:47
da japanik
c'e l'ho tutte ... giuro

e li che mi fa incavolare... se vuoi ti do shell ssh e ti fo vedere dal vivo....

sorry io per costruirmi initrd.gz faccio:

mkinitrd che crea la directory initrd-tree

li mi copio tutto il necessario

e poi rifo mkinitrd
lilo
e rebootto
ma nulla

Inviato: dom 28 gen 2007, 15:47
da dapuzz
l'hai già scartata l'alternativa di comprare un disk on module da 30€ su cui mettere la partizione di /boot come se fosse un normalissimo disco ide?

Inviato: dom 28 gen 2007, 15:48
da japanik
ci ho pensato.... certo ma non mi sembra na cosa normale ...

anche perchè l'ho gia cvisto fare e funge.... mi fa incassare sto SAS

Inviato: dom 28 gen 2007, 15:50
da targzeta
Spediscimi il l'initrd vuoi?
Il mio indirizzo è spina80@freemail.it

Spina

P.S. Per i figli ti capisco. Ho una ragazza che dice che il mio PC è un concorrente sleale :)

inviato

Inviato: dom 28 gen 2007, 15:57
da japanik
e grazie ancora per lo sbattone

Inviato: dom 28 gen 2007, 16:26
da targzeta
E' l'ultimo initrd che hai usato?

Spina

Dimmi che filesystem c'è nel root. Inoltre dimmi il driver come ti fa vedere l'Hd, come sda?

Inviato: dom 28 gen 2007, 16:29
da japanik
nel root c'e reiserfs ... intendi dire naturalmente nel mio hdd sata che sto utilizzando per fare le prove ...

ah ... naturalmente l'hdd sata l'ho montato come se fosse un ide kuindi me lo vede come hda e il sas come sda e sdb /sono 2 hdd sas)