# [risolto] grub, raid0/1 & lvm e' come cacchio lo installo?

## FreeManAtomic

Ciao,

ho finito ora una macchina che ha le partizioni come segue:

/dev/md0 sw raid 0 - partizione di swap

/dev/md1 sw raid 1 - partizione /boot (cambiata successivamente in raid1 prima era raid0!)

/dev/md2 sw raid0 - il resto del mondo

A sua volta /dev/md2 e logicamente divisa come segue (con lvm)

/dev/vg/root - partzione di root /

/dev/vg/usr - partzione /usr

/dev/vg/tmp - partzione /tmp

/dev/vg/var - partzione /var

/dev/vg/fspublic - mia partzione dati

Non ho la piu' pallida idea di come configurare grub per avviarlo (il kernel monolitico contiene sia RAID che LVM!)

Cercando su internet ho trovato questa guida: http://gentoo-wiki.com/HOWTO_Gentoo_Install_on_Software_RAID ma quando eseguo il comando "find /boot/grub/stage1" indicato nelle istruzioni per installare il bootloader, grub restituisce l'errore: Error 15: File not found

C'e' speranza di far avviare questa configurazione, ho e' meglio che mi faccia un tbz2 di tutto e rifaccia le partizioni? 

Grazie a tuttiLast edited by FreeManAtomic on Sun May 14, 2006 6:49 pm; edited 1 time in total

----------

## cloc3

 *FreeManAtomic wrote:*   

> 
> 
> /dev/md1 sw raid 1 - partizione /boot (cambiata successivamente in raid1 prima era raid0!)
> 
> 

 

Sei sicuro che grub si legga una partizione in raid?

La boot partition deve contenere un piccolo numero di files da leggersi una volta sola all'avvio. Io metterei un ext2 piatto piatto.

Mettere la partizione di root in raid è lecito, ma richiede un initrd (genkernel ?).

Edit:

Proprio il tuo howto recita:

 *Quote:*   

> 
> 
> Disadvantages
> 
>  Can not be used for boot partition (Not until Grub or Lilo is patched to support it).
> ...

 

----------

## Ic3M4n

mettere la root in raid non è assolutamente un problema, basta avere compilato il supporto per il raid built-in nel kernel e non come modulo.

----------

## .:chrome:.

devi farlo da linea di comando, ma usando un piccolo accorgimento:

la partizione /boot deve stare fuori da LVM e deve essere in RAID-1, altrimenti non funzionerà mai. questo vale sia con LILO che con GRUB

con GRUB devi fare l'installazione manuale:

```
# grub

grub > root (hd0,0)

grub > setup (hd0)

grub > root (hd1,0)

grub > setup (hd1)

grub > root (hd2,0)

grub > setup (hd2)

grub > exit

#
```

----------

## FreeManAtomic

si e' raid1 fuori da lvm.

Ora provo i tuoi comandi e' vedo come va.... una vale anche se i dischi sono SATA, o meglio sdX invece di hdX?

Grazie provo e faccio sapere!

----------

## .:chrome:.

no. quei comandi sono indirpendenti dal sistema operativo, dal momento che sono comandi di GRUB

quando lavori con GRUB devi dimenticarti di quale sistema stai usando e di come questo chiama i devices!

----------

## FreeManAtomic

Ciao,

grazie k, grub si e' installato correttamente, pero' purtroppo al riavvio dopo aver selezionato la riga da bootare, mi da error 15, ho ricorntrollato tutto i file ci sono, perche' da errore?

Ti posto il pezzo di configurazione di grub:

root (hd0,1)

kernel /boot/vmlinuz root=/dev/vg/root

grazie

----------

## .:chrome:.

oddio... così chiedi troppo  :Wink: 

cos'è l'errore 15? non è accompagnato da una piccola descrizione di cosa è?

comunque, così su due piedi, io toglierei /boot/ dalle tue dichiarazioni, perché il kernel si trova nella root, rispetto alla posizione che hai indicato prima. ricordati che sei dentro l'ambiente di GRUB, non nel sistema, e GRUB non sa come sono fatte le partizioni e non sa cosa siano i mount point

probabilmente non è quella la causa dell'errore, ma è una cosa da sistemare.

lascia solo "kernel /vmlinuz root=/dev/vg/root "

