[RISOLTO] initrd non monta /

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
shoshin
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: ven 27 nov 2009, 23:12
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10
Località: Roma

[RISOLTO] initrd non monta /

Messaggio da shoshin »

Buonasera,

stò compilando sulla mia Slackware 13.0 il mio primo kernel ( 2.6.32.8 ).
Seguite le operazioni di compilazione del kernel e di creazione dell' initrd mostratemi nel wiki di questo sito, ho un problema in fase di mount del root filesystem.
L' output mostratomi nell' avvio è questo:
- avvio del boot loader Grub;
- classici messaggi di caricamento del kernel che mi rileva l'hardware presente nel mio pc;
- caricamento corretto della initrd;
- caricamento corretto dei moduli che le ho passato in fase di creazione, solo inerenti al filesystem ( ext4 mbcache e jdb2 );
a questo punto mi si pianta:

mount: mounting /dev/hda4 on /mnt: No such device or address
ERROR: No /sbin/init fount on rootdev

il sistema mi riporta poi la command line, per darmi la possibilità di farmi risolvere la cosa autonomamente, e lì noto che il filesystem dell' initrd è montato ( penso correttamente ) e se eseguo io il comando di mount mi dà comunque il solito errore:

mount -o ro -t ext4 /dev/hda4 /mnt
mount: mounting /dev/hda4 on /mnt: No such device or address

dove ho verificato che /dev/hda4 esiste ed il modulo ext4 me lo ha caricato correttamente.

dove è l'errore? :-k
c'è qualcuno che mi sappia spiegare bene i passi che comporta l' avvio del kernel con la initrd? fino ad ora uno kernel 2.6.29.6-smp ( huge ).

P.S. per scrupolo inserisco anche i comandi del Grub

menuentry "GNU/Linux, with Linux 2.6.32.8" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set faf4dcb3-f626-4b6e-a94a-659851b925a7
linux /vmlinuz-2.6.32.8 root=/dev/hda4 ro
initrd /initrd-2.6.32.8
}

Grazie in anticipo
Ultima modifica di shoshin il mer 10 mar 2010, 20:58, modificato 2 volte in totale.

Avatar utente
michelino
Staff
Staff
Messaggi: 871
Iscritto il: gio 21 dic 2006, 11:59
Nome Cognome: Michelino Chionchio
Slackware: -current
Kernel: 2.6.29.6
Desktop: kde (current)
Località: Foggia

Re: initrd non monta /

Messaggio da michelino »


Avatar utente
daniele50
Linux 3.x
Linux 3.x
Messaggi: 964
Iscritto il: mar 10 apr 2007, 13:58
Nome Cognome: Daniele Cinquanta
Slackware: Slackware64 14.1
Kernel: 3.10.17
Desktop: Xfce 4.10
Località: San Zenone al Lambro (MI)
Contatta:

Re: initrd non monta /

Messaggio da daniele50 »

Come fa notare michelino, dal kernel 2.6.3x i dispositivi hdx diventano sdx, in pratica non c'è più differenza tra ide e sata (ovviamente la velocità non è uguale :D ).
Ho avuto lo stesso problema:
avviando da cd (quindi con kernel precedente) mi vedeva dli hard-disk come hda e quindi se provavo a configurare lilo con sda non mi trovava il dispositivo.
La soluzione è stata quella di avviare la macchina dal suo sistema operativo (senza cd) e dal prompt di lilo digitare

Linux root=/dev/sda1

Una volta avviato il sistema ho apportato le modifiche a lilo.conf.

Tu usi grub e io non so come funziona, ma il proncipio dovrebbe essere lo stesso:
hda1 --> sda1
hda2 --> sda2
hdb1 --> sda1
...

Ciao

Avatar utente
michelino
Staff
Staff
Messaggi: 871
Iscritto il: gio 21 dic 2006, 11:59
Nome Cognome: Michelino Chionchio
Slackware: -current
Kernel: 2.6.29.6
Desktop: kde (current)
Località: Foggia

Re: initrd non monta /

Messaggio da michelino »

In effetti forse la mia risposta era un po' troppo sintetica :D

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: initrd non monta /

