initrd sata e reiserfs

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
pegaso
Linux 1.x
Linux 1.x
Messaggi: 169
Iscritto il: mer 1 mar 2006, 12:52

initrd sata e reiserfs

Messaggio da pegaso »

ciao ragazzi uso slackware 12.0 ed ho installato il kernel 2.6.24.3 però ho riscontrato un problema durante la creazione dell'initrd: potreste dirmi il comando corretto per creare l'initrd del kernel in questione, con reiserfs e per dischi sata. Grazie. :D

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Re: initrd sata e reiserfs

Messaggio da absinthe »

che errore ricevi? postalo qui che si capisce meglio! le istruzioni sono quelle indicate nel file /boot/mkinitrd.README quello che conta è che devi indicare il chipset della tua scheda madre, se non sappiamo quale è non possiamo aiutarti

M

pegaso
Linux 1.x
Linux 1.x
Messaggi: 169
Iscritto il: mer 1 mar 2006, 12:52

Re: initrd sata e reiserfs

Messaggio da pegaso »

L'errore è questo:

Codice: Seleziona tutto

no kernel modules found for linux-2.6.24.3
mount: mounting /dev/sda2 on /mnt filed
ERROR: no /sbin/init found on rootdev
Il chipset della mia scheda madre è: Intel i945PM Rev. 03

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: initrd sata e reiserfs

Messaggio da conraid »

Ma perché, visto che ricompili il kernel da solo, non metti tutti i "driver" che ti servono direttamente nel kernel?
Non avresti problemi di creare l'initrd.
Io quando compilo da solo faccio sempre così, è uno dei motivi per cui mi ricompilo il kernel da solo

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: initrd sata e reiserfs

Messaggio da targzeta »

conraid ha scritto:Ma perché, visto che ricompili il kernel da solo, non metti tutti i "driver" che ti servono direttamente nel kernel?
Non avresti problemi di creare l'initrd.
Io quando compilo da solo faccio sempre così, è uno dei motivi per cui mi ricompilo il kernel da solo
:) sembra il festival "da solo" (tre in tre righe). Detto questo quoto in pieno, l'initrd dovrebbe servire solo nel caso in cui il rootfs si trova su di una periferica usb o per altri casi particolari. In questi casi penso che ricompilare il kernel sia più "efficiente".

Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: initrd sata e reiserfs

Messaggio da robbybby »

Mi ricompilo il kernel (sul mio pc, e su quello di mia sorella) fin dalla 2.4.0, e non ho mai usato initrd. :D
Il piu' possibile linkato staticamente nel kernel (tanto il mio hardware non e' che cambi tutte le settimane...), e qualche modulo.
Ultima modifica di robbybby il ven 21 mar 2008, 21:07, modificato 1 volta in totale.

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: initrd sata e reiserfs

Messaggio da conraid »

spina ha scritto: :) sembra il festival "da solo" (tre in tre righe).
sono sempre "da solo" :-)

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: initrd sata e reiserfs

Messaggio da robbybby »

conraid ha scritto:
spina ha scritto: :) sembra il festival "da solo" (tre in tre righe).
sono sempre "da solo" :-)
Lo diceva anche Nikka Costa :D (anche se non so se "Da sola" sia proprio la traduzione piu' appropriata del titolo della canzone che mi ha rotto i timpani in gioventu')

Avatar utente
nuitari
Linux 3.x
Linux 3.x
Messaggi: 777
Iscritto il: dom 14 ott 2007, 12:51
Slackware: 12.0
Località: San Colombano al Lambro
Contatta:

Re: initrd sata e reiserfs

Messaggio da nuitari »

guardate che "compilato da solo" ed "initrd" sono due cose diverse, molto diverse.

Initrd, il cui supporto è presente nel kernel (nella serie 2.6 si chiama initramfs) serve per mettere a disposizione del kernel file e procedure d'inizializzazione necessarie in fase di pre-boot, prima che init abbia montato il filesystem root.

Questo può includere è vero il caricamento di moduli, come il caso classico dei moduli relativi al filesystem, operazione che è bypassabile compilando quei moduli staticamente, ma assolutamente non solo.

Un esempio classico è l'inizializzazione dei volumi LVM nel caso in cui la root sia un LVM a sua volta. Ci sono poi i driver userspace utilizzati da connector, come il recente aggiunto v86d per il supporto a VBE3, oppure fuse per il supporto a filesystem alternativi, etc etc.

