Compilations Linux 2.6.33 GNU/Debian Linux, un peu d'aide s'il vous plait
Le
tatane
Bonjour, tout d'abord merci de prendre le temps de lire mon message.
Je possède plusieurs ordinateur chez moi, pour avoir le fonctionnement
correct du matériel de ces machines je dois passer sur des versions
plus récentes 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écupéré le .config comme référence du noyau GNU/Debian SID =
de /
boot/config-2.6.32-trunk-686 vers mon répertoire Linux.
Le premier de mes problèmes est le suivant, la compilation s'avère
être un échec :
lguest.c:21:25: error: sys/eventfd.h: Aucun fichier ou répertoire de
ce type
lguest.c: In function create_thread:
lguest.c:1027: warning: implicit declaration of function eventfd
make[1]: *** [lguest] Erreur 1
Je google/Linux un peu est je trouve ça :
http://forum.debian-fr.org/viewtopi...mp;t=24164
Je ne comprends pas tout dans le message car je le trouve pas très
clair .. De plus, ça fait bricolage J'ai désactivé « Processe=
ur
type and features/Paravirtualized guest support », mais ça 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ée
audio analogique de mes stations afin de brancher des micros pour
faire de la voip (Mumble) et de la téléphonie.
Pour un autre kernel, je dois activer le temps réel j'ai donc pacthé
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
eos has incomplete type
drivers/staging/comedi/drivers/quatech_daqp_cs.c: In function
daqp_interrupt:
drivers/staging/comedi/drivers/quatech_daqp_cs.c:291: error: implicit
declaration of function up
drivers/staging/comedi/drivers/quatech_daqp_cs.c: In function
daqp_ai_insn_read:
drivers/staging/comedi/drivers/quatech_daqp_cs.c:405: error: implicit
declaration of function sema_init
drivers/staging/comedi/drivers/quatech_daqp_cs.c:418: error: implicit
declaration of function down_interruptible
drivers/staging/comedi/drivers/quatech_daqp_cs.c: In function
daqp_cs_attach:
drivers/staging/comedi/drivers/quatech_daqp_cs.c:1045: warning:
assignment from incompatible pointer type
make[5]: *** [drivers/staging/comedi/drivers/quatech_daqp_cs.o] Erreur
1
make[4]: *** [drivers/staging/comedi/drivers] Erreur 2
make[3]: *** [drivers/staging/comedi] Erreur 2
make[2]: *** [drivers/staging] Erreur 2
make[1]: *** [drivers] Erreur 2
Moi ça ne me cause pas du tout
Une dernière question, lorsque je souhaite compiler juste un module du
noyau je fais comment ?
Je dois faire ça pour inverser l'image de ma caméra sur mon N10J Asus.
Si je suis cette procédure ça ne fonctionne pas, échec de
compilation :
http://forum.notebookreview.com/sho...p?t=315810 ->
cd /usr/src/linux-`uname -r`
wget -O ./drivers/media/video/uvc/uvc_video.c http://allurgroceries.com/n10=
/uvc_video.c
rm drivers/media/video/uvc/*.o
make drivers/media/video/uvc/uvcvideo.ko
sudo install -m 644 drivers/media/video/uvc/uvcvideo.ko /lib/modules/
`uname -r`/kernel/drivers/media/video/uvc/
sudo modprobe -r uvcvideo
sudo modprobe uvcvideo
Y pas une erreur là dedans ? Ici : make drivers/media/video/uvc/
uvcvideo.ko
Merci pour votre aide éventuelle.
Cordialement
Je possède plusieurs ordinateur chez moi, pour avoir le fonctionnement
correct du matériel de ces machines je dois passer sur des versions
plus récentes 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écupéré le .config comme référence du noyau GNU/Debian SID =
de /
boot/config-2.6.32-trunk-686 vers mon répertoire Linux.
Le premier de mes problèmes est le suivant, la compilation s'avère
être un échec :
lguest.c:21:25: error: sys/eventfd.h: Aucun fichier ou répertoire de
ce type
lguest.c: In function create_thread:
lguest.c:1027: warning: implicit declaration of function eventfd
make[1]: *** [lguest] Erreur 1
Je google/Linux un peu est je trouve ça :
http://forum.debian-fr.org/viewtopi...mp;t=24164
Je ne comprends pas tout dans le message car je le trouve pas très
clair .. De plus, ça fait bricolage J'ai désactivé « Processe=
ur
type and features/Paravirtualized guest support », mais ça 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ée
audio analogique de mes stations afin de brancher des micros pour
faire de la voip (Mumble) et de la téléphonie.
Pour un autre kernel, je dois activer le temps réel j'ai donc pacthé
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
eos has incomplete type
drivers/staging/comedi/drivers/quatech_daqp_cs.c: In function
daqp_interrupt:
drivers/staging/comedi/drivers/quatech_daqp_cs.c:291: error: implicit
declaration of function up
drivers/staging/comedi/drivers/quatech_daqp_cs.c: In function
daqp_ai_insn_read:
drivers/staging/comedi/drivers/quatech_daqp_cs.c:405: error: implicit
declaration of function sema_init
drivers/staging/comedi/drivers/quatech_daqp_cs.c:418: error: implicit
declaration of function down_interruptible
drivers/staging/comedi/drivers/quatech_daqp_cs.c: In function
daqp_cs_attach:
drivers/staging/comedi/drivers/quatech_daqp_cs.c:1045: warning:
assignment from incompatible pointer type
make[5]: *** [drivers/staging/comedi/drivers/quatech_daqp_cs.o] Erreur
1
make[4]: *** [drivers/staging/comedi/drivers] Erreur 2
make[3]: *** [drivers/staging/comedi] Erreur 2
make[2]: *** [drivers/staging] Erreur 2
make[1]: *** [drivers] Erreur 2
Moi ça ne me cause pas du tout
Une dernière question, lorsque je souhaite compiler juste un module du
noyau je fais comment ?
Je dois faire ça pour inverser l'image de ma caméra sur mon N10J Asus.
Si je suis cette procédure ça ne fonctionne pas, échec de
compilation :
http://forum.notebookreview.com/sho...p?t=315810 ->
cd /usr/src/linux-`uname -r`
wget -O ./drivers/media/video/uvc/uvc_video.c http://allurgroceries.com/n10=
/uvc_video.c
rm drivers/media/video/uvc/*.o
make drivers/media/video/uvc/uvcvideo.ko
sudo install -m 644 drivers/media/video/uvc/uvcvideo.ko /lib/modules/
`uname -r`/kernel/drivers/media/video/uvc/
sudo modprobe -r uvcvideo
sudo modprobe uvcvideo
Y pas une erreur là dedans ? Ici : make drivers/media/video/uvc/
uvcvideo.ko
Merci pour votre aide éventuelle.
Cordialement

Poser une question


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)
#apt-get update
#apt-get upgrade
#apt-get install build-essential git-core libncurses5-dev fakeroot
bzip2 wget zlib1g-dev
Installez la bonne version du kernel-package à prendre dans les dépôt s
SID (kernel-package_12.033_all.deb)
#wget http://ftp.de.debian.org/debian/poo...kernel-pac kage_12.033_all.deb
Installez le paquet fraichement téléchargé :
#dpkg -i kernel-package_12.033_all.deb
#apt-get clean
#rm kernel-package_12.033_all.deb
Sortez du mode root si vous avez utilisé su (Ctrl-d)
Téléchargez un kernel, pour mon exemple j'ai pris un 2.6.33 :
(Je travaille sur mon bureau dans cet exemple cd ~/Desktop)
:~/Desktop$ wget http://www.kernel.org/pub/linux/kernel/v 2.6/linux-2.6.33.tar.bz2
Décompressez l'archive dans répertoire personnel ou sur le bureau dans
mon exemple :
:~/Desktop$ bunzip2 -cd linux-2.6.33.tar.bz2 |tar
xv-
Allez dans le répertoire des sources du noyau :
:~/Desktop$ cd linux-2.6.33/
La compilation echoue car le fichier Documentation/lguest/lguest.c à
une mauvaise indication d'entête (#include
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):
Pour ma part une version 2.6.33 :
:~/Desktop/linux-2.6.33$ wget
http://merkel.debian.org/~jurij/2.6.33-1~experimental.3/i386/config-2.6.33- 2-686.gz
Décompressez l'archive du fichier que vous venez de télécharger :
:~/Desktop/linux-2.6.33$ gzip -d
config-2.6.33-2-686.gz
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 :
:~/Desktop/linux-2.6.33$ export CONCURRENCY_LEVEL=2
:~/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 :
:~/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 :
:~/Desktop/linux-2.6.33$ time make-kpkg --rootcmd
fakeroot --initrd --append-to-version=.`date +%y%m%d` --
revision=2.6.33 kernel-header
:~/Desktop/linux-2.6.33$ cd ..
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#update-initramfs -c -k
'2.6.33.100313'
Est pour finir mettre à jour Grub :
debian-acer:/home/tatane/Desktop# update-grub
Il faut donner le bon chemin vers linux sources :
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 :) )
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.