Repository 32bit  Forum
Repository 64bit  Wiki

Installazione Kernel 2.6.17.11 tramite pacchetti precompilati: differenze tra le versioni

Da Slacky.eu.
(Introduzione:)
Riga 10: Riga 10:
L'initrd può essere anche utilizzato per installare un nuovo kernel, vediamo come.
L'initrd può essere anche utilizzato per installare un nuovo kernel, vediamo come.
NB: 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.
+
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 variare):
Per installare il nuovo kernel 2.6.xx occorre procurarsi i seguenti pacchetti (i nomi ovviamente possono variare):
Riga 20: Riga 20:
kernel-source-2.6.17.11-noarch-1.tgz (se si devono compilare moduli del kernel o si hanno esigenze particolari)
kernel-source-2.6.17.11-noarch-1.tgz (se si devono compilare moduli del kernel o si hanno esigenze particolari)
NB: Tutti questi pacchetti sono già contenuti nei cd di installazione di Slackware 11.0 (i primi 3 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).
+
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:
Nel caso non abbiate Slackware 11.0 o vogliate scaricarvi i pacchetti li potrete trovare a questi indirizzi:
Riga 27: Riga 27:
Una volta scaricati i pacchetti in una directory ed esservi posizionati dentro, occorre installarli:
Una volta scaricati i pacchetti in una directory ed esservi posizionati dentro, occorre installarli:
# installpkg kernel-generic-2.6.7-i486-3.tgz
+
# installpkg kernel-generic-2.6.17.11-i486-1.tgz
# installpkg kernel-modules-2.6.7-i486-2.tgz
+
# installpkg kernel-modules-2.6.17.11-i486-1.tgz
# installpkg mkinitrd-1.0.1-i486-1.tgz
# installpkg mkinitrd-1.0.1-i486-1.tgz
Spostiamoci nella directory /boot:
Spostiamoci nella directory /boot:
Riga 34: Riga 34:
Ora occorre creare il nostro initrd, se usate l'ext3 come filesystem e la partizione è /dev/hdb3, il comando sarà:
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
# mkinitrd -c -k 2.6.17.11 -m jbd:ext3 -f ext3 -r /dev/hdb3
Spieghiamo una attimo i parametri utilizzati:
+
Spieghiamo i parametri utilizzati:
-c cancella (se esiste) la cartella /boot/'initrd-tree preesistente;
-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);
-k specifica la versione del kernel che vogliamo installare (in questo caso è il 2.6.17.11);
Riga 43: Riga 43:
mkinitrd -c -k 2.6.17.11 -m reiserfs
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):
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
# Linux bootable partition config begins
image = /boot/vmlinuz-generic-2.6.17.11
image = /boot/vmlinuz-generic-2.6.17.11

Versione delle 23:47, 2 set 2006

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).

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 variare):

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

In più, ma solo in casi particolari o necessari, possono servire anche questi 2 pacchetti:

kernel-headers-2.6.17.11-i386-1.tgz (solo se si ha bisogno di compilare driver di modem ADSL)
kernel-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