Autour du noyau gravitent les GNU, Linux est le noyau et lui-même GNU. GNU/Linux prend en charge les fonctions principales de l’ordinateur (matériels, ressources: stockage … réseau …). Nb: le terme anglophone de noyau est kernel

Le(s) noyau(x) est présent dans le répertoire /boot Il est nommé vmlinuz, souvent un lien symbolique pointant vers le noyau par défaut.

exemple:


Nb: vmlinuz-2.4.27 ici 2.4.27 correspond à la version du noyau

A chaque noyau est associé un répertoire contenant les modules. Dans l’exemple ci-dessus ce répertoire sera: /lib/modules/2.4.27

Vérifier la configuration afin de permettre la compilation (noyau ou module)

Vérifier la version par défaut:

knoppix@ttyp0[knoppix]$ gcc -v

ou

knoppix@ttyp0[knoppix]$ la /usr/bin/gcc

Celui-ci doit être le même que celui utilisé pour compiler le noyau, vérification avec:

knoppix@ttyp0[knoppix]$ cat /proc/version

Pour connaître les versions de gcc disponibles:

ls /usr/bin/gcc-*

Pour changer de version de gcc par défaut (ici gcc-2.95):

root@ttyp0[knoppix]# ls -sfn /usr/bin/gcc-2.95 /usr/bin/gcc

ou bien en changeant la variable d’environnement (par et pour l’utilisateur qui compilera):

knoppix@ttyp0[knoppix]$ export CC=/usr/bin/gcc-2.95

-Pour compiler un module, il vous faudra au moins les en-têtes du noyau. Le répertoire les contenant (par défaut) est /usr/src/linux

Exemple:

ls -la /usr/src/linux

renvoie:

/usr/src/linux -> kernel-source-2.6.7

signifie que le lien symbolique /usr/src/linux pointe vers le réperoire /usr/src/kernel-source-2.6.7

-Pour modifier ce lien:

knoppix@ttyp0[knoppix]$ ln -sfn /usr/src/linux-2.4.27 /usr/src/linux

Nb: l’utilisateur (knoppix ici) doit appartenir au groupe src (cf: kuser ou la commande adduser jody src).

Ps: Si lors de la compilation d’un module vous obtenez une erreur à propos de asm:

HOSTCC  scripts/basic/fixdep
Dans le fichier inclus à partir de /usr/include/sys/socket.h:35,
à partir de /usr/include/netinet/in.h:24,
à partir de /usr/include/arpa/inet.h:23,
à partir de scripts/basic/fixdep.c:115:
/usr/include/bits/socket.h:305:24: asm/socket.h : Aucun fichier ou répertoire de ce type
make[1]: *** [scripts/basic/fixdep] Erreur 1
make: *** [scripts_basic] Erreur 2
ln -sfn /usr/src/linux/include/asm-i386 /usr/include/asm

AstuceDe Ebdomino:

ln -sfn /usr/src/linux /lib/modules/2.4.27/build

et disposer de auto-apt

Compilation Kaella 3.0

http://kaella.linux-azur.org/wiki/wakka.php?wiki=Compilation

Notes sur la réduction de la taille des sources

Les sources d’un noyau 2.6.9 décompacté (apres une première compilation) représente prés de 245 Mo.
Le répertoire arch contient les en-têtes pour l’ensemble des plateformes. Elles répresentes à elles seules prés de 44Mo.
L’architecture la plus courante étant i386 il est possible de retirer les en-têtes de toutes les autres architectures ormis x86_64 nécessaire à la compilation.


^ Haut de Page ^

RSS ~ Copyright 2004-2008 © Linucie - Asso. Loi 1901 - CNIL : 1045544 - Notre hébergeur : APINC.org
Publication sous Licence GNU/FDL propulsée par PmWiki - XHTML 1.0, CSS 2.1, WAI.