Sorgenti in formato RPM
Nel caso in cui i sorgenti siano in formato RPM ovvero del tipo 'kernel-x.x.x.i386.rpm' digitare il seguente comando:
# rpm -ivh kernel-x.x.x.i386.rpmdove x.x.x indica la versione del kernel (es. kernel-2.0.36.i386.rpm si riferisce al kernel 2.0.36).
# cp kernel-x.x.x.tar.gz /usr/srcsuccessivamente occorre creare una nuova directory che deve ospitare i sorgenti del nuovo kernel e modificare il link linux (NB x.x.x è la versione del kernel che si vuole installare) in modo che punti alla directory creata. Digitare quindi:
# cd /usr/src
# mkdir linux-x.x.x (se la directory esiste già dare un nome diverso, meglio se simile)
# ln -sfn linux-x.x.x linux
# tar -xvzf kernel-x.x.x.tar.gz
# cd /usr/src/linuxEntrati nel menù si può configurare il kernel a seconda delle proprie esigenze.
# make menuconfig (oppure: make xconfig nel caso in cui si sia in ambiente X)
# make dep; make cleanUna volta terminato digitare:
# make zImagese alla fine si riceve un messaggio del tipo:
System is too big. Try using bzImage or modulesdigitare allora:
make[1]: *** [zImage] Error 1
# make bzImagequesto creerà una versione compressa del kernel.
# make modulesIl kernel e' ora compilato. Si tratta a questo punto di installarlo. Anche qui si possono prendere due strade, o farlo partire con il LILO installato sull'HD oppure avviarlo con un floppy. Esamineremo più avanti entrambe le procedure.
# cd /lib/modulesDovrebbero apparire una o più directory dei moduli precedentemente installati. Rinominare la directory della versione precedente del kernel (ovvero quella con cui stiamo compilando) con un nome che si preferisce (ad es. x.x.x-working) con il comando 'mv':
# ls
# mv x.x.x. x.x.x-working (es. mv 2.0.36 2.0.36-working)Digitare quindi:
# cd /usr/src/linux
# make modules_install
# cd /usr/src/linux/arch/i386/bootIl nuovo kernel è così installato, ci rimane solo di direi a Linux di usarlo.
# cp zImage /boot
oppure
# cp bzImage /boot
[a seconda se abbiamo fatto 'make zImage' o 'make bzImage in precedenza]
# cd /boot
# mv zImage vmlinuz-x.x.x-<nome>
oppure
# mv bzImage vmlinuz-x.x.x-<nome>
[a seconda se abbiamo fatto 'make zImage' o 'make bzImage in precedenza]
dove x.x.x è la versione del nuovo kernel e <nome> è una parola che serve a distinguere il nuovo kernel dal o dai precedenti ed è del tutto facoltativo, serve solo a definirlo in modo univoco.
# cd /etc(se non si vuole utilizzare l'emac, si può utilizzare un editor a noi più familiare oppure usare il Midnight Commander [comando mc])
# emacs lilo.conf
.....Terminato di editare il file digitare:
image=/boot/vmlinuz-x.x.x-<nome> (il nome dato in precedenza)
label=prova (o quello che si ritiene dare al boot)
root=/dev/hda3 (hda3 o equivalenti è la partizione dove è presentel Linux)
read-only
# liloA questo punto riavviare il computer, digitare quindi:
# rebootQuando apparirà la scritta LILO digitare il nome scritto nella label nel file lilo.conf (ad es. 'prova' come sopra).
# fdformat /dev/fd0H1440 (Per il drive A:)A questo punto riavviare il computer, digitare quindi:
# cd /boot
# dd if=vmlinuz-x.x.x-<nome> of=/dev/fd0
# reboot
# rm /boot/vmlinuz-x.x.x
# rm -f /lib/modules/x.x.x