Newsgroup: it.comp.os.linux.debian
Titolo: Adaptec SCSI RAID 2130SLP, Sarge e Debian Installer

ciao a tutti,
dovrei installare sarge su questo server Gigabyte: GS-SR222E
In più c'è anche un controller PCI-X Adaptec SCSI RAID 2130S-LP
L'ultimo debian net-installer (24 feb) per sarge non mi riconosce in 
automatico il controller e quindi si lamenta che non ci sono dischi 
partizionabili.
Ho visto sul sito di adaptec che i driver sono forniti precompilati solo
per alcune dist linux (Suse o RedHat). 
Tra i driver scaricabili dal sito della adaptec c'era un rpm da 50MB che
tra le altre cose (precompilati, patch a kernel stock di RH o SuSe),
contiene anche i sorgenti del modulo. 
Il modulo necessario dovrebbe essere aacraid.
Ho visto (
wiki.debian.net
) che dovrei usare una console secondaria
 (Alt-F2) e provare a dare modprobe aacraid e vedere se riconosce
 l'array raid5 correttamente... è giusto ?
La mia perplessità è che nella documentazione di questo modulo, anche
fino al kernel 2.6.10 e anche nei sorgenti della adaptec, tra i vari
controller gestiti da questo modulo, NON c'e' il 2130S. 
***
Martedì ho occasione di ri-provare l'installazione e quindi vedere se
funziona (con Alt-F2 e modprobe aacraid), però volevo chiedere in
anticipo se qlc aveva già affrontato questa problematica :( 
Grazie per ogni aiuto :)
ciao.
-- 
Davide DG.
tieni per te la spam per rispondermi via email.

 anticipo se qlc aveva già affrontato questa problematica :( 
Io la problematica di un controller SCSI l'avevo affrontata prima
dell'acquisto...
-- 
Massimo Bacilieri AKA Crononauta 
ICQ:4005815

 dell'acquisto...
Ma che risposta è ? Non ti sembra di essere sarcastico solo per il gusto
di esserlo ? Bah... 
E comunque, proprio a dirla tutta, non li ho scelti io questi server...
sono dei server ricevuti in "demo" e bisogna vedere se possono andare
bene, altrimenti si ritorna ad HP ... ahh i commerciali... ;P
Ciao e grazie.


 bene, altrimenti si ritorna ad HP ... ahh i commerciali... ;P
In tal caso, si rimanda la paccottiglia al commerciale dicendo che ha
comprato della roba inadatta a quello che si voleva fare, e che la
prossima volta farebbe bene a consultare i tecnici prima di comprare
roba inutilizzabile o utilizzabile solo a costo di spendere tempo (tempo
= denaro, in azienda) per un valore superiore al risparmio che può aver
ottenuto comprando quella marca...
Come estrema soluzione, visto che hai i moduli per RedHat, potrebbe
essere quella di installare inizialmente una RedHat tanto per avere un
kernel funzionante, e poi usare quel boot per installare una Debian (a
quel punto le periferiche e il RAID lo dovresti vedere).


 partizionabili.
E' stata dura. Alla fine ce l'ho fatta ^_^
Ho contattato il supporto tecnico Adaptec
aacraid =at= adaptec =dot= com
che nel giro di qualche ora mi ha risposto (Mark Salyzyn) inviandomi il
tgz dell'ultima build dei sorgenti (che non è presente sul sito Adaptec
:( ) (aacraid-1.1.5-2389.tgz)
indicandomi di controllare il supporto nel file linit.c
L'analogo file presente nel kernel source 2.6.8 di Debian era molto
diverso (+ vecchio, e non conteneva riferimenti al controller 2130SLP). 
Dopo molto googling, screaming e crying, sono riuscito a creare un
aacraid.ko che andasse bene al kernel 2.6.8-2-386 usato dal d-i di
sarge. 
Siccome ho visto che non c'è molta documentazione in Internet al
riguardo (almeno non per Debian e non organizzata), riporto la procedura
per chi fosse interessato (e anche per sapere se magari non ho
considerato qlc!) 
Su un'altra Sarge, Kernel 2.6.8-2-386:
0) avere tutti i prerequisiti per compilare un kernel.
apt-get install kernel-source-2.6 kernel-package ecc...
(anche come utente non priv gruppo src)
1) prepara il kernel source tree e usa il nuovo driver
cd /usr/src
tar -xjf kernel-source-2.6.8.tar.bz2
ln -s kernel-source-2.6.8 linux
cd linux/drivers/scsi
mv aacraid /tmp
tar -xzvf /tmp/aacraid-1.1.5-2389.tgz
cd aacraid  // controllare che sia stata creata correttamente
cp /boot/config-2.6.8-2-386 /usr/src/linux/.config
make oldconfig (non dovrebbe chiedere nulla)
// questo su altre distrib mi pare si faccia con make cloneconfig
cd /usr/src/linux
make menuconfig   //assicurarsi che il driver AACRAID sia come MODULO
vi /usr/src/linux/include/linux/version.h
#define UTS_RELEASE "2.6.8" --> "2.6.8-2-386"
// questo fa sì che la "vermagic" nel .ko sia congrua al kernel.
make clean  // non ne sono sicuro e non ricordo se l'ho dato
make modules
quando finisce, dovrebbe esserci il file aacraid.ko in
/usr/src/linux/drivers/scsi/aacraid/aacraid.ko
Questo file l'ho portato su un floppy, ho avviato il cd di installazione
(sarge-i386-1.iso) in expert26. Ho proceduto fino allo step "Detect
Hardware" escluso (quello prima del partizionamento dei dischi). 
poi Alt-F2, invio:
mount /dev/floppy/0
cp /floppy/aacraid.ko
/lib/modules/2.6.8-2-386/kernel/drivers/scsi/aacraid/ umount
/dev/floppy/0 modprobe aacraid
dovrebbe lamentare (dmesg) qualcosa come:
aacraid: no version for "struct_module" found: kernel tainted.
(qlc sa se va bene o se bisogna fare qlc altro per eliminare questo msg
di errore/warning !?) 
e poi dare:
Red Hat/Adaptec aacraid driver (1.1-5[2389]) e poi riconoscere
l'hardware supportato. 
exit  torno con Alt-F1 all'installare, dò Detect Hardware e poi passo al
partizionamento, che questa volta mi vede con successo! ^_^ 
Partiziono, formatto, installo il base system, grub.
Ora però c'è un problema... ovvero che il kernel che poi mi installa nel
sistema non ha il modulo corretto, ma quello vecchio. Questo è un
problema perkè appena installa il kernel chiama subito mkinitrd  e
genera il ramdisk file col modulo sbagliato. 
Quindi quando poi riavvio il sistema, va in kernel panic perchè non
riesce a montare / 
Per questo ci sarebbero 2 soluzioni:
a) rifare il mkinitrd con il modulo giusto, credo durante
l'installazione, appena prima di riavviare (qlc sa come si fa ?!) 
b) modificare o crearsi kernel-image-2.6.8-2-386_2.6.8-13_i386.deb
e metterlo su un nuovo cd customizzato (facendo attenzione ai vari
md5sum) 
Esiste che voi sappiate un metodo per "modificare" il contenuto di un
.deb? 
Vorrei sovrascrivere al suo interno il file aacraid.ko, di modo che poi
quando viene chiamato mkinitrd viene creato il ram disk col modulo
corretto. 
Poi finita l'installazione procederei all'inst di un kernel custom.
Idee / suggerimenti / commenti ? ;P
Ciao a tutti!


 partizionabili.
