# [risolto] Problema Controller Smart Array (/dev/cciss/c0d)

## SinSco

ciao a tutti...ho un problema

sto installando gentoo su:

HP ML350 G5

Smart array e200i

3 dischi SATA in RAID5

con il minimal CD ver. 2006.1  (installazione via rete)

ed al momento del riavvio, mi da il seguente errore:

!! Block device /dev/cciss/c0d0p5 is not a valid root device ...

!! The root block device is unspecified or not detected.

mi sa che centra con il smart array...avete qualche idea?

grazieLast edited by SinSco on Tue May 15, 2007 9:05 am; edited 1 time in total

----------

## mark_alec

Moved from Installing Gentoo to Forum italiano (Italian).

----------

## IlGab

Domanda number 1:

Il modulo della tua controller nel kernel: caricato quello corretto ? Dinamico ? Statico ? Genkernel ?

----------

## SinSco

premetto che sono alle prime armi...

ho seguito la guida di installazione....ed ho usato genkernel

su /etc/modules.autoload.d/kernel-2.6

ho aggiunto queste righe:

e1000

cciss

----------

## Scen

Se la tua partizione di root risiede sull'array devi compilare staticamente nel kernel il supporto al controller raid; se lo compili come modulo non riuscirai mai a montare la partizione di root (in quanto per caricare i moduli del kernel la partizione di root dev'essere montata ed accessibile, ma se per montarla ci vuole il modulo... in pratica il cane che si morde la coda  :Razz:  )

----------

## SinSco

 *Quote:*   

> Se la tua partizione di root risiede sull'array devi compilare staticamente nel kernel il supporto al controller raid

 

perdona l'ignoranza... come lo faccio?cosa devo fare?

----------

## Scen

Se non hai già letto la guida a Genkernel, ti consiglio di farlo: controlla soprattutto come eseguire genkernel con preventiva configurazione manuale del kernel (menuconfig).

Spostati nella sezione dei driver, individua quello per il tuo controller RAID, e invece che "M" devi dare "Y". Se non sai bene come configurare il kernel, c'è a disposizione la Guida alla configurazione del kernel Linux in Gentoo.

Se poi riscontri ancora difficoltà, chiedi pure  :Wink: 

(perdona se sono un pò generico, però penso ti sia utile capire bene quello che stai facendo, e non c'è modo migliore di farlo leggendo la documentazione  :Cool:  )

----------

## SinSco

grazie per le tempestive risposte...ora provo come hai suggerito

----------

## SinSco

sto tentando di trovare il chipset giusto

ho visto che con il comando lspci mi dovrebbe mostrare le proprietà dell'hardware...

il problema è che non c'è niente con SATA, Serial ATA, o simili c'è solo:

00:1f.0 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller (rev09)

come chipset invece:

00:00.0 Host bridge: Intel Corporation 5000z Chipset Memory Controller Hub (rev b1)

sinceramente non so dove sbattere la testa

----------

## randomaze

 *SinSco wrote:*   

> sinceramente non so dove sbattere la testa

 

Puoi postare l'intero output di lspci?

----------

## SinSco

è il seguente:

00:00.0 Host bridge: Intel Corporation 5000Z Chipset Memory Controller Hub (rev b1)

00:02.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 2-3 (rev b1)

00:03.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 3 (rev b1)

00:04.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 4 (rev b1)

00:05.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 5 (rev b1)

00:10.0 Host bridge: Intel Corporation 5000 Series Chipset Error Reporting Registers (rev b1)

00:10.1 Host bridge: Intel Corporation 5000 Series Chipset Error Reporting Registers (rev b1)

00:10.2 Host bridge: Intel Corporation 5000 Series Chipset Error Reporting Registers (rev b1)

00:11.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev b1)

00:13.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev b1)

00:15.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev b1)

00:16.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev b1)

00:1c.0 PCI bridge: Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (rev 09)

00:1d.0 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (rev 09)

00:1d.1 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (rev 09)

00:1d.2 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (rev 09)

00:1d.3 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (rev 09)

00:1d.7 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset EHCI USB2 Controller (rev 09)

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d9)

00:1f.0 ISA bridge: Intel Corporation 631xESB/632xESB/3100 Chipset LPC Interface Controller (rev 09)

00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller (rev 09)

01:03.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02)

01:04.0 System peripheral: Compaq Computer Corporation Integrated Lights Out Controller (rev 03)

01:04.2 System peripheral: Compaq Computer Corporation Integrated Lights Out  Processor (rev 03)