..
....
.............
Non dimentichiamo la visualizzazione di uno splash grafico!!!! (non ho resistito :P . )

Per cui il discorso "compila statico e non ti serve l'initrd" mi sembra sia un po'... come dire... sbagliato, o quantomeno semplicistico. initramfs (formerly initrd) è una delle caratteristiche del kernel linux, come tale ha le sue potenzialità e se torvalds e soci hanno pensato di metterlo dentro, io CREDO che possa essere saggio non sottovalutarlo ;)

Comunque, rispondendo al post, il comando per creare un initrd è "mkinitrd". L'initrd altro non è che un file compresso con all'interno uno pseudo-filesystem che viene caricato dal kernel subito dopo il bootstrap.
Su slackware, questo *file compresso* (da ora *immagine*) di default è collocato in /boot e si chiama, molto significativamente, initrd.gz
Il file viene costruito comprimendo una directory, di default /boot/initrd-tree, il cui contenuto diventerà lo pseudo-filesystem di cui sopra.

Puoi chiamare mkinitrd più volte con parametri diversi, ogni volta che lo chiami l'initrd-tree viene modificato per rispecchiare le nuove caratteristiche e viene creata la nuova immagine.
Se usi il comando mkinitrd da solo, il file immagine verrà ricreato con le modifiche apportate all'initrd-tree senza che l'initrd-tree venga modificato dal comando.

I parametri fondamentali sono:
  • -c Azzera il vecchio initrd-tree e riparte con uno nuovo
  • -f Specifica il filesystem usato da root (il nome riconosciuto da mount, quindi ext3, reiserfs, etc)
  • -r Specifica la partizione di root (/dev/tuapartizione)
Quindi, ad esempio, per creare un nuovo initrd per un sistema che usa come filesystem ext3 ed ha come partizione root /dev/hda1

Codice: Seleziona tutto

mkinitrd -c -f ext3 -r /dev/hda1
A questi parametri puoi aggiungere degli switch come:
  • -L Abilita il supporto ad LVM. Purtroppo in questa versione di mkinitrd non esiste uno switch analogo per RAID, ma ho letto che sarà incluso da PAT nella nuova versione (al momento chi come me si è fatto un raid software con il kernel, deve modificarsi l'initrd-tree a manina).
  • -C Abilita il supporto a cryptsetup per la partizione di root. Richiede che sia specificato anche -r (vedi sopra)
Quindi, ad esempio, per aggiungere il supporto ad LVM ad un initrd esistente, basta scrivere:

Codice: Seleziona tutto

mkinitrd -L
Se non ti vanno bene i nomi che mkinitrd usa di default o se vuoi gestire più initrd-tree contemporaneamente (ad esempio uno per ogni kernel che usi, se ne usi più d'uno), puoi usare i parametri:
  • -s Permette di specificare un source-tree alternativo a /boot/initrd-tree
  • -o Permette di specificare un immagine alternativa a /boot/initrd.gz
Quindi ad esempio per creare un immagine specifica per il kernel 2.6.21.5-smp, basta scrivere:

Codice: Seleziona tutto

mkinitrd -c -s /boot/initrd-tree-2.6.21.5-smp -o /boot/initrd.gz-2.6.21.5-smp
unico neo: se specifichi nomi diversi secondo questo schema, dovrai SEMPRE specificarli entrambi ogni volta che vuoi manipolare quell'immagine con mkinitrd (secondo me è un bug che PAT risolverà).

Infine, arriviamo al discorso moduli.
Se dentro la tua initrd vuoi inserire dei moduli del kernel che devono essere caricati insieme all'initrd, ad esempio i moduli necessari al filesystem od al chipset, puoi usare i seguenti parametri:
  • -k La versione del kernel da usare
  • -m L'elenco dei moduli da caricare, separati da virgola
Quindi, rimanendo sull'esempio dell'initrd 2.6.21.5-smp, supponendo di volerci caricare dentro reiserfs.ko per il supporto a reiserfs, scriveremo:

Codice: Seleziona tutto

mkinitrd -s /boot/initrd-tree-2.6.21.5-smp -o /boot/initrd.gz-2.6.21.5-smp -k 2.6.21.5 -m reiserfs
come avrai notato ho omesso il parametro -c perchè l'avevamo creato precedentemente. Per esser sicuro della numerazione del kernel, dai un occhiata alla directory /lib/modules.

Ora dovresti conoscere i parametri e l'utilizzo di mkinitrd sufficientemente per usarlo da solo :-)

Un ultima nota: dopo aver creato/aggiornato un immagine initrd, devi aggiornare anche lilo. E' sufficiente scrivere "lilo" senza parametri, come credo saprai.
Ovviamente prima devi aver modificato /etc/lilo.conf specificando l'initrd da usare per ogni voce del menù. Ad esempio:

Codice: Seleziona tutto

        # Linux bootable partition config begins
        image = /boot/vmlinuz-generic-2.6.21.5-smp
          initrd = /boot/initrd.gz-2.6.21.5-smp
          root = /dev/hda2
          label = Linux26215
          read-only
        # Linux bootable partition config ends
spero d'esserti stato d'aiuto :-)

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: initrd sata e reiserfs

Messaggio da conraid »

nuitari ha scritto:guardate che "compilato da solo" ed "initrd" sono due cose diverse, molto diverse.
...
Per cui il discorso "compila statico e non ti serve l'initrd" mi sembra sia un po'... come dire... sbagliato, o quantomeno semplicistico...
Perfetto, mettilo anche nel wiki, spesso si sentono richieste in merito e mancava una spiegazione così.

Ma qui si parlava solamente del supporto a reiserfs e chipset.
E, per "queste cose", se ricompilo un kernel, trovo più comodo mettere i driver nel kernel staticamente. Tutto qui :-)

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: initrd sata e reiserfs

