View previous topic :: View next topic |
Author |
Message |
JClarkGentoo n00b

Joined: 23 Mar 2006 Posts: 27
|
Posted: Fri Apr 14, 2006 7:55 pm Post subject: !! The root block device is unspecified or not detected. |
|
|
Ciao a tutti
ho seguito il vostro precedente consiglio e ho rifatto tutto da 0. Come mio solito il post iniziale è un po' lungo, ma spero ke serva x capire tutti i passaggi che ho fatto (e poi magari serve a qualcun altro ...)
Tutto sembrava funzionare ... fino a quando al 1° boot non è uscita sta cosa
>>Activating udev
>>Determining root device...
!! The root block device is unspecified or not detected.
Please specify a device to boot, or "shell" for a shell...
boot() ::
Prima di perdervi nella lettura dei vari step che ho seguito ... la domanda: Qualcuno sa come posso risolvere ???
Ho provato a documentarmi ed ho trovato queste cose ke però non mi hanno aiutato a risolvere il mio problema.
https://forums.gentoo.org/viewtopic-t-431705-highlight-root+block+device+unspecified.html
How-To e Guide x RAID
https://forums.gentoo.org/viewtopic-t-8813-highlight-root+block+device+unspecified.html
http://www.linuxplanet.com/linuxplanet/tutorials/4349/6/
----------------------
Posto le cose ke sembrano necessarie per capire ke cosa succede:
Sistema: PC P4-1.700-750MbRAM-2 IDE da 40Gb come master su piattine diverse (quindi hda e hdc)
Ho creato quindi il RAID per arrivare a questa struttura:
/dev/md0=/boot
/dev/md1=swap
/dev/md2=/
Per chiarezza diciamo pure che al termine:
/dev/md0 = /dev/hda1 + /dev/hdc1
/dev/md1 = /dev/hda2 + /dev/hdc2
/dev/md2 = /dev/hda3 + /dev/hdc3
In fase di installazione ho caricato il modulo per il raid1
# modprobe raid1
Ho creato gli array per il RAID
# mknod /dev/md0 b 9 0
# mknod /dev/md1 b 9 1
# mknod /dev/md2 b 9 2
Ho creato le partizioni prima per hda poi per hdc
# fdisk /dev/hda
i comandi che seguono sono quelli interni a fdisk:
§ p print partition status
§ d delete partition - azzerare eventuali partizioni esistenti
§ 1
§ d
§ 2
§ d
§ 3
§ n make new partition
§ p primary
§ 1 partizione 1
§ 1 cilindro iniziale
§ +500M 500 Mbyte x la prtizione di boot
§ n make new partition
§ p primary
§ 1 partizione 1
§ 1 cilindro iniziale
§ +500M 500 Mbyte x la prtizione di boot
§ n make new partition
§ p primary
§ 2 partizione 2
§ enter 1° cilindo disponibile
§ +500M 500 Mbyte x la prtizione di swap
§ n make new partition
§ p primary
§ 3 partizione 3
§ enter 1° cilindo disponibile
§ enter fino ad allocare tutto lo spazio disco x la prtizione di / (root)
§ t partition type
§ 1 partizione 1
§ fd supporto RAID
§ t partition type
§ 2 partizione 2
§ 82 swap type
§ t partition type
§ 3 partizione 3
§ fd supporto RAID
§ w write & commit partitioning
In teoria questo comando clona il primo partizionamento sul secondo, ma a me non ha funzionato:
# sfdisk -d /dev/hda | sfdisk /dev/hdc
Così ho rifatto a mano la procedura di fdisk per hdc con gli stessi parametri !
Creato il RAID
# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/hda1 /dev/hdc1
# mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/hda2 /dev/hdc2
# mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/hda3 /dev/hdc3
Verificato funzionamento
# cat /proc/mdstat
Verificato il RAID
# mdadm --detail --scan > /etc/mdadm.conf
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=9ed58c0c:91d22fb9:2569ffb2:a58a015a
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=ad4c362f:eef77c9e:0b5241d2:986b53df
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=ceb8f299:a20c8dd9:6f0d310f:53dea57f
Formattato le partizioni
# mkreiserfs /dev/md0
# mkreiserfs /dev/md2
# mkswap /dev/md1
Attivato la swap
# swapon /dev/md1
--- Fatto installazione Gentoo
Creato in /etc il file fstab come segue:
# /etc/fstab: static file system information.
#
# noatime turns off atimes for increased performance (atimes normally aren't
# needed; notail increases performance of ReiserFS (at the expense of storage
# efficiency). It's safe to drop the noatime options if you want and to
# switch between notail / tail freely.
#
# See the manpage fstab(5) for more information.
#
# <fs> <mountpoint> <type> <opts> <dump/pass>
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
/dev/md0 /boot reiserfs noauto,noatime,notail 1 2
/dev/md1 none swap sw 0 0
/dev/md2 / reiserfs noatime,notail 0 1
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
/dev/fd0 /mnt/floppy auto noauto 0 0
# NOTE: The next line is critical for boot!
proc /proc proc defaults 0 0
# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for
# POSIX shared memory (shm_open, shm_unlink).
# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will
# use almost no memory if not populated with files)
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
Creato il kernel con
# genkernel --install all
La conferma del successo è data da questo messaggio:
* Kernel compiled successfully!
*
* Required Kernel Parameters:
* real_root=/dev/$ROOT
*
* Where $ROOT is the device node for your root partition as the
* one specified in /etc/fstab
*
* If you require Genkernel's hardware detection features; you MUST
* tell your bootloader to use the provided INITRAMFS file. Otherwise;
* substitute the root argument for the real_root argument if you are
* not planning to use the initrd...
* WARNING... WARNING... WARNING...
* Additional kernel cmdline arguments that *may* be required to boot
* properly...
* add "vga=791 splash=silent" if you use a bootsplash framebuffer
Questi sono i files creeati
/boot/kernel-genkernel-x86-2.6.15-gentoo-r1
/boot/initramfs-genkernel-x86-2.6.15-gentoo-r1
Ho aggiunto
# emerge coldplug
# rc-update add coldplug boot
# emerge hotplug
# rc-update add hotplug boot
# emerge sysklogd
# rc-update add sysklogd boot
# emerge dcron
# rc-update add dcron boot
# crontab /etc/crontab
# emerge reiserfsprogs
attivazione di Grub sull'MBR di entrambe le partizioni di boot dei dischi RAID
# emerge grub
# grub
grub>
root (hd0,0)
setup (hd0)
root (hd1,0)
setup (hd1)
quit
Creato in /boot/grub il file grub.conf come segue:
timeout 30
default 0
fallaback 1
title Gentoo2006 disco uno
kernel (hd0,0)/boot/kernel-genkernel-x86-2.6.15-gentoo-r1 root=/dev/md2
initrd (hd0,0)/boot/initramfs-genkernel-x86-2.6.15-gentoo-r1
title Gentoo2006 disco due - Fallback
kernel (hd1,0)/boot/kernel-genkernel-x86-2.6.15-gentoo-r1 root=/dev/md2
initrd (hd1,0)/boot/initramfs-genkernel-x86-2.6.15-gentoo-r1
RebootTO felice come una Pasqua (a proposito auguri a tutti) ... e VAI a inizio post
Ancora grazie a chi ha avuto la pazienza di arrivare fino a qui.
Saluti
Franco
Voghera |
|
Back to top |
|
 |