Messaggio da Ansa89 »

Se ho ben capito, devi editare la riga del menu di grub

Codice: Seleziona tutto

kernel vmlinuz_SOMETHING_  parametro1 parametroN root=/dev/hda_numero
Facendola diventare

Codice: Seleziona tutto

kernel vmlinuz_SOMETHING_  parametro1 parametroN root=/dev/sda_numero

Avatar utente
shoshin
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: ven 27 nov 2009, 23:12
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10
Località: Roma

Re: initrd non monta /

Messaggio da shoshin »

Buongiorno!

innanzitutto grazie dei consigli che mi avete dato, rispondo solo ora per via di impegni lavorativi che mi hanno tenuto occupato in questi giorni.

Faccio un sunto di quanto mi avere spiegato così vediamo cos'è che non và ( ... e già, avete capito bene .... :? )

- Compilo il mio kernel e i miei moduli;
- Creo la initrd col seguente comando:
mkinitrd -c -k 2.6.32.8 -m ext4 -f ext4 -r /dev/sda4 -o /boot/initrd-2.6.32.8

- Modifico la linea del grub.cfg nel seguente modo:
linux vmlinuz-2.6.32.8 root=/dev/sda4 ro
initrd initrd-2.6.32.8

Così facendo riavvio, e indovinate un pò, mi ridà lo stesso errore... mount:mounting /dev/sda4 on /mnt No such device or address

stavolta però ho notato quello che probabilmente è il problema: all' interno di /boot/initrd-tree/dev io ho i seguenti device

console hda hda1 hda2 hda3 hda4 null ram systty tty1 tty2 tty3 tty4

non c'è alcun device sd* !!!!!!

Soluzioni???

Vic Steele
Linux 3.x
Linux 3.x
Messaggi: 534
Iscritto il: dom 27 apr 2008, 13:46
Nome Cognome: Luigi Caiazza
Slackware: current x86_64
Kernel: 3.0.0
Desktop: Fluxbox / KDE 4.7.0
Distribuzione: Fedora 15
Località: Potenza
Contatta:

Re: initrd non monta /

Messaggio da Vic Steele »

Ma scusate un attimo...
Il come vengano chiamati i dispositivi non è una questione della versione del kernel, ma della configurazione dello stesso.
Se partiamo dalla configurazione dei kernel current (dove è stato disabilitato il supporto agli IDE), o lo disabilitiamo noi stessi in qualunque altro config, capita quello che avete scritto.
Io sono arrivato a compilare fino al 2.6.32.8 con Slackware 13, il supporto IDE era abilitato, e la svolta al bootloader e al fstab (e alla compilazione del kernel 2.6.32.9) l'ho data solo ieri quando dopo l'aggiornamento al kernel ufficiale ho fatto i miei settaggi.

Passando al problema, perché hai chiesto a lilo di caricare il modulo di ext2 se hai detto che il filesystem in questione è ext4? Ti consiglierei comunque di eliminare completamente l'istruzione e ricompilare il filesystem di rootdev in maniera statica (*) e non modulare (M), agli altri lascia pure il modulo.

Avatar utente
shoshin
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: ven 27 nov 2009, 23:12
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10
Località: Roma

Re: initrd non monta /

Messaggio da shoshin »

Ciao Vic,

> perché hai chiesto a lilo di caricare il modulo di ext2

ho Grub2 come boot loader e non Lilo ed il modulo di supporto per l' ext4 ancora non l'ho aggiunto ( una cosa per volta, per adesso, inserendo il modulo per l' ext2 e avviando il kernel 2.6.29.6-smp funziona tutto )

>Ti consiglierei comunque di eliminare completamente l'istruzione e ricompilare il filesystem di rootdev in maniera statica (*) e non modulare (M), agli altri lascia pure il modulo

ho notato che se i moduli per l' ext4 li installo nel kernel, invece di renderli esterni, non mi crea la directory /lib/modules/2.6.32.8/kernel/fs/ext4 e quindi nel creare la initrd, non mi aggiunge i moduli necessari ( -m ext4 , và a cercare il modulo del kernel specificato ).

Vic Steele
Linux 3.x
Linux 3.x
Messaggi: 534
Iscritto il: dom 27 apr 2008, 13:46
Nome Cognome: Luigi Caiazza
Slackware: current x86_64
Kernel: 3.0.0
Desktop: Fluxbox / KDE 4.7.0
Distribuzione: Fedora 15
Località: Potenza
Contatta:

Re: initrd non monta /

Messaggio da Vic Steele »

Ma se l'entità è statica, anzichè modulare, non ne hai bisogno a priori nell'initrd :) (ciò non significa che non ti serva comunque, per le altre cose). Il fatto che non ti crei il modulo è normale, se gli abbiamo appena detto che non lo deve fare.