E' stata dura. Alla fine ce l'ho fatta ^_^
Ho contattato il supporto tecnico Adaptec
aacraid =at= adaptec =dot= com
che nel giro di qualche ora mi ha risposto (Mark Salyzyn) inviandomi il
tgz dell'ultima build dei sorgenti (che non Š presente sul sito Adaptec
:( ) (aacraid-1.1.5-2389.tgz)
indicandomi di controllare il supporto nel file linit.c
L'analogo file presente nel kernel source 2.6.8 di Debian era molto
diverso (+ vecchio, e non conteneva riferimenti al controller 2130SLP). 
Dopo molto googling, screaming e crying, sono riuscito a creare un
aacraid.ko che andasse bene al kernel 2.6.8-2-386 usato dal d-i di
sarge. 
Siccome ho visto che non c'Š molta documentazione in Internet al
riguardo (almeno non per Debian e non organizzata), riporto la procedura
per chi fosse interessato (e anche per sapere se magari non ho
considerato qlc!) 
Su un'altra Sarge, Kernel 2.6.8-2-386:
0) avere tutti i prerequisiti per compilare un kernel.
apt-get install kernel-source-2.6 kernel-package ecc...
(anche come utente non priv gruppo src)
1) prepara il kernel source tree e usa il nuovo driver
cd /usr/src
tar -xjf kernel-source-2.6.8.tar.bz2
ln -s kernel-source-2.6.8 linux
cd linux/drivers/scsi
mv aacraid /tmp
tar -xzvf /tmp/aacraid-1.1.5-2389.tgz
cd aacraid  // controllare che sia stata creata correttamente
cp /boot/config-2.6.8-2-386 /usr/src/linux/.config
make oldconfig (non dovrebbe chiedere nulla)
// questo su altre distrib mi pare si faccia con make cloneconfig
cd /usr/src/linux
make menuconfig   //assicurarsi che il driver AACRAID sia come MODULO
vi /usr/src/linux/include/linux/version.h
#define UTS_RELEASE "2.6.8" --> "2.6.8-2-386"
// questo fa s  che la "vermagic" nel .ko sia congrua al kernel.
make clean  // non ne sono sicuro e non ricordo se l'ho dato
make modules
quando finisce, dovrebbe esserci il file aacraid.ko in
/usr/src/linux/drivers/scsi/aacraid/aacraid.ko
Questo file l'ho portato su un floppy, ho avviato il cd di installazione
(sarge-i386-1.iso) in expert26. Ho proceduto fino allo step "Detect
Hardware" escluso (quello prima del partizionamento dei dischi). 
poi Alt-F2, invio:
mount /dev/floppy/0
cp /floppy/aacraid.ko
/lib/modules/2.6.8-2-386/kernel/drivers/scsi/aacraid/ umount
/dev/floppy/0 modprobe aacraid
dovrebbe lamentare (dmesg) qualcosa come:
aacraid: no version for "struct_module" found: kernel tainted.
(qlc sa se va bene o se bisogna fare qlc altro per eliminare questo msg
di errore/warning !?) 
e poi dare:
Red Hat/Adaptec aacraid driver (1.1-5[2389]) e poi riconoscere
l'hardware supportato. 
exit  torno con Alt-F1 all'installare, d• Detect Hardware e poi passo al
partizionamento, che questa volta mi vede con successo! ^_^ 
Partiziono, formatto, installo il base system, grub.
Ora per• c'Š un problema... ovvero che il kernel che poi mi installa nel
sistema non ha il modulo corretto, ma quello vecchio. Questo Š un
problema perkŠ appena installa il kernel chiama subito mkinitrd  e
genera il ramdisk file col modulo sbagliato. 
Quindi quando poi riavvio il sistema, va in kernel panic perchŠ non
riesce a montare / 
Per questo ci sarebbero 2 soluzioni:
a) rifare il mkinitrd con il modulo giusto, credo durante
l'installazione, appena prima di riavviare (qlc sa come si fa ?!) 
b) modificare o crearsi kernel-image-2.6.8-2-386_2.6.8-13_i386.deb
e metterlo su un nuovo cd customizzato (facendo attenzione ai vari
md5sum) 
Esiste che voi sappiate un metodo per "modificare" il contenuto di un
.deb? 
Vorrei sovrascrivere al suo interno il file aacraid.ko, di modo che poi
quando viene chiamato mkinitrd viene creato il ram disk col modulo
corretto. 
Poi finita l'installazione procederei all'inst di un kernel custom.
Idee / suggerimenti / commenti ? ;P
Ciao a tutti!
-- 


 Idee / suggerimenti / commenti ? ;P