Ic3M4n Advocate


Joined: 02 Nov 2004 Posts: 3489 Location: Bergamo.
|
Posted: Fri Apr 14, 2006 8:44 pm Post subject: |
|
|
allra: prima di tutto io controllerei che il supporto al raid sia compilato built-in nel kernel, dopotutto se non lo hai dubito che tu possa fare il boot su un filesystem in raid. da quel poco che ne so di genkernel non credo che te l'abbia compilato builtin ma bensì come modulo, visto che dovrebbe essere più o meno la conf del livecd e lì è inserito come modulo.
un'altra cosa che non centra con il tuo problema ma che mi sembra importante sottolineare: cosa te ne fai dello swap in raid1? fossi in te creerei due partizioni swap normali ed assegnerei ad entrambe la stessa priorità. in questo modo è come se tu avessi un raid0 e quindi una maggiore velocità se dovessi essere costretto a swappare su disco.
PS: non mi stancherò mai di dirlo... leggere un post chilometrico senza uno stralcio di BBCode è una cosa quasi impossibile. |
|
Back to top |
|
 |
Luca89 Advocate


Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Fri Apr 14, 2006 9:17 pm Post subject: |
|
|
Se non erro con genkernel bisogna passare dei parametri particolari alla initramfs in modo da fargli caricare i moduli del raid (sarà qualcosa tipo "doraid"), oppure dai un'occhiata ai parametri di genkernel (genkernel --help) se c'è una opzione per il raid.
Ic3M4n wrote: | PS: non mi stancherò mai di dirlo... leggere un post chilometrico senza uno stralcio di BBCode è una cosa quasi impossibile. |
Quoto. _________________ Running Fast! |
|
Back to top |
|
 |
JClarkGentoo n00b

