Repository 32bit  Forum
Repository 64bit  Wiki

Installazione Kernel 2.6.17.11 tramite pacchetti precompilati: differenze tra le versioni

Da Slacky.eu.
 

Versione attuale delle 06:37, 7 set 2006

[modifica] Introduzione:

Questo How-to è stato scritto basandosi sul Slackware mini initrd how-to di Patrick Volkerding, il creatore di Slackware. Non mi voglio quindi prendere alcun merito altrui, mi sembra una cosa interessante e anche relativamente facile per i novizi e quindi ho deciso di tradurre ed ampliare il suddetto mini how-to.
L'initrd (dall'inglese initial ramdisk, ovvero disco RAM iniziale) in parole semplici è un filesystem speciale di dimensioni contenute che viene caricato nella memoria RAM e montato all'avvio, in modo che successivamente il filesystem root (quello dove son presenti i nostri dati) possa essere caricato correttamente. L' initrd viene utilizzato solitamente dal kernel per caricare i moduli e/o i driver necessari al corretto montaggio del filesystem principale (ext3, xfs, reiserfs... man initrd per maggiori e più dettagliate info).

[modifica] Intallazione nuovo Kernel 2.6.xx

L'initrd può essere anche utilizzato per installare un nuovo kernel, vediamo come.
Patrick Volkerding (creatore ed mantainer di Slackware) nell'ultima versione di Slackware, la 11.0, ha inserito dei pacchetti .tgz precompilati che permettono di installare facilmente il nuovo kernel 2.6.xx, mediante la creazione di un initrd. Per installare il nuovo kernel 2.6.xx occorre procurarsi i seguenti pacchetti (i nomi ovviamente possono ernel-source-2.6.17.11-noarch-1.tgz (se si devono compilare moduli del kernel o si hanno esigenze particolari) Tutti questi pacchetti sono già contenuti nei cd di installazione di Slackware 11.0 (i primi 2 pacchetti sono nella directory /extra/linux-2.6.17.11/ , mentre l'ultimo dovrebbe già essere stato installato nella vostra Slackware al momento dell'installazione, in caso contrario, è presente nei cd della distro). Nel caso non abbiate Slackware 11.0 o vogliate scaricarvi i pacchetti li potrete trovare a questi indirizzi:

http://slackware.osuosl.org/slackware-current/extra/linux-2.6.17.11/
http://slackware.osuosl.org/slackware-current/slackware/a/

Una volta scaricati i pacchetti in una directory ed esservi posizionati dentro, occorre installarli:

# installpkg kernel-generic-2.6.17.11-i486-1.tgz
# installpkg kernel-modules-2.6.17.11-i486-1.tgz
# installpkg mkinitrd-1.0.1-i486-1.tgz

Spostiamoci nella directory /boot:

# cd /boot/

Ora occorre creare il nostro initrd, se usate l'ext3 come filesystem e la partizione è /dev/hdb3, il comando sarà:

# mkinitrd -c -k 2.6.17.11 -m jbd:ext3 -f ext3 -r /dev/hdb3

Spieghiamo i parametri utilizzati:

-c  cancella (se esiste) la cartella /boot/'initrd-tree preesistente;
-k  specifica la versione del kernel che vogliamo installare (in questo caso è il 2.6.17.11);
-m specifica i moduli da caricare nel kernel per il montaggio del filesystem principale (questo dipende dal tipo di filesystem utilizzato); se i moduli necessari sono più di uno devono essere separati dal carattere ":"
-f il filesystem
-r la partizione usata (root_device)

Se usate ReiserFS come filesystem occorre dare invece il seguente comando:

mkinitrd -c -k 2.6.17.11 -m reiserfs

Il comando mkinitrd creerà la directory /boot/initrd-tree e il file /boot/initrd.gz (che corrisponde all'initrd, cioè al disco RAM iniziale). Ora occorre modificare il file /etc/lilo.conf (file di configurazione di LILO) da root, con un editor qualsiasi, ed aggiungere le seguenti linee (le parole racchiuse tra i segni "#" sono dei commenti per capire meglio, quindi non vanno digitati):

# Linux bootable partition config begins
image = /boot/vmlinuz-generic-2.6.17.11
 initrd = /boot/initrd.gz
 root = /dev/hdb3 # qui va specificata la posizione della partizione contenente Slackware #
 label = Lnx261711 # può esser modificata a piacere, ma la parola non deve contenere spazi #
 read-only
# Linux bootable partition config ends

Se non sapete cosa specificare nel parametro "root = /dev/ " date il comando (con i privilegi di root) fdisk -l per sapere dovè situata la vostra partizione Linux (in questo esempio è hdb3, ma può variare, dipende dal numero di partizioni del vostro disco). Il comado mkinitrd sovrascrive il collegamento simbolico /boot/vmlinuz (riferito al kernel preesistente, di solito il 2.4.33.2) collegandolo al nuovo kernel appena installato, quindi occorre modificare (sempre in /etc/lilo.conf) il parametro:

image = /boot/vmlinuz 

riferito al kernel preesistente, facendolo riferire (invece che al collegamento ormai sovrascritto) direttamente all'immagine del kernel, ad esempio:

image = /boot/vmlinuz-ide-2.4.33.2  # qua va il nome esatto della vostra immagine del kernel presente in /boot #

Poi occorre sovrascrivere le nuove impostazioni di LILO digitando:

# lilo -v

Se non siete sicuri, potete dare prima il comando lilo -t che effettuerà un test senza alterare nulla per vedere le modifiche che avverranno invece con lilo -v). Ora, ad ogni avvio, al prompt di LILO potrete scegliere quale kernel utilizzare, ricordandovi in seguito di installare (se vi servono) i driver ALSA. Il kernel che abbiamo installato è quello generico, compatibile con la maggior parte dei pc in circolazione; se volete crearne uno vostro personalizzato dovrete scaricarvi i sorgenti del kernel (o prelevarli dai cd della distro) e procedere alla compilazione e successiva creazione del kernel.

Autore: StRikE_AnyWHerE

Strumenti personali
Namespace

Varianti