Compilations Linux 2.6.33 GNU/Debian Linux, un peu d'aide s'il vous plait
2 réponses
tatane
Bonjour, tout d'abord merci de prendre le temps de lire mon message.
Je poss=E8de plusieurs ordinateur chez moi, pour avoir le fonctionnement
correct du mat=E9riel de ces machines je dois passer sur des versions
plus r=E9centes de Linux.
Je compile les noyaux avec la machine la plus rapide pour une obtenir
deux versions de kernel 2.6.33.
Toute mes stations sont sous GNU/Debian Linux (i386) Lenny.
J'ai r=E9cup=E9r=E9 le .config comme r=E9f=E9rence du noyau GNU/Debian SID =
de /
boot/config-2.6.32-trunk-686 vers mon r=E9pertoire Linux.
Le premier de mes probl=E8mes est le suivant, la compilation s'av=E8re
=EAtre un =E9chec :
lguest.c:21:25: error: sys/eventfd.h: Aucun fichier ou r=E9pertoire de
ce type
lguest.c: In function =91create_thread=92:
lguest.c:1027: warning: implicit declaration of function =91eventfd=92
Je ne comprends pas tout dans le message car je le trouve pas tr=E8s
clair .. De plus, =E7a fait bricolage ... J'ai d=E9sactiv=E9 =AB=A0Processe=
ur
type and features/Paravirtualized guest support=A0=BB, mais =E7a n'y fait
rien de plus. Comment je peux faire simplement ??
Merci de votre aide, j'ai besoin de ces kernels pour activer l'entr=E9e
audio analogique de mes stations afin de brancher des micros pour
faire de la voip (Mumble) et de la t=E9l=E9phonie.
Pour un autre kernel, je dois activer le temps r=E9el j'ai donc pacth=E9
les sources avec la version qui lui est relative j'ai ce message :
CHK include/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CC [M] drivers/staging/comedi/drivers/quatech_daqp_cs.o
drivers/staging/comedi/drivers/quatech_daqp_cs.c:70: error: field
=91eos=92 has incomplete type
drivers/staging/comedi/drivers/quatech_daqp_cs.c: In function
=91daqp_interrupt=92:
drivers/staging/comedi/drivers/quatech_daqp_cs.c:291: error: implicit
declaration of function =91up=92
drivers/staging/comedi/drivers/quatech_daqp_cs.c: In function
=91daqp_ai_insn_read=92:
drivers/staging/comedi/drivers/quatech_daqp_cs.c:405: error: implicit
declaration of function =91sema_init=92
drivers/staging/comedi/drivers/quatech_daqp_cs.c:418: error: implicit
declaration of function =91down_interruptible=92
drivers/staging/comedi/drivers/quatech_daqp_cs.c: In function
=91daqp_cs_attach=92:
drivers/staging/comedi/drivers/quatech_daqp_cs.c:1045: warning:
assignment from incompatible pointer type
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
tatane
Voilà, je me réponds pour ma première question, j'explique comment compiler un kernel linux 2.6.33 avec GNU/Debian linux i386 Lenny Je tiens à vous prévenir que si vous avez un GPU de type Nvidia le pilote propriétaire ne se compilera pas pour une version :
NVIDIA-Linux-x86-190.53-pkg1 (pour moi un chip GT220)
L'application renvoie un message d'erreur :
ERROR: Unable to determine the version of the kernel sources located in '/lib/modules/2.6.33.100313/source'. Please make sure you have installed the kernel source files for your kernel and that they are properly configured; on Red Hat Linux systems, for example, be sure you have the 'kernel-source' or 'kernel-devel' RPM installed. If you know the correct kernel source files are installed, you may specify the kernel source path with the '--kernel-source-path' command line option.
***Procédure de génération des paquets à la sauce Débianne***
Téléchargez les paquets pour que la compilation d'un noyau soit possible en root ou avec sudo : (mise à jour)
La compilation echoue car le fichier Documentation/lguest/lguest.c à une mauvaise indication d'entête (#include <sys/eventfd.h>).
Après plusieurs essais, j'ai remarqué que cette entête ne sert pas ! Donc il suffit de supprimer cette ligne dans le fichier Documentation/ lguest/lguest.c (ligne 21)
Téléchargez une version de configuration de noyau correspondant à votre architecture matériel (prenez la version qui vous convient):
Copiez le fichier de configuration avec le nom adéquate :
:~/Desktop/linux-2.6.33$ cp config-2.6.33-2-686 .config -vi cd .. Ensuite on passe à la phase de compilation et de personnalisation des options du kernel linux :
Répondre à toutes les questions par entrée ... (laissez les valeurs par défaut)
Une fois que vous avez tout validé, vous pouvez editer la configuration et l'adapter à vos besoins pour cela :
:~/Desktop/linux-2.6.33$ make menuconfig
Une interface texte s'ouvre faite vos moditications en fonction de votre architecture (en principe vous n'avez pas besoin de modifier les valeurs par défauts) Une fois les modifications effectuées, faite exit plusieurs fois jusqu'a ce que l'on vous demande d'enregistrer le fichier de configuration (répondez par Yes)
Ensuite on peut passer à la compilation d'un paquet linux pour GNU/ Debian :
:~/Desktop/linux-2.6.33$ time make-kpkg --rootcmd fakeroot --initrd --append-to-version=.`date +%y%m%d` -- revision=2.6.33 kernel-image Cette opération est très longue et le temps de compilation dépend de votre machine qui va créer la compilation ... (1/2 heure sur une machine récente)
Ensuite si vous avez besoin de compiler des modules suplémentaires, vous aurez besoin du kernel header spécifique pour cela faite :
Ensuite il faut installer les deux paquets (passer en utilsateur root) : debian-acer:/home/tatane/Desktop# dpkg -i linux- headers-2.6.33.100313_2.6.33_i386.deb linux- image-2.6.33.100313_2.6.33_i386.deb
Puis pour que le système boot ils vous faut le fichier initrd correspondant pour ça faite :
debian-acer:/home/tatane/Desktop# rm /lib/modules/2.6.33.100313/build et debian-acer:/home/tatane/Desktop# rm /lib/modules/2.6.33.100313/source
puis créer un lien symbolique vers les headers :
debian-acer:/home/tatane/Desktop# ln -s /usr/src/linux- headers-2.6.33.100313 linux
Il ne vous reste plus qu'a redemmarer votre ordinateur.
Voilà j'espère que cela vous servira .... Bien à vous !
(n'oubiez pas d'effacer les sources de linux sur votre bureau :) )
Voilà, je me réponds pour ma première question, j'explique comment
compiler un kernel linux 2.6.33 avec GNU/Debian linux i386 Lenny
Je tiens à vous prévenir que si vous avez un GPU de type Nvidia le
pilote propriétaire ne se compilera pas pour une version :
NVIDIA-Linux-x86-190.53-pkg1 (pour moi un chip GT220)
L'application renvoie un message d'erreur :
ERROR: Unable to determine the version of the kernel sources located
in
'/lib/modules/2.6.33.100313/source'. Please make sure you have
installed the kernel source files for your kernel and that they
are
properly configured; on Red Hat Linux systems, for example, be
sure you
have the 'kernel-source' or 'kernel-devel' RPM installed. If
you know
the correct kernel source files are installed, you may specify
the
kernel source path with the '--kernel-source-path' command line
option.
***Procédure de génération des paquets à la sauce Débianne***
Téléchargez les paquets pour que la compilation d'un noyau soit
possible en root ou avec sudo :
(mise à jour)
La compilation echoue car le fichier Documentation/lguest/lguest.c à
une mauvaise indication d'entête (#include <sys/eventfd.h>).
Après plusieurs essais, j'ai remarqué que cette entête ne sert pas !
Donc il suffit de supprimer cette ligne dans le fichier Documentation/
lguest/lguest.c (ligne 21)
Téléchargez une version de configuration de noyau correspondant à
votre architecture matériel (prenez la version qui vous convient):
Copiez le fichier de configuration avec le nom adéquate :
tatane@debian-acer:~/Desktop/linux-2.6.33$ cp
config-2.6.33-2-686 .config -vi
cd ..
Ensuite on passe à la phase de compilation et de personnalisation des
options du kernel linux :
tatane@debian-acer:~/Desktop/linux-2.6.33$ make oldconfig
Répondre à toutes les questions par entrée ... (laissez les valeurs
par défaut)
Une fois que vous avez tout validé, vous pouvez editer la
configuration et l'adapter à vos besoins pour cela :
tatane@debian-acer:~/Desktop/linux-2.6.33$ make menuconfig
Une interface texte s'ouvre faite vos moditications en fonction de
votre architecture (en principe vous n'avez pas besoin de modifier les
valeurs par défauts)
Une fois les modifications effectuées, faite exit plusieurs fois
jusqu'a ce que l'on vous demande d'enregistrer le fichier de
configuration (répondez par Yes)
Ensuite on peut passer à la compilation d'un paquet linux pour GNU/
Debian :
tatane@debian-acer:~/Desktop/linux-2.6.33$ time make-kpkg --rootcmd
fakeroot --initrd --append-to-version=.`date +%y%m%d` --
revision=2.6.33 kernel-image
Cette opération est très longue et le temps de compilation dépend de
votre machine qui va créer la compilation ... (1/2 heure sur une
machine récente)
Ensuite si vous avez besoin de compiler des modules suplémentaires,
vous aurez besoin du kernel header spécifique pour cela faite :
Ensuite il faut installer les deux paquets (passer en utilsateur
root) :
debian-acer:/home/tatane/Desktop# dpkg -i linux-
headers-2.6.33.100313_2.6.33_i386.deb linux-
image-2.6.33.100313_2.6.33_i386.deb
Puis pour que le système boot ils vous faut le fichier initrd
correspondant pour ça faite :
Voilà, je me réponds pour ma première question, j'explique comment compiler un kernel linux 2.6.33 avec GNU/Debian linux i386 Lenny Je tiens à vous prévenir que si vous avez un GPU de type Nvidia le pilote propriétaire ne se compilera pas pour une version :
NVIDIA-Linux-x86-190.53-pkg1 (pour moi un chip GT220)
L'application renvoie un message d'erreur :
ERROR: Unable to determine the version of the kernel sources located in '/lib/modules/2.6.33.100313/source'. Please make sure you have installed the kernel source files for your kernel and that they are properly configured; on Red Hat Linux systems, for example, be sure you have the 'kernel-source' or 'kernel-devel' RPM installed. If you know the correct kernel source files are installed, you may specify the kernel source path with the '--kernel-source-path' command line option.
***Procédure de génération des paquets à la sauce Débianne***
Téléchargez les paquets pour que la compilation d'un noyau soit possible en root ou avec sudo : (mise à jour)
La compilation echoue car le fichier Documentation/lguest/lguest.c à une mauvaise indication d'entête (#include <sys/eventfd.h>).
Après plusieurs essais, j'ai remarqué que cette entête ne sert pas ! Donc il suffit de supprimer cette ligne dans le fichier Documentation/ lguest/lguest.c (ligne 21)
Téléchargez une version de configuration de noyau correspondant à votre architecture matériel (prenez la version qui vous convient):
Copiez le fichier de configuration avec le nom adéquate :
:~/Desktop/linux-2.6.33$ cp config-2.6.33-2-686 .config -vi cd .. Ensuite on passe à la phase de compilation et de personnalisation des options du kernel linux :
Répondre à toutes les questions par entrée ... (laissez les valeurs par défaut)
Une fois que vous avez tout validé, vous pouvez editer la configuration et l'adapter à vos besoins pour cela :
:~/Desktop/linux-2.6.33$ make menuconfig
Une interface texte s'ouvre faite vos moditications en fonction de votre architecture (en principe vous n'avez pas besoin de modifier les valeurs par défauts) Une fois les modifications effectuées, faite exit plusieurs fois jusqu'a ce que l'on vous demande d'enregistrer le fichier de configuration (répondez par Yes)
Ensuite on peut passer à la compilation d'un paquet linux pour GNU/ Debian :
:~/Desktop/linux-2.6.33$ time make-kpkg --rootcmd fakeroot --initrd --append-to-version=.`date +%y%m%d` -- revision=2.6.33 kernel-image Cette opération est très longue et le temps de compilation dépend de votre machine qui va créer la compilation ... (1/2 heure sur une machine récente)
Ensuite si vous avez besoin de compiler des modules suplémentaires, vous aurez besoin du kernel header spécifique pour cela faite :
Ensuite il faut installer les deux paquets (passer en utilsateur root) : debian-acer:/home/tatane/Desktop# dpkg -i linux- headers-2.6.33.100313_2.6.33_i386.deb linux- image-2.6.33.100313_2.6.33_i386.deb
Puis pour que le système boot ils vous faut le fichier initrd correspondant pour ça faite :
debian-acer:/home/tatane/Desktop# rm /lib/modules/2.6.33.100313/build et debian-acer:/home/tatane/Desktop# rm /lib/modules/2.6.33.100313/source
puis créer un lien symbolique vers les headers :
debian-acer:/home/tatane/Desktop# ln -s /usr/src/linux- headers-2.6.33.100313 linux
Il ne vous reste plus qu'a redemmarer votre ordinateur.
Voilà j'espère que cela vous servira .... Bien à vous !
(n'oubiez pas d'effacer les sources de linux sur votre bureau :) )
tatane
bonsoir,
Pour ma dernière question, pour compiler juste un module il suffit de lancer la commande make modules (dans la messure où les autres sont déjà crées) Dans mon cas c'était juste l'application d'un patch pou r inverser l'image de la caméra embarquée sur mon ordinateur portable.
Cordialement.
bonsoir,
Pour ma dernière question, pour compiler juste un module il suffit de
lancer la commande make modules (dans la messure où les autres sont
déjà crées) Dans mon cas c'était juste l'application d'un patch pou r
inverser l'image de la caméra embarquée sur mon ordinateur portable.
Pour ma dernière question, pour compiler juste un module il suffit de lancer la commande make modules (dans la messure où les autres sont déjà crées) Dans mon cas c'était juste l'application d'un patch pou r inverser l'image de la caméra embarquée sur mon ordinateur portable.