#1 Le 13/01/2008, à 16:40
- elekaj34
Compilation kernel (si possible sans modules)
Bonjour,
J'aurais aimé compiler le kernel fourni par ubuntu pour l'optimiser à ma machine. Mais pour éviter les conflits (version identiques, donc probable beans dans le répertoire des modules), j'ai opté pour le dernier kernel stable officiel.
Vu que je cherche un kernel collant au mieux à ma config, je cherche à avoir le moins possible de modules
J'ai suivi le tuto : http://doc.ubuntu-fr.org/tutoriel/comme … sur_mesure
et la méthode alternative (que je trouve plus propre).
Je lance la compilation et là, ben ça dure même pas 1 seconde, et pleins d'insultes
make[1]: quittant le répertoire « /usr/src/linux-2.6.23 »
/usr/bin/make ARCH=x86_64 prepare
make[1]: entrant dans le répertoire « /usr/src/linux-2.6.23 »
scripts/kconfig/conf -s arch/x86_64/Kconfig
make[1]: quittant le répertoire « /usr/src/linux-2.6.23 »
make[1]: entrant dans le répertoire « /usr/src/linux-2.6.23 »
CHK include/linux/version.h
CHK include/linux/utsrelease.h
CC arch/x86_64/kernel/asm-offsets.s
In file included from include/asm/system.h:4,
from include/asm/processor.h:18,
from include/asm/atomic.h:5,
from include/linux/crypto.h:20,
from arch/x86_64/kernel/asm-offsets.c:7:
include/linux/kernel.h:126: attention : conflicting types for built-in function «snprintf"
include/linux/kernel.h:128: attention : conflicting types for built-in function «vsnprintf"
....
In file included from include/linux/suspend.h:11,
from arch/x86_64/kernel/asm-offsets.c:12:
include/linux/mm.h: In function «lowmem_page_address":
include/linux/mm.h:560: erreur: «CONFIG_PAGE_OFFSET" undeclared (first use in this function)
arch/x86_64/kernel/asm-offsets.c:13:21: erreur: asm/pda.h : Aucun fichier ou répertoire de ce type
arch/x86_64/kernel/asm-offsets.c:17:22: erreur: asm/ia32.h : Aucun fichier ou répertoire de ce type
arch/x86_64/kernel/asm-offsets.c: In function «main":
arch/x86_64/kernel/asm-offsets.c:49: erreur: invalid use of undefined type «struct x8664_pda"
arch/x86_64/kernel/asm-offsets.c:79: erreur: «struct tss_struct" has no member named «ist"
make[2]: *** [arch/x86_64/kernel/asm-offsets.s] Erreur 1
make[1]: *** [prepare0] Erreur 2
make[1]: quittant le répertoire « /usr/src/linux-2.6.23 »
make: *** [debian/stamp-kernel-conf] Erreur 2
Pour info, les paquets " build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev " sont installés.
J'ai testé sur mon install 32 bits, la compilation se fait nickel !!!!
Je suis arrivé à compiler le noyau par la méthode (de base) suivante :
# make xconfig
# make bzImage
# make modules && make modules_install
# cp arch/x86_64/boot/bzImage /boot/kernel-2.6.23
# nano /boot/grub/menu.lst (ajout à la main du nouveau kernel)
Pour l'ajout dans le menu.lst, j'ai rajouté ceci :
title Ubuntu 7.10 64 bits, kernel 2.6.23
root (hd0,1)
kernel /boot/kernel-2.6.23 root=/dev/sda2
(le /dev/sda1 correspond à l'install 32 bits)
Par contre, j'ai quelques soucis, notamment avec le drivers nvidia qui ne veux plus se lancer ... logique
Mais surtout, avec le kernel officiel, la carte réseau est gérée par le module atl1 (cf lspci ci-dessous)
02:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)
Or j'ai coché mis en dur le "module atl1" dans la configuration du kernel. Mais un ifconfig me retourne uniquement lo comme interface réseau !!!!
Comment faire pour activer le réseau sur mon nouveau noyau ?
Pour le module nvidia, je pense avoir la solution, mais je l'ai pas encore mise en oeuvre.
Par contre, est il possible d'inclure le module nvidia en dur dans le kernel ?
Cordialement,
Alain - Linux Ubuntu 18.04 LTS 64bits
Lumières d'Ici ... et d'Ailleurs
Hors ligne
#2 Le 13/01/2008, à 17:56
- Clop'
Re : Compilation kernel (si possible sans modules)
Bonjour,
B
Mais surtout, avec le kernel officiel, la carte réseau est gérée par le module atl1 (cf lspci ci-dessous)02:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)
Or j'ai coché mis en dur le "module atl1" dans la configuration du kernel. Mais un ifconfig me retourne uniquement lo comme interface réseau !!!!
Comment faire pour activer le réseau sur mon nouveau noyau ?
Je ne sais pas vraiment si cela te sera utile, mais ca sera peut-être une piste :
http://ubunteros.tuxfamily.org/spip.php?article117
Voir en particulier les commentaires sur l'installation du driver pour ubuntu.
En espérant que cela te dépanne,
----------------------
Linux on the Root , un site qu'il fait bon feuilleter!
----------------------
PyQtRadio, un lecteur de webradio simple et léger! Installation multi-distrib'
Hors ligne
#3 Le 13/01/2008, à 19:21
- elekaj34
Re : Compilation kernel (si possible sans modules)
Bonsoir,
Pour le driver réseau, c'est juste le Network Manager qui ne sait pas trouvé la carte réseau.
J'ai contourné le problème par la méthode suivante (beaucoup plus propre) :
à‰dition du fichier /etc/network/interfaces et ajout de :
auto eth1
iface eth1 inet dhcp
Pour le drivers nvidia, j'ai télécharger et exécuter l'installateur. Par contre, je n'ai pas réussi a intégré le module en dur dans le noyau, mais je désespère pas
Par contre, je n'arrive pas a charger automatiquement le module nvidia.
# modprobe nvidia
FATAL: Error running install command for nvidia
Je suis contraint de passer par :
#insmod /lib/modules/2.6.23.13/kernel/drivers/video/nvidia.ko
L'ajout de nvidia dans /etc/modules ne résoud pas le problème !!!
Cordialement,
Dernière modification par elekaj34 (Le 13/01/2008, à 19:44)
Alain - Linux Ubuntu 18.04 LTS 64bits
Lumières d'Ici ... et d'Ailleurs
Hors ligne
#4 Le 14/01/2008, à 22:21
- elekaj34
Re : Compilation kernel (si possible sans modules)
Une idée pour que mon module nvidia se charge automatiquement au démarrage d'UBUNTU ?
Cordialement,
Alain - Linux Ubuntu 18.04 LTS 64bits
Lumières d'Ici ... et d'Ailleurs
Hors ligne