Joined: 23 Mar 2006 Posts: 27
|
Posted: Sat Apr 15, 2006 8:05 am Post subject: |
|
|
Ciao Ic3M4n
pensavo che i quote fossero fronzoli da evitare, da ora in poi ne farò buon uso.
Ti ringrazio per l'indicazione sul RAID e le swap
Ic3M4n wrote: | un'altra cosa che non centra con il tuo problema ma che mi sembra importante sottolineare: cosa te ne fai dello swap in raid1? fossi in te creerei due partizioni swap normali ed assegnerei ad entrambe la stessa priorità. in questo modo è come se tu avessi un raid0 e quindi una maggiore velocità se dovessi essere costretto a swappare su disco. |
Thanks
per Luca89
ti ringrazio per il suggerimento:
Luca89 wrote: | Se non erro con genkernel bisogna passare dei parametri particolari alla initramfs in modo da fargli caricare i moduli del raid (sarà qualcosa tipo "doraid"), oppure dai un'occhiata ai parametri di genkernel (genkernel --help) se c'è una opzione per il raid. |
ma ora che la macchina è fatta e non ho la possibilità di farla boottare regolarmente, come faccio a modificare il kernel senza rifare tutto dall'inizio ?
Ovvero, avendo a disposizione solo la live e non potendo lanciare kenkernel, dove trovo i parametri ?
A questo link ( http://www.gentoo.org/doc/it/genkernel.xml ) non ho trovato indicazioni di sorta relative al parametro che mi dici.
Anche cercando con Goooooogle con "genkernel initramfs doraid" (e simili) non ho trovato nulla ...
Thanks x la pazienza
Franco
Voghera |
|
Back to top |
|
 |
Luca89 Advocate


Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Sat Apr 15, 2006 8:40 am Post subject: |
|
|
Quote: | --dmraid: Include il supporto per DMRAID, la utility che crea mappature RAID usando il sottosistema device-mapper del kernel. DMRAID rileva, attiva, disattiva e mostra le proprietà dei set RAID software (ATARAID, per esempio) e delle partizioni DOS contenute. |
Non so se c'entri molto visto che ho poche esperienze con configurazioni raid, ma hai passato a genkernel questo parametro (indicato nella pagina che hai linkato)? Per modificare la tua installazione basta che metti il livecd, monti le partizioni e fi il chroot, poi puoi fare quello che vuoi nel tuo sistema. _________________ Running Fast! |
|
Back to top |
|
 |
Ic3M4n Advocate


Joined: 02 Nov 2004 Posts: 3489 Location: Bergamo.
|
Posted: Sat Apr 15, 2006 10:29 am Post subject: |
|
|
l'ultima volta che ho avuto problemi ho riavviato il livecd e non avendo tempo per ricordarmi come si facesse a far avviare in automatico il raid ho semplicemente dato: Code: | modprobe raid1
mknod /dev/md0 b 9 0
...
[quanti te ne servono[
mdadm --assemble /dev/md0 /dev/hda1 /dev/hdc1
mount /dev/md0 /mnt/gentoo
|
e poi vai avanti con il chroot, logicamente senza formattare ne partizionare nulla. |
|
Back to top |
|
 |
JClarkGentoo n00b

Joined: 23 Mar 2006 Posts: 27
|
Posted: Sat Apr 15, 2006 11:15 am Post subject: |
|
|
Grazzissssimissime Ic3M4n
ora sono riuscito a montare i RAID ... vado avanti e faccio zapere.
Luca89 ... mi sento un po' pirla, ma credo di aver fatto l'errore che dici tu credendo che "genkernel --install all" facesse già tutto da solo.
Franco
Voghera |
|
Back to top |
|
 |
JClarkGentoo n00b

Joined: 23 Mar 2006 Posts: 27
|
Posted: Sat Apr 15, 2006 1:44 pm Post subject: |
|
|
Allora ...
ho rifatto il kernel comprendendo nativamente il supporto raid e reiserfs, ma ho sempre il msg di errore di inizio post.
Non mi arrendo ! Vi farò sapere
Saluti a tutti |
|
Back to top |
|
 |
Kernel78 Moderator

Joined: 24 Jun 2005 Posts: 3654
|
Posted: Sat Apr 15, 2006 5:40 pm Post subject: |
|
|
Anche a me dava quell'errore dopo aver compilato il kernel con genkernel e impostato grub come riportato dal manuale di installazione (ovviamente modificando in base al mio partizionamento). Ho risolto (per modo di dire) commentando la parte relativa all'initramfs e impostando root direttamente alla partizione fisica invece che a /dev/ram0 e ho tolto real_root e tutto quanto si riferisse al ramdisk. Magari quando avrò più tempo indagherò meglio ma per adesso funziona tutto  _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
 |
|