1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
| 1) kernel actuel
uname -a
Linux cluster 2.6.18-5-686 #1 SMP Mon Dec 24 16:41:07 UTC 2007 i686 GNU/Linux
2) Quels sont les kernels disponibles via les commandes debian?
cluster:~# apt-cache search linux-source
linux-patch-debian-2.6.18 - Debian patches to version 2.6.18 of the Linux kernel
linux-source-2.6.18 - Linux kernel source for version 2.6.18 with Debian patches
linux-tree-2.6.18 - Linux kernel source tree for building Debian kernel images
linux-patch-debian-2.6.23 - Debian patches to version 2.6.23 of the Linux kernel
linux-source-2.6.23 - Linux kernel source for version 2.6.23 with Debian patches
linux-tree-2.6.23 - Linux kernel source tree for building Debian kernel images
3) package nécessaires
apt-get install build-essential fakeroot kernel-package libglib2.0-dev libgtk2.0-dev libqt3-mt-dev libncurses5-dev tk-dev -s
apt-get install linux-source-2.6.18 debconf-utils dpkg-dev debhelper -s
apt-get install modutils module-init-tools -s
4) Afin d'éviter de travailler sous root nous allons compiler
le noyau à partir d'un utilisateur normal toto creer sous le group src
adduser toto --ingroup src
Dans le cas où votre utilisateur s'appelle toto, Toto doit se déconnecter puis
se reconnecter afin que cette modification soit prise en compte. Vous pouvez
vérifier que Toto appartient bien au groupe src en tapant la commande suivante :
$ id toto
uid=1000(toto) gid=1000(toto) groupes=1000(toto),7(lp),*40(src)*,20(dialout),24(cdrom),29(audio),30(dip), 44(video)
5) je ferme le terminal et me reconnecte en toto
cd src
cp /usr/src/linux-source-2.6.18.tar.bz2 /home/toto/src/
On le decompresse
tar xfvj linux-source-2.6.18.tar.bz2
==========================
Configuration du noyau
==========================
Nous souhaitons mettre à jours notre noyau, donc on va faire une copie de notre fichier /boot/config-2.6.18-5-686
cp /boot/config-2.6.18-5-686 /home/toto/src/linux-source-2.6.18/.config
cd /home/toto/src/linux-source-2.6.18/
make menuconfig
=> Processor type and features
=> High Memory Support (par defaut, il est à 4G)
On le met à 64 Go.
On sort et sauvegarde
Nous compilons donc le noyau en utilisateur normal grâce à l'option --rootcmd
make-kpkg --rootcmd fakeroot --append-to-version=080121 --revision=2.6.18 kernel-image
==========================
Compilation et installation du noyau
==========================
Utilisation de la commande make-kpkg
toto@cluster:~/src/linux-source-2.6.18$ make-kpkg clean
exec make -f /usr/share/kernel-package/ruleset/minimal.mk clean
====== making target minimal_clean [new prereqs: ]======
Cleaning.
test ! -f .config || cp -pf .config config.precious
test ! -e stamp-building || rm -f stamp-building
test ! -f Makefile || \
make ARCH=i386 distclean
make[1]: entrant dans le répertoire « /home/toto/src/linux-source-2.6.18 »
CLEAN scripts/basic
CLEAN scripts/kconfig/lxdialog
CLEAN scripts/kconfig
CLEAN include/config
CLEAN .config include/linux/autoconf.h
make[1]: quittant le répertoire « /home/toto/src/linux-source-2.6.18 »
test ! -f config.precious || mv -f config.precious .config
rm -f modules/modversions.h modules/ksyms.ver conf.vars scripts/cramfs/cramfsck scripts/cramfs/mkcramfs applied_patches stamp-build stamp-configure stamp-image stamp-headers stamp-src stamp-diff stamp-doc stamp-manual stamp-patch stamp-buildpackage stamp-debian
make-kpkg --rootcmd fakeroot --append-to-version=080121 --revision=2.6.18 kernel-image
Une fois fini, on se place dans le repertoire /home/toto/src
et on doit avoir le fichier crée linux-image-2.6.18080121_2.6.18_i386.deb
se reconnecter en root
cd /home/toto/src
dpkg -i linux-image-2.6.18080121_2.6.18_i386.deb
L'installation du nouveau noyau est maintenant terminée |
Partager