Il tuo 2.6.29.6-smp non dovrebbe fare testo, visto che hai detto che è un huge (i moduli non esistono proprio, questo significa che non è l'istruzione che funziona, ma viene proprio ignorata). Prova comunque a sostituire ext2 con ext4 in grub, è possibile che cambi qualcosa, ma ti consiglierei a priori di fare una compilazione statica solamente del filesystem in questione.

Avatar utente
shoshin
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: ven 27 nov 2009, 23:12
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10
Località: Roma

Re: initrd non monta /

Messaggio da shoshin »

Il fatto è che, poichè provo a compilare il kernel per capire come funziona, preferisco farlo creando una initrd, alleggerendo così il kernel stesso, e potendo sbattere la testa sui processi che avvengono ( e la stò sbattendo.... :lol: ).

Quindi ti ringrazio dei consigli che mi dai e che spero che continuerai a darmi, ma è mia intenzione continuare ad usare la initrd e sfognarmi da stà situazione! 8)

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: initrd non monta /

Messaggio da Ansa89 »

Il modo migliore per rendere leggero un kernel è compilarlo con solo in necessario per l'hardware su cui gira.
Piccola nota personale: è meglio compilare staticamente tutto il necessario per effettuare il boot (niente initrd è bello).

Inoltre ricorda che su pc datati deve essere "size_kernel + size_initrd < 15 MB".

Ultima postilla: (sempre imho) grub2 è male.

Avatar utente
shoshin
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: ven 27 nov 2009, 23:12
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10
Località: Roma

[RISOLTO] initrd non monta /

Messaggio da shoshin »

Finalmente l'ostacolo l'ho superato!!

sono andato a vedere i messaggi riportati in fase di boot quando mi si piantava e ho notato una riga che diceva che non riusciva a riconoscermi l'HD!!

infatti ho un vecchio PATA con ( credo che sia il controller ) JMicron, per il quale mi dimenticavo proprio di aggiungere il relativo modulo! #-o

Non che la mia avventura sia finita qui: ora mi dà errore nel montare la partizione di / in quanto tenta di montarla in rw, ma svariati messaggi mi dicono che è male.

comunque vi ringrazio a tutti per il supporto che mi avete dato!

Buona Fortuna! :thumbright:

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: [RISOLTO] initrd non monta /

Messaggio da Ansa89 »

Per montarla in read-only, basta aggiungere "ro" alla linea con la direttiva "kernel" di grub2.

Avatar utente
shoshin
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: ven 27 nov 2009, 23:12
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10
Località: Roma

Re: [RISOLTO] initrd non monta /

Messaggio da shoshin »

Ciao Ansa89,

il parametro ro già lo avevo passato, ho scoperto che poi quest' ultimo errore era dovuto al fatto che non avevo installato il seguente modulo:

CONFIG_LBDAF
Enable block devices or files of size 2TB and larger.
This option is required to support the full capacity of large (2TB+) block devices, including RAID, disk, Network Block Device, Logical Volume Manager (LVM) and loopback. This option also enables support for single files larger than 2TB. The ext4 filesystem requires that this feature be enabled in order to support filesystems that have the huge_file feature enabled. Otherwise, it will refuse to mount in the read-write mode any filesystems that use the huge_file feature, which is enabled by default by mke2fs.ext4.

Installato il modulo il sistema è partito tranquillamente!

Ancora grazie a Tutti voi!

Rispondi