01:04.4 USB Controller: Hewlett-Packard Company Unknown device 3300

01:04.6 Class 0c07: Hewlett-Packard Company Unknown device 3302

02:00.0 PCI bridge: Broadcom EPB PCI-Express to PCI-X Bridge (rev c3)

03:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)

04:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Upstream Port (rev 01)

04:00.3 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express to PCI-X Bridge (rev 01)

05:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E1 (rev 01)

05:01.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E2 (rev 01)

0f:00.0 PCI bridge: Broadcom EPB PCI-Express to PCI-X Bridge (rev c3)

10:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)

12:00.0 PCI bridge: Broadcom EPB PCI-Express to PCI-X Bridge (rev b4)

13:04.0 PCI bridge: Broadcom HT1000 PCI/PCI-X bridge (rev b2)

13:08.0 RAID bus controller: Hewlett-Packard Company Unknown device 3238

----------

## randomaze

 *SinSco wrote:*   

> 13:08.0 RAID bus controller: Hewlett-Packard Company Unknown device 3238

 

A quanto sembra il nome del tuo controller raid non é nel db di lspci.

Prova a dare il comando (per favore qualcuno controlli se ricordo il nome giusto... dovrebbe essere in pciutils):

```
$ update-pciids
```

e poi fai nuovamente lspci...

----------

## SinSco

ringrazio ancora per le risposte...però:

se faccio:

livecd ~ # update-pciids

questo è l'output:

/usr/share/misc/pci.ids.new: Read-only file system

update-pciids: download failed

altrimenti:

(chroot) livecd ~ # update-pciids

bash: update-pciids: command not found

mi sa che devo installare il comando o qualcosa del genere...ma:

(chroot) livecd ~ # emerge -s pciids

Searching...

[ Results for search key : pciids ]

[ Applications found : 0 ]

----------

## Scen

@randomaze: confermo la correttezza del comando  :Cool: 

Mah... dando un'occhiata alle specifiche hardware mi pare di capire che il controller RAID sia "proprietario" dell'HP, e sul sito mettono a disposizione i driver binari per le distribuzioni Enterprise di RedHat e Suse/Novell......

Ho paura che con i driver open del kernel Linux farai ben poco...  :Confused: 

Il comando update-pciids lo devi lanciare in un'installazione Liunux esistente, non da livecd  :Razz:  (o al massimo prova con un LiveCD Knoppix, che tramite UnionFS dovrebbe permetterti di scrivere sulla partizione)

----------

## SinSco

questa è la prima installazione sulla macchina...

a questo punto però mi sorge una domanda:

se con il livecd parte, accedo ai dischi, li partiziono, faccio tutto quello che devo fare 

fino a configurare il grub... non dovrebbe andare anche al riavvio

cioè se il sistema è riconosciuto da livecd...lo dovrebbe essere anche installazione

o no?

basterà trovare i giusti driver...

 :Crying or Very sad:   :Crying or Very sad: 

spero

----------

## Scen

 *SinSco wrote:*   

> 
> 
> se con il livecd parte, accedo ai dischi, li partiziono, faccio tutto quello che devo fare fino a configurare il grub... non dovrebbe andare anche al riavvio 
> 
> 

 

Hai ragione  :Razz: 

Hai provato con questo driver?

```

Device Drivers  --->

    Block devices  --->

        <*> Compaq SMART2 support

```

?

----------

## randomaze

 *SinSco wrote:*   

> cioè se il sistema è riconosciuto da livecd...lo dovrebbe essere anche installazione
> 
> o no?
> 
> basterà trovare i giusti driver...

 

Un'altra cosa che potresti fare e fare il boot con il liveCD e cercare nei log del kernel (con dmesg). Quando fa il detect e carica i moduli dovrebbe essere indicato...

Edit: per installare update-pciids da dentro il chroot: 

```
emerge pciutils
```

----------

## makoomba

il modulo corretto (lo si evince dal path) è cciss:

```
Prompt: Compaq Smart Array 5xxx support                                                                                                                                                                     

      Location:                                                                                                                                                                                                 

        -> Device Drivers                                                                                                                                                                                       

          -> Block devices                                                                                                                                                                                   

This driver is known to work with the following cards:

        * SA 5300

        * SA 5i 

        * SA 532

        * SA 5312

        * SA 641

        * SA 642

        * SA 6400

        * SA 6400 U320 Expansion Module

        * SA 6i

        * SA P600

        * SA P800

        * SA E400

        * SA P400i

        * SA E200

        * SA E200i

```