Per me la strada più semplice e diretta, almeno rispetto all'approccio
complesso che sei stato costretto a seguire con il net-install, è quello
che ti ha indicato Crononauta, ovvero fare del tutto a meno del disco di
boot e partire da una distribuzione già istallata. 
Infatti istallare una debian su un'altra distro ospite con debootstrap e
un chroot è davvero semplice (io l'ho fatto con successo parecchie volte)
ed esiste tantissima documentazione in merito. 
In pratica, prima istalli una distro ospite temporanea (come la red-hat),
anche minimale visto che poi la elimini, che abbia però un kernel patchato
e quindi veda i tuoi dischi. Su un mount point a scelta (che so
/var/chroot/debian) monti una partizione libera e ci crei su un
filesystem. Poi con deboostrap (che ti sei precedentemente scaricato con
wget o simili) istalli su di essa una debian minimalista, poi ti copi un
po' di file di configurazione di base dalla distribuzione ospite e li
trasferisci su /var/chroot/debian/etc (parlo di resolv.conf, hosts,
hostname e fstab), o te li crei a mano. In
/var/chroot/debian/etc/apt/sources.list metti il debian repository che
preferisci. A questo punto con chroot trasformi in root point
/var/chroot/debian e quindi puoi procedere a configurare il sistema di
pase con base-config. Quindi con apt ti puoi scaricare dalla rete i
pacchetti mancanti, incluso ovviamente il kernel source, package, patch
ecc. Poi compili il kernel patchato, crei il deb e lo istalli con dpkg -i.
Aggiusti grub per caricare la partizione debian, reboot e il gioco è fatto.
Maggiori info qui:
http://www.debian.org/releases/testing/i386/apcs04.html.en
http://www.underhanded.org/papers/debian-conversion/remotedeb.html
Se invece vuoi provare a pasticciare col mkinitrd (che io al posto tuo mi
sentirei male solo all'idea, visto che su questa cosa ho sempre avuto
grossi problemi) forse questo può darti una mano:
http://www.edseek.com/archives/2004/03/22/creating-an-initrd-image-on-debian-gnulinux/
 
HTH
-- 
Carlo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Ciao a tutti!
Ciao
	Mavimo

  [...]
Grazie per i link e per le info.
Ora che ci ho sbattuto la testa credo cmq che userò il metodo del
net-install. Dovrebbe funzionare, ho trovato il modo di ricreare i .udeb
e .deb necessari e sostituirli sul cd, in modo che installino il modulo
giusto. 
Appena provo posto il risultato cmq, ma in pratica basta usare (spero)
ar (man ar). 
Grazie ancora :)


 Mi pare si potesse, ma non ricordo come ne ho tempo di cercare :P
 
