Pagina 1 di 1

Creare initrd con procedura manuale.

Inviato: sab 17 mag 2008, 11:42
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.

Re: Creare initrd con procedura manuale.

Inviato: sab 17 mag 2008, 11:46
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

Re: Creare initrd con procedura manuale.

Inviato: sab 17 mag 2008, 12:01
da giberg
Slackware initrd mini HOWTO
lo trovi nel file /boot/README.initrd

Re: Creare initrd con procedura manuale.

Inviato: mer 28 mag 2008, 20:46
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?