edit:

leggo ora che hai usato il genkernel, quindi il modulo dovrebbe essere già compilato.

a meno che la situazione sia cambiata ora, genkernel non lo include nei moduli inseriti nell'initramfs.

per risolvere il problema, fa il boot da livecd, monta i dischi ed entra nel chroot

apri il file /usr/share/genkernel/x86/modules_load

se "cciss" non è incluso in MODULES_SCSI, aggiungilo.

dopo lancia

```
genkernel initrd
```

poi modifica la configurazione del bootloader aggiungendo il parametro "doscsi"

----------

## Scen

 *makoomba wrote:*   

> il modulo corretto (lo si evince dal path) è cciss:
> 
> ```
> Prompt: Compaq Smart Array 5xxx support                                                                                                                                                                     
> 
> ...

 

Yes, makoomba c'ha azzeccato!  :Cool: 

Per sicurezza, leggi bene la documentazione in /usr/src/linux/Documentation/cciss.txt.

----------

## SinSco

 *Quote:*   

> 
> 
> per risolvere il problema, fa il boot da livecd, monta i dischi ed entra nel chroot
> 
> apri il file /usr/share/genkernel/x86/modules_load
> ...

 

ho fatto come hai detto, ed effettivamente vedo che carica "cciss" però il problema rimane.

Ho visto che quando avvio da livecd, carica anche una serie di moduli "SATA-*", che non vengono caricati con l'avvio da installazione, quindi a rigor di logica dovrei aggiungere anche qualche modulo SATA!?

ora però voglio provare a ricominciare da 0, perchè:

 *Quote:*   

> emerge pciutils

 

mi da un errore, il che è strano visto che l'ho usato fin ora (l'emerge)...mi sa che a forza di tentativi ho fatto un po di casini.

ringrazio tutti per le risposte...e (ho la sensazione) ci sentiamo più tardi  :Smile: 

----------

## gutter

 *makoomba wrote:*   

> il modulo corretto (lo si evince dal path) è cciss:

 

Confermo quanto detto da makoomba. Ho un paio di macchine Compaq che usano questo modulo.

@SinSco: se ti servono altre info contattami pure che ti do una mano  :Wink: 

----------

## SinSco

ho provato e riprovato...ma niente

questo è il contenuto di  /usr/share/genkernel/x86/modules_load

```
MODULES_SCSI="sd_mod sg sr_mod aic79xx \

aic7xxx aic7xxx_old BusLogic \

ncr53c8xx NCR53c406a \

initio advansys aha1740 aha1542 aha152x \

dtc fdomain gdth pas16 pci2220i pci2000 psi240i \

qlogicfas qlogicfc qlogicisp \

seagate t128 u14-34f ultrastor wd7000  \

NCR53c406a sym53c8xx dmx3191d imm in2000 ips qla1280 \

sim710 sym53c416 dc395x atp870u mptbase mptscsih \

mptspi mptfc 3w-xxxx 3w-9xxx cpqarray cciss DAC960 \

sx8 aacraid megaraid_mbox megaraid_mm megaraid_sas \

lpfc scsi_transport_fc"

MODULES_NET="e1000 tg3"

MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"

MODULES_ATARAID="ataraid pdcraid hptraid"

MODULES_PCMCIA="pcmcia_core yenta_socket i82365 \

ds ide-cs firmware_class"

MODULES_USB="ehci-hcd uhci usb-ohci hid usb-storage uhci-hcd \

ohci-hcd usbhid sl811-hcd"

MODULES_LVM2="dm-mod dm-snapshot dm-mirror dm-bbr"

MODULES_EVMS2="dm-mod dm-snapshot dm-mirror dm-bbr raid0 raid1 \

raid456 raid5 raid6 raid10"

MODULES_DMRAID="dm-mod dm-mirror raid0 raid1 raid10"

MODULES_SATA="sata_promise sata_sil sata_sil24 sata_svw sata_via \

sata_nv sata_sx4 sata_sis sata_uli sata_vsc sata_qstor ahci \

ata_piix sata_mv pdc_adma"

MODULES_FS="ext2 ext3 reiserfs jfs nfs xfs"
```

a questo punto mi sorge un dubbio:

Al momento di installare il GRUB con grub-install mi generava questo errore:

```
/dev/cciss/c0d0 does not have any corresponding BIOS drive
```

quindi girando per la rete ho trovato qualcosa, anceh sul support di hp, e queste sono le operazioni che ho svolto:

```
# nano -w /boot/grub/device.map
```

dove ho aggiunto la riga: (hd0) /dev/cciss/c0d0

```
# grub device-map /boot/grub/device.map