poi un'altra cosa: con la riga "root (hd0,1)" tu stai dicendo che la root di GRUB (che pe ril sistema corrisponde alla partizione /boot si trova sul primo disco rigido, nella seconda partizione. questo è corretto?

----------

## X-Drum

 *k.gothmog wrote:*   

> 
> 
> cos'è l'errore 15? non è accompagnato da una piccola descrizione di cosa è?

 

http://www.gentoo.org/doc/en/grub-error-guide.xml

----------

## .:chrome:.

 *X-Drum wrote:*   

>  *k.gothmog wrote:*   
> 
> cos'è l'errore 15? non è accompagnato da una piccola descrizione di cosa è? 
> 
> http://www.gentoo.org/doc/en/grub-error-guide.xml

 

wow... sei una macchina da guerra. non sapevo ci fosse quella pagina

in questo hai semplicemente sbagliato il percorso del file

----------

## X-Drum

 *k.gothmog wrote:*   

> wow... sei una macchina da guerra. non sapevo ci fosse quella pagina
> 
> 

 

lol, ti ringrazio  :Razz: 

questa pagina di manuale è nata dalle informazioni postate in un vecchio ed utile 3d 

partito sul forum internazionale di gentoo: "Grub Error Collection", che ormai come 

purtroppo accade per tutti i 3d utili, era diventata difficile da consultare e floddata 

di commenti spesso inutili

----------

## FreeManAtomic

ciao,

grazie k, l'errore era proprio nella riga kernel, abituato troppo ad avere la boot dentro a root, ho scritto in automatico /boot, tirandolo via si e' avviato, peccato che ora pero0 mi vada in kernel panic perche non riesce a trovare la root-lvm.   :Crying or Very sad: 

Ma quest'ultimo ora la risolvo, mi faccio un bel tar del sistema e ricreo le partizioni portando fuori la root.

grazie ciao ciao

----------

## .:chrome:.

aspetta... ci ho perso un sacco di tempo anche io

fai così: usa genkernel, passandogli il tuo config, e fai attenzione che stia usando proprio la tua configurazione e non una di quelle standard

devi compilare con genkernel all --lvm2

poi aggiungi dolvm come parametro di boot al kernel. potrei sbagliarmi, forse è dolvm2, comunque sia è scritto alla fine dell'output di genkernel

----------

## FreeManAtomic

ma cosi mi crea un kernel modulare?

Lo so e' una domanda stupida, ma non ho mai utilizzato genkernel, in quanto sentivo delle dicerie sul fatto c he genera ogni tanto kernel bacati  :Smile: 

----------

## .:chrome:.

genkernel accetta un file di configurazione e fa quello che c'è scritto di fare in quel file di configurazione. punto e basta

se uno sa configurare il kernel a mano, genkernel costituisce una comodissima utility che si sbatte al posto tuo, e soprattutto in casi come questo ti evita un saccod i lavoro inutile.

comunque sia, tu hai necessariamente bisogno di qualcosa che attivi l'LVM all'avvio ed il metodo più semplice, efficace e meno dispendioso in termini di tempo per farlo è usare l'immagine initramfs creata da genkernel.

copa il tuo .config in /etc/kernels/kernel-config-x86-<versione>, ad esempio io usi i ck-sources e ho salvato il file di configurazione in /etc/kernels/kernel-config-x86-2.6.16-ck10

poi lanci genkernel con le opzioni che ti ho scritto sopra, e dovrebbe funzionare tutto

verifica che genkernel stia usando il tuo file di configurazione e non quello standard:

```
genkernel all

* Gentoo Linux Genkernel; Version 3.3.11d

* Running with options: all

* Linux Kernel 2.6.16-ck10 for x86...

* kernel: >> Running mrproper...

* config: Using config from /etc/kernels/kernel-config-x86-2.6.16-ck10

*         Previous config backed up to .config.bak

*         >> Running oldconfig...

...
```

poi sistema grub in modo da usare il nuovo kernel con i giusti parametri:

```
title  GNU/Linux

        root (hd1,0)

        kernel /kernel-genkernel-x86-2.6.16-ck10 root=/dev/ram0 real_root=/dev/md2 dolvm2 init=/linuxrc vga=791

        initrd /initramfs-genkernel-x86-2.6.16-ck10
```

dovrebbe bastare

----------

## FreeManAtomic

grazie,

ormai ho fatto spostando la root! Sara' per la prossima macchina.   :Smile: 

Grazie gentilissimo.

----------