Messaggio da targzeta »

nuitari ha scritto:...initramfs (formerly initrd) è una delle caratteristiche del kernel linux, come tale ha le sue potenzialità e se torvalds e soci hanno pensato di metterlo dentro, io CREDO che possa essere saggio non sottovalutarlo ;)...
E chi lo sottovaluta, anzi, ho citato prima un esempio in cui senza initrd non si potrebbe usare linux. Altri esempi ne hai fatto tu, ma anche altri ancora se ne possono trovare, ad esempio dare la possibilità ad un modulo, necessario all'avvio, di caricarsi un firmware, etc...etc...etc...

Ma, quotando conraid non solo per i complimenti, ci sono alcuni casi in cui l'initrd non servirebbe, uno di questi casi credo sia proprio quello di cui parla questo thread. Tu credi davvero che torvalds e soci abbiano inserito nel kernel l'initramfs per caricarsi il modulo che gestisce il filesystem della loro root directory?

ancora complimenti per la spiegazione,
Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
nuitari
Linux 3.x
Linux 3.x
Messaggi: 777
Iscritto il: dom 14 ott 2007, 12:51
Slackware: 12.0
Località: San Colombano al Lambro
Contatta:

Re: initrd sata e reiserfs

Messaggio da nuitari »

Ehe ok ragazzi, ho frainteso le vostre intenzioni, scusatemi ^_^ Son d'accordo che usarlo solo per caricare i moduli del FS non è certo il miglior utilizzo che se ne possa fare.

Invito solo a considerare che il kernel di default di slackware ha alcuni driver indispensabili all'avvio (come reiserfs.ko se usate reiser per la root) compilati come moduli, e non tutti amano/sanno/vigliono ricompilarsi il kernel, perfino fra gli utenti slackware. L'initrd in questo caso toglie le castagne dal fuoco, senza comunque *snaturare* nulla.

Grazie comunque per i complimenti, ora lo metto a wiki, con qualche arricchimento qui e la. Scusate ancora =)

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: initrd sata e reiserfs

Messaggio da conraid »

nuitari ha scritto:Scusate ancora =)
Non esagerare ora a chiedere scusa ;-)

Offtopic: a proposito, come va il notebook?
appena ti trovo su msn ti chiedo un po' di cose :-)

Avatar utente
nuitari
Linux 3.x
Linux 3.x
Messaggi: 777
Iscritto il: dom 14 ott 2007, 12:51
Slackware: 12.0
Località: San Colombano al Lambro
Contatta:

Re: initrd sata e reiserfs

Messaggio da nuitari »

Offtopic: il laptop va da dio . sono troppo contento

Rispondi