grub> device (hd0) /dev/cciss/c0d0

grub> root (hd0,0)

         Filesystem type is ext2fs, partition type 0x83

grub> find /grub/stage1 

         (hd0,0)        

grub> setup (hd0)             

         Checking if "/boot/grub/stage1" exists... yes             

         Checking if "/boot/grub/stage2" exists... yes             

         Checking if "/boot/grub/e2fs_stage1_5" exists... yes             

         Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 22 sectors are embedded.           

         succeeded Running "install /boot/grub/stage1 d (hd0) (hd0)1+22 p             (hd0,0)/boot/grub/stage 2 /boot/grub/menu.lst"... succeeded             Done.         

grub> quit
```

dopo di che:

```
(chroot) livecd / # grub-install --no-floppy /dev/cciss/c0d0

expr: non-numeric argument

Installation finished. No error reported.

This is the contents of the device map /boot/grub/device.map.

Check if this is correct or not. If any of the lines is incorrect,

fix it and re-run the script `grub-install'.
```

può centrare?

----------

## SinSco

PS. 

ho trovato anche questa pagina http://gentoo-wiki.com/HARDWARE_HP_Proliant_DL580, dove l'autore che ha il mio stesso problema dice:

```
The following fixed my problem note real_root=/dev/cciss!c0d0p3
```

ora proverò anche se non capisco il perchè del "!"

----------

## makoomba

 *SinSco wrote:*   

> 
> 
> ```
> The following fixed my problem note real_root=/dev/cciss!c0d0p3
> ```
> ...

 

è vero, ora mi sovviene, ho avuto lo stesso problema con genkernel su un server HP

in pratica, genkernel usa mdev nell'initramfs, mdev scazza alcuni nomi dei devices e /dev/cciss/ diventa /dev/cciss!

mi ha dato lo stesso problema anche con LVM.

ps

cambia solo il nome nel boot, lasciando invariate le entry in fstab

----------

## SinSco

!!ALLA FINE CI SONO RIUSCITO!!

ringrazio tutti per l'aiuto...

quello che ho dovuto fare è stato abilitare tutti i driver SATA su:

```
Device Drivers --->

  Serial ATA (prod) and Parallel ATA (experimental) drivers  --->

    <*> ATA device support
```

poi ho abilitato anche:

```
Compaq Smart Array 5xxx support
```

dopo di che sul grub.conf ho dovuto mettere come real_root:

```
real_root=/dev/cciss!c0d0p5
```

ringrazio nuovamente per il supporto che mi avete dato

saluti

----------

## Scen

Bene  :Cool: 

Aggiunti il tag [RISOLTO] al titolo della discussione (modifica il primo messaggio)

----------

## SinSco

Ho un'altra domanda...

a parte che non riesco ad editare il titolo del primo post per aggiunre [risolto]

vi volevo chiedere una cosa

ho provato a lanciare make menuconfig dall'installazione ed i driver che avevo selezionato durante la configurazione, 

non sono più selezionati...quindi

se devo aggiungere dei nuovi driver/moduli...li devo riselezionare nuovamente?

non so se sono stato chiaro

grazie

----------

## randomaze

 *SinSco wrote:*   

> a parte che non riesco ad editare il titolo del primo post per aggiunre [risolto]

 

Il titolo attuale é troppo lungo... potresti cambiarlo in qualcosa più breve tipo "problemi con il device /dev/cciss/c0d0p5" oppure "Problemi con il controller RAID HP 5xxx"  :Wink: 

 *Quote:*   

> ho provato a lanciare make menuconfig dall'installazione ed i driver che avevo selezionato durante la configurazione, 
> 
> non sono più selezionati...quindi
> 
> se devo aggiungere dei nuovi driver/moduli...li devo riselezionare nuovamente?

 

Eventualmente si. Non ricordo se genkernel lasci la configurazione nel .config o da qualche altra parte.

Nel caso tieni presente che la tua configurazione attuale dovrebbe essere nel file /proc/config.gz quindi al limite basta copiare quella (decomprimila prima!) al posto del .config

----------

## SinSco

ho visto che in:

```
/usr/src/linux-2.6.20-gentoo-r8
```

oltre al .config c'è anche il file config.bak il quale ad una prima nalisi sembra contenere le info corrette circa i miei settaggi dei driver...

ora provo a sostituirlo al posto del .config e vediamo cosa succede!

...

confermo che carica la mia configurazione!

----------