A dire il vero, mentre cercavo un metodo "pulito" per installare sto
benedetto modulo ricompilato (e funzionante), sono riuscito lo stesso a
farglielo vedere al momento "giusto" per costruire un initrd corretto. 
In pratica l'ho fatta sporchissima: mentre l'installer installava il
kernel-image, sulla console alt-f2 davo in continuazione un cp
/tmp/aacraid.ko
/target/lib/modules/2.6.8-2-386/kernel/drivers/scsi/aacraid 
Quindi quando è stato chiamato mkinitrd, il modulo giusto era già nella
directory giusta ;P Lo so, è una vaccata assurda, ma fatto sta che ha
funzionato!! al reboot ha caricato il modulo buono ed è partito con lo
stage3 (base-install). 
Come ho scritto in risposta a Carlo Fusco, ora dovrei aver trovato come
integrare il modulo sia nell'udeb che, soprattutto, nel .DEB del
kernel-image. 
Devo vedere se funziona correttamente, domani mattina provo.
E' stato time-and-brain-consuming, ma credo ne sia valsa la pena, ne sto
uscendo con molte conoscenze in più :) 
Ahloa


 ar (man ar). 
sě, funziona ;)
anche se in effetti č molto lunga come strada, perchč bisogna
riassemblarsi i .deb a mano, modificare gli hash md5, le informazioni
sui .deb (size tag) ecc. 
Ciao!
