Creare initrd con procedura manuale.

Postate qui per tutte le discussioni legate a Linux in generale.

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 Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
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
ragnetto
Linux 1.x
Linux 1.x
Messaggi: 178
Iscritto il: sab 2 feb 2008, 22:07

Creare initrd con procedura manuale.

Messaggio da ragnetto »

Vorrei creare un kernel modulare quasi al 100% quindi per avviarlo, devo usare una initrd image, giusto? Vorrei crearla manualmente (senza tool automatici). Quello che riguarda la costruzione del file system mi è chiaro, non mi è chiaro come programmare l' initrd affinchè una volta montato il vero file system riesca poi ad avviare il sitsema. Cioè, vorrei sapere cosa devo scrivere (e il suo significato) all' interno del file comunemente chiamato "linuxrc". Inoltre, indicare al bootloader il percorso del file compresso della initrd è sufficiente? Come fà poi a trovare il file del kernel all' interno di quel file system?
Grazie.

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: Creare initrd con procedura manuale.

Messaggio da targzeta »

Nella guida su come installare la slackware su di una pennina USB, c'è una sezione apposita che riguarda la creazione dell'initrd, forse ti può chiarire un pò le idee.
http://www.slacky.eu/wikislack/index.ph ... ennina_USB

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

Avatar utente
giberg
Linux 4.x
Linux 4.x
Messaggi: 1282
Iscritto il: mer 21 set 2005, 17:28
Nome Cognome: Gianni
Slackware: current64
Kernel: 3.7.1
Desktop: 4.8.5
Località: S. Biagio di Callalta (TV)

Re: Creare initrd con procedura manuale.

Messaggio da giberg »

Slackware initrd mini HOWTO
lo trovi nel file /boot/README.initrd

ragnetto
Linux 1.x
Linux 1.x
Messaggi: 178
Iscritto il: sab 2 feb 2008, 22:07

Re: Creare initrd con procedura manuale.

Messaggio da ragnetto »

Codice: Seleziona tutto

bash-3.1# pwd
/boot
bash-3.1# ls -la ini.gz
-rw-r--r-- 1 root root 2198017 2008-05-21 16:03 ini.gz
bash-3.1# tree ini
ini
|-- bin
|   |-- ash -> bin/busybox
|   |-- busybox
|   |-- mount -> busybox
|   `-- switch_root -> busybox
|-- bzImage
|-- dev
|   |-- null
|   |-- sda1
|   |-- sdb1
|   |-- sdc1
|   `-- sdd1
|-- etc
|   `-- mtab
|-- init
|-- lib
|   |-- ld-linux.so.2
|   |-- libblkid.so.1
|   |-- libc.so.6
|   `-- libuuid.so.1
`-- mnt

5 directories, 16 files
bash-3.1# cat ini/init
#!/bin/ash
mount /dev/sda6 /mnt
exec switch_root /mnt /sbin/init $@
Ho provato a bootare usando questa initrd e il kernel monolitico che uso abituamente, è andato tutto bene. Quando ho sostituito il monolitico con un modulare (stesse impostazioni) mi sono ritrovato il "kernel panic" tipico di quando non si hanno i driver per interfacciarsi con l' HDSATA (io li havevo ma come moduli no built-in). Inoltre, quali dei due kernel deve avere l' opzione "Initial RAM...(initrd)" attivata?

Rispondi