Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Il nuovo Kernel 2.4.10

Link copiato negli appunti

Lo scorso 23 Settembre con questo messaggio apparso sulla mailing list ufficiale del kernel linux, Linux Torvalds annuncia l'uscita del kernel 2.4.10:


Subject: Linux-2.4.10
From: Linus Torvalds <torvalds@transmeta.com>
Date: 2001-09-23 18:54:13

Ok, I released a real 2.4.10, let the fun begin..

This is an uncomfortably large changeset, largely
because I was away in Finland twice during the
2.4.9->2.4.10 development, and partly of course
because I've tried to aggressively sync up
especially with Alan.

In addition to the VM changes that have gotten so
much attention there are architecture updates,
various major filesystem updates (jffs2 and NTFS),
ACPI updates, and tons of driver merges. And, of
course, the min()/max() changes.

Give it hell,

Linus

Facendo seguire il contenuto del changelog con le maggiori modifiche apportate nelle varie pre (15 in tutto) dal 2.4.9 fino alla 2.4.10.

Le maggiori novità introdotte in questa versione del kernel riguardano la gestione della Virtual Memory Andrea Arcangeli grandissimo passo in avanti

Le reazioni all'interno degli sviluppatori Linux sembrano essere contrastanti. Anche Alan Cox Rik van Riel

Quello che ha portato Arcangeli a riscrivere gran parte dell'algoritmo di implementazione della Virtual Memory (pubblicando dapprima la patch page aging

Il nuovo kernel infatti sembra soffrire particolarmente in determinate condizioni di estremo carico, che porta a generare errori in fase di allocazione del tipo:

__alloc_pages: 0-order allocation failed (gfp=0x1d2/0) from c0129a3e

provvedendo successivamente a "killare" alcuni processi. Ciò è dovuto a una cattiva implementazione nella funziona shrink_caches() /usr/src/linux/mm/vmscan.c cat /dev/hda > /dev/null

Come già detto il kernel ufficiale e quello di Alan Cox hanno utilizzato 2 tipi diversi di implementazione della VM, rendendo possibile un confronto tra i due, cosa che, secondo me, permetterà di poter fare dei contronti sul tipo di sviluppo seguito e sulla qualità delle due differenti gestioni.

Altre modifiche

A proposito di ReiserFS

Ed è una notizia abbastanza recente quella che annuncia la decisione di Red Hat

Senza dilungarmi ulteriormente su argomenti troppo tecnici che potrebbero essere oggetto di una trattazione futura più specifica e approfondita, ricordo che il vantaggio maggiore che si ha con l'utilizzo di un filesystem journaled

Per quel che riguarda la compilazione e l'installazione del nuovo kernel, essa non comporta grossi problemi, basta attenersi alla classiche istruzioni (per maggiori dettagli potete consultare l'articolo: Come ricompilare il Kernel Linux

1) scaricare la nuova patch immagine

lnxbox1:/usr/src# wget ftp://ftp.kernel.org/[...]/linux-2.4.10.tar.gz

Oppure a seconda se abbiamo già installato i sorgenti del kernel 2.4.9 (a tal proposito ricordo che la patch per il kernel 2.4.10 si può applicare solo sui sorgenti del 2.4.9, che se non avete dovrete provvere ad installare con lo stesso metodo):

lnxbox1:/usr/src# wget ftp://ftp.kernel.org/[...]/patch-2.4.10.bz2

(diamo per scontato di essere loggati come utente root e di essere nella directory /usr/src)

2) patchare il kernel, o installare direttamente la versione completa (linux-2.4.10.tar.gz o linux-2.4.10.tar.bz2). Esempio:

lnxbox1:/usr/src# tar xfvz linux-2.4.10.tar.gz

se non abbiamo nessuna versione dei sorgenti del kernel 2.4.9 già installata.

Disponiamo già i sorgenti decompressi in /usr/src/linux possiamo tranquillamente applicare la patch con:

lnxbox1:/usr/src# bzip2 -dc patch-2.4.10.bz2 | patch -p0

A questo punto potremo procedere alla ricompilazione vera e propria del nostro nuovo kernel. Se abbiamo già ricompilato il kernel e volessimo mantenere la configurazione precendete (prima di compilare il kernel dovremo dare un make mrproper che provvederà, tra le altre cose, a cancellare il nostro file di configurazione) potremo:

3) copiare il file /usr/src/linux/.config in una directory a nostro piacere (per esempio in /root) con:

lnxbox1:/usr/src# cp linux/.config /root

4) spostarci nella directory linux e dare come comando make mrproper:

lnxbox1:/usr/src# cd linux lnxbox1:/usr/src/linux# make mrproper

5) ricopiare il file .config originario nella directory /usr/src/linux:

lnxbox1:/usr/src/linux# cp /root/.config .

6) eseguire make oldconfig

lnxbox1:/usr/src/linux# make oldconfig

7) eseguire make menuconfig, (oppure make config o make xconfig) per ritoccare eventualmenente il nostro file di configurazione e successivamente salvare:

lnxbox1:/usr/src/linux# make menuconfig

8) eseguire make dep, make bzImage, make modules e make modules_install

lnxbox1:/usr/src/linux# make dep && make bzImage && make modules && make modules_install

9) copiare il file appena creato /usr/src/linux/arch/i386/boot/bzImage in /boot/XYZ, sostituendo XYZ con il nome dell'immagine a cui fa riferimento il file lilo.conf con more /etc/lilo.conf (in particolare fate attenzione alla riga contenente image=/boot/XYZ):

lnxbox1:/usr/src/linux# cp arch/i386/boot/bzImage /boot/XYZ

10) eseguire LILO:

lnxbox1:/usr/src/linux# lilo

Per ogni maggiore delucidazione è sempre possibile (nonchè raccomandabile, la prudenza in questi casi non è mai troppa) rileggere l'articolo:Come ricompilare il kernel linux

A presto e buona compilazione!

Ti consigliamo anche