Última actualització: juliol de 2010
El millor es llegir el README que porten les fonts.
Per compilar:
make (config, menuconfig o xconfig)
make bzImage
make modules
make modules_install
Ara hem de copiar el kernel generat a on volguem (el trobarem a arch/i386/boot i
modificar lilo per arrencar aquest kernel
---------------------------
Apunts per Fedora per compilar el kernel:
-a cd /usr/src hi ha un directori linux2.3.x.x... que son les fonts del kernel. Les podem descarregar de www.kernel.org. Fedora te a més, un directori redhat amb eines diverses.
El fitxer Makefile es propi dels programes en C que te comandes i macros
per compilar un programa. En el nostre cas veiem que el nou kernel tindrà
la denominació de
EXTRAVERSION = -1.358custom.
Podem fer make menuconfig, make config i make xconfig.
Les opcions que trobem activades son les que tenim currens en el nostre equip, ja que es la última configuració gravada en el fitxer .config.
Podem activar com a mòdul, per no fer el nucli més gran. Quan afegim fixe,
de c passem a .o i després compilem; si l'activem com a mòdul, només fa .o
i queda així.
Quan acabem guarda l'última configuració:
# using defaults found in /boot/config-2.6.5-1.358
#
*** End of Linux kernel configuration.
*** Execute 'make' to build the kernel or try 'make help'.
La segona vegada ens diu: # using defaults found in .config, que es el
fitxer que te l'última configuració.
Ara fem make dep, en el nostre cas ens diu que no es necessari, ja que ja
es va executar quan es va compilar el kernel original.
Ara:
[root@pc-003 linux-2.6.5-1.358]# make bzImage
El resultat serà un fitxer bzImage, que queda guardat a arch/i386/boot dintre del directori de les fonts. Aquest fitxer el copiarem a /boot.
make modules, compila els mòduls.
-Un cop compilats els mòduls van al directori /lib/modules/. Aqui queden
els mòduls del kernel. El directori té el nom de la versió del kernel. Evidentment poden haver-hi tantes versions com kernels tenim per arrencar.
make modules_install
-Finalment hem de copiar el kernel a /boot. Es troba dintre de les fonts a
/arch/i386/boot. Fem:
cp bzImage /boot/vmlinuz-2.6.5-1.358custom
-També System.map, que es troba a /usr/src/linux , per tant fem:
cp System.map /boot/System.map-2...
Hi han distribucions que els fa falta una imatge initrd per arrencar. Per
crearla hem d'executar
mkinitrd -v /boot/initrd-2.6.5-1.358custom.img 2.6.5-1.358custom.
Indicant l'últim paràmetre va a cercar al directori indicat de les fonts corresponents al kernel amb aquest nom i el crea. També l'hem de copiar a /boot.
Finalment hem de configurar el gestor d'arranc per afegir el nou menú de kernel.
Per acabar configurem grub. vi /etc/grub.conf:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,2)
# kernel /boot/vmlinuz-version ro root=/dev/hda3
# initrd /boot/initrd-version.img
#boot=/dev/hda
default=1
timeout=10
splashimage=(hd0,2)/boot/grub/splash.xpm.gz
title Fedora Core (2.6.5-1.358)
root (hd0,2)
kernel /boot/vmlinuz-2.6.5-1.358 ro root=LABEL=/ rhgb quiet
initrd /boot/initrd-2.6.5-1.358.img
title Windows XP
rootnoverify (hd0,0)
chainloader +1
title Fedora Customitzat amb NTFS (2.6.5-1.358custom)
root (hd0,2)
kernel /boot/vmlinuz-2.6.5-1.358custom ro root=LABEL=/ rhgb
initrd /boot/initrd-2.6.5-1.358custom.img
Amb grub no falta executarlo com amb lilo, només reiniciem i ja ens surt
el nou menú.
Mirem amb fdisk -l i podem muntar la partició NTFS. !!!!!
Si hem d'afegir moduls, podem descarregar fonts i NOMES compilar els
mòduls, i instal.lar-los. No fa falta recompilar el kernel. En teoria el
kernel quan trobi el nom mòdul el farà servir.
(Tenim també:
make mrproper, neteja tot encara que hagem compilat, i deixa les fonts
com si les haguèssim baixat.
make clean, neteja però no tan dràstica)
Compilar el kernel (resum):
make menuconfig
make dep
make bzImage
make modules
make modules_install
-Copiar el kernel de ... /arch/i386/boot a /boot:
cp bzImage /boot/vmlinuz-2.6.5-1.358custom
-Copiar System.map .../usr/src/linuxxxx/ a /boot:
cp System.map /boot/System.map-2...
-executar mkinitrd -v /boot/initrd-2.6.5-1.358custom.img 2.6.5-1.358custom.
-Configurem el gestor d'arranc. Recordar que lilo s'ha d'executar, en canvi grub no.