Pagina 1 di 1
Problema upgrade kernel: mounting /dev/root on /mnt failed
Inviato: sab 20 apr 2013, 20:03
da gabry
Gent.mi,
sto aggiornando il mio attuale kernel 2.6.36 del vecchio Notebook Compaq Presario 3000 al kernel 3.8.5, ma ho il problema in oggetto.
Ho semplicemente preso il mio vecchio config e da li ho ricostruito quello nuovo utilizzando il buon "make oldconfig".
Avviando il nuovo kernel ad un certo punto ho:
mounting /dev/root on /mnt failed: no such file or directory
ERROR: No sbin/init found on rootdev (or not mounted). Trouble ahead.
switch_root: bad newroot /mnt
kernel panic - not syncing: attempted to kill init! exit code=0x00000100
Non riesco a capire proprio cosa sia successo! Eppure non ho cambiato niente.
Il config di partenza è quello del kernel 2.6.36 perfettamente funzionante!!
Qualcuno sa indicarmi la via?
Vi ringrazio in anticipo.
Re: Problema upgrade kernel: mounting /dev/root on /mnt fail
Inviato: sab 20 apr 2013, 21:00
da targzeta
Non capisco come mai la dev/root la vuole montare su /mnt. Che versione di Slackware stai usando, hai fatto anche un upgrade di versione o altro?
Posta il lilo.conf
Emanuele
Re: Problema upgrade kernel: mounting /dev/root on /mnt fail
Inviato: dom 21 apr 2013, 18:54
da gabry
La mia Slack è la 12.2 (Evviva la tradizione....Voi moderni!!....
Non ho fatto alcun upgrade di versione ultimamente. Eccetto il kernel che ho adattato (ricompilato) alle mie esigenze più volte!!!
Ti posto l'estratto del mio lilo:
Codice: Seleziona tutto
# Start LILO global section
boot = /dev/hda
...OMISSISS...
# Linux bootable partition config begins
image="/boot/vmlinuz-3.8.5"
root="/dev/hda5"
label="Linux-3.8.5"
initrd=/boot/initrd-3.8.5.gz
read-only
image="/boot/vmlinuz-2.6.36.2"
root="/dev/hda5"
label="Linux-2.6.36.2"
read-only
# Linux bootable partition config ends
# Windows bootable partition config begins
other = /dev/hda1
label = Windows
table = /dev/hda
# Windows bootable partition config ends
# Linux older bootable partition config begins
image="/boot/vmlinuz-2.6.28"
root="/dev/hda5"
label="Linux-2.6.28"
read-only
# Linux older bootable partition config ends
Grazie per l'aiuto!
Re: Problema upgrade kernel: mounting /dev/root on /mnt fail
Inviato: dom 21 apr 2013, 22:29
da targzeta
È un problema noto ma non riesco a ricordarmi quando l'ho incontrato. Per caso nel /etc/fstab hai scritto /dev/root invece del vero nome del device? Ci dovrebbe essere qualcosa anche nei file /etc/rc.d/.
Guarda
qui, si dice di settare le opzioni CONFIG_INOTIFY e CONFIG_INOTIFY_USER a 'y'.
Emanuele
P.S. Guarda anche il post seguente a quello che ti ho linkato, dove linkano la patch ufficiale per mkinitrd per la Slackware 12.2
Re: Problema upgrade kernel: mounting /dev/root on /mnt fail
Inviato: lun 22 apr 2013, 21:32
da 414N
Probabilmente stai anche cozzando col passaggio del naming delle partizioni su disco da /dev/hdX a /dev/sdX.
Fossi in te userei gli UUID delle partizioni sia in lilo.conf sia in fstab.
Re: Problema upgrade kernel: mounting /dev/root on /mnt fail
Inviato: mar 23 apr 2013, 7:32
da gabry
Vi ringrazio x le risposte!appena ho tempo provo i vs. Suggerimenti e vi riporto i risultati.
Grazie ancora.
Gabry
Re: Problema upgrade kernel: mounting /dev/root on /mnt fail
Inviato: ven 26 apr 2013, 8:38
da gabry
Ieri su vostri consigli ho eseguito le seguenti operazioni:
1.installato la patch suggerita del initrd prevista per slackware 12.2
2.ricostruito da capo l'initrd ad hoc x il kernel 3.8.5.
3. Ho ricompilato da capo il kernel
4.ho cambiato su fstab il rootdev con /dev/root / così anche su lilo.
Purtroppo ho sempre il problema identico di cui sopra.
Ho circoscritto il problema attorno ad initrd ma senza successo.
Non riesco a capire chi gli dice che deve montare il /dev/root su /mnt e che sbin/init non esiste!!
Qualche altro suggerimento?
Grazie.
Re: Problema upgrade kernel: mounting /dev/root on /mnt fail
Inviato: sab 27 apr 2013, 15:16
da 414N
Il fatto che /sbin/init non venga trovato è consequenziale al fatto che la partizione di root non venga montata correttamente, percui non è un altro problema
.
Per arrivarci in fondo è meglio che ci aiuti ad aiutarti fornendoci le seguenti informazioni:
- il contenuto di /etc/fstab
- la configurazione che hai usato per creare il file initrd per il nuovo kernel
- il contenuto di /etc/lilo.conf
- la configurazione delle tua partizioni (fdisk -l o quel che preferisci)
- l'output del seguente comando:
Se li porrai anche in mezzo ai tag code potresti vincere il premio "G00d $L@cky Us3r 2013"
Re: Problema upgrade kernel: mounting /dev/root on /mnt fail
Inviato: sab 27 apr 2013, 19:42
da targzeta
Ora che ci penso, probabilmente il tentativo di mount fallito è quello che fa initrd prima di effettuare lo switch_root. L'initrd in effetti monta la root directory sotto /mnt. Quindi il problema quasi sicuramente risiede nella configurazione del kernel. Il passaggio da un 2.6 ad un 3.8 non è così banale. Molte impostazioni che riguardano i filesystem sono state spostate. Che poi, se hai un kernel tutto tuo, a che ti serve l'initrd?
Emanuele
Re: Problema upgrade kernel: mounting /dev/root on /mnt fail
Inviato: sab 27 apr 2013, 20:26
da gabry
Ok veniamo a noi:
1. Contenuto di fstab:
Codice: Seleziona tutto
dev/hda7 swap swap defaults 0 0
# /dev/hda5 / reiserfs defaults 1 1
/dev/root / reiserfs defaults,noatime 1 1
/dev/hda6 /home reiserfs defaults,nodev,nosuid 1 2
/dev/hda1 /mnt/windows ntfs-3g force,silent,noauto,user,no_def_opts,allow_other,mask=777,umask=0000,rw,locale=it_IT@euro 0 0
/dev/cdrom /media/cdrom iso9660 noauto,users,ro 0 0
/dev/sda /media/sda auto noauto,user,rw 0 0
/dev/sdb /media/sdb auto noauto,user,rw 0 0
/dev/sdb1 /media/sdb1 auto noauto,user,rw 0 0
/dev/sdc /media/sdc auto noauto,user,rw 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
none /sys sysfs defaults 0 0
/dev/sr0 /media/dvd-rom-iomega iso9660 noauto,users,ro 0 0
2. Il comando che ho usato per la creazione del initrd per kernel 3.8.5:
Codice: Seleziona tutto
mkinitrd -s /boot/initrd-tree-3.8.5 -o /boot/initrd-3.8.5 -c -r /dev/root -f reiserfs -k 3.8.5 -m reiserfs
3. Il contenuto del lilo è come sopra:
Codice: Seleziona tutto
image="/boot/vmlinuz-3.8.5"
root="/dev/root"
label="Linux-3.8.5"
initrd=/boot/initrd-3.8.5
read-only
4. output di fdisk -l:
Codice: Seleziona tutto
Disk /dev/hda: 40.0 GB, 40007761920 bytes
255 heads, 63 sectors/track, 4864 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa484a484
Device Boot Start End Blocks Id System
/dev/hda1 * 1 2247 18048996 7 HPFS/NTFS
/dev/hda2 2248 4864 21021052+ f W95 Ext'd (LBA)
/dev/hda5 2248 3459 9730013 83 Linux
/dev/hda6 3459 4797 10750976 83 Linux
/dev/hda7 4798 4864 538146 82 Linux swap
5.Output di "ls -l /dev/disk/by-uuid":
Codice: Seleziona tutto
lrwxrwxrwx 1 root root 10 Apr 27 20:01 5086DDDF7F866A09 -> ../../hda1
lrwxrwxrwx 1 root root 10 Apr 27 20:01 5bbec30e-d90c-4033-9f2b-38867306bdbb -> ../../hda5
lrwxrwxrwx 1 root root 10 Apr 27 20:01 e584c8b2-0470-4348-bfe5-fdde1222126d -> ../../hda6
lrwxrwxrwx 1 root root 10 Apr 27 20:01 e73b7f0b-6b20-4362-b6da-0e4f814621d5 -> ../../hda7
Tuttavia, essendo d'accordo con Emanuele sul fatto che potrebbe essere un problema di kernel ed in particolare del mio config, per completezza vi allego il mio config-3.8.5 generato da make oldconfig a partire dal config-2.6.36.2.
Grazie!!
Visto che ho usato code... Ho vinto qualche cosa?
Re: Problema upgrade kernel: mounting /dev/root on /mnt fail
Inviato: dom 28 apr 2013, 15:34
da 414N
Ecco il bandolo della matassa: hai specificato /dev/root come root partition ovunque, ma nei nuovi kernel quel device (in realtà un banale link simbolico) non viene più creato, ergo il tuo errore all'avvio.
Penso ti convenga procedere nel seguente modo:
- Converti il tuo fstab in modo che i vari dispositivi siano specificati tramite UUID invece che col nome della partizione: in questo modo, anche se il nuovo kernel rileverà il disco hda come sda (questo è dovuto al passaggio a libata nel kernel che ha unificato i nomi dei dischi pata e sata), il sistema monterà le partizioni giuste nei punti di mount giusti comunque:
Codice: Seleziona tutto
#dev/hda7 swap swap defaults 0 0
UUID=e73b7f0b-6b20-4362-b6da-0e4f814621d5 swap swap defaults 0 0
# /dev/hda5 / reiserfs defaults 1 1
UUID=5bbec30e-d90c-4033-9f2b-38867306bdbb / reiserfs defaults,noatime 1 1
#/dev/hda6 /home reiserfs defaults,nodev,nosuid 1 2
UUID=e584c8b2-0470-4348-bfe5-fdde1222126d /home reiserfs defaults,nodev,nosuid 1 2
#/dev/hda1 /mnt/windows ntfs-3g force,silent,noauto,user,no_def_opts,allow_other,mask=777,umask=0000,rw,locale=it_IT@euro 0 0
UUID=5086DDDF7F866A09 /mnt/windows ntfs-3g force,silent,noauto,user,no_def_opts,allow_other,mask=777,umask=0000,rw,locale=it_IT@euro 0 0
Le altre voci le commenterei per il momento. Tra l'altro, a cosa ti servono? Per il mount manuale di chiavette/dischi esterni?
Puoi provare la correttezza dei sopracitati UUID anche col tuo kernel attuale.
- Ricrea l'initrd con le stesse opzioni ma specificando /dev/sda5 come root partition oppure /dev/hda5 qualora rifiutasse la partizione precedente.
- Modifica l'entry root=/dev/root in lilo relativa al nuovo kernel con
e reinstalla lilo.
Ora l'initrd dovrebbe essere in grado di montare la partizione di root ed avviare il sistema col nuovo kernel.
Quanto ai tag code, hai vinto una Sl@cK-p@cc@ sulle spalle
Re: Problema upgrade kernel: mounting /dev/root on /mnt fail
Inviato: dom 5 mag 2013, 22:23
da gabry
Gent.mi,
oggi finalmente ho trovato un po di di tempo x provare i vostri autorevoli suggerimenti:
1. ho convertito fstab con gli uuid come suggerito
2. ho ricostruito il lilo con uuid di root
3. ho ricostruito l'initrd con il comando di cui sopra
Con i vecchi kernel compreso l'attuale tutto funzia.
RiavvianDo con il kernel nuovo invece il problema persiste avendo sempre qualcosa di simile
Codice: Seleziona tutto
/dev/sda5 not mounted on /mnt
bad newroot on /mnt
Error:sbin/init no such file on rootdev
A questo punto ho capito che è un problema di configurazione del kernel.
Ho provato a ricompilare almeno tre volte con opzioni diversi nella sezione generale e tentando di capire chi è il modulo responsabile dello switching di root nel Mount point /mnt
ho deselezionato il modulo builtin initrd del kernel ma non partiva x niente . ora che scrivo mi è venuto un dubbio. Ma initrd dopo una compilazione differente va ricostruito da capo?
Se si dovrò riprovare.
Ho pensato forse che il vero responsabile è l'initrd preimpostato del kernel.
Secondo voi? Potete aiutarmi a capire se nel mio config parte parte generale cè qualcosa che non va?
Boia chi molla!!!;-)
Re: Problema upgrade kernel: mounting /dev/root on /mnt fail
Inviato: dom 5 mag 2013, 22:30
da 414N
A mio avviso il problema è sempre l'initrd. Prova a ricrearlo senza specificare alcuna partizione di root, se possibile
Re: Problema upgrade kernel: mounting /dev/root on /mnt fail
Inviato: mer 8 mag 2013, 20:22
da ZeroUno
e fare senza initrd?
Compila reiserfs builtin e ti eviti di fare l'initrd.