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 possde plusieurs ordinateur chez moi, pour avoir le fonctionnement
correct du matriel de ces machines je dois passer sur des versions
plus rcentes 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 rcupr le .config comme rfrence du noyau GNU/Debian SID =
de /
boot/config-2.6.32-trunk-686 vers mon rpertoire Linux.

Le premier de mes problmes est le suivant, la compilation s'avre
tre un chec :

lguest.c:21:25: error: sys/eventfd.h: Aucun fichier ou rpertoire 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/viewtopic.php?f=3&t=24164

Je ne comprends pas tout dans le message car je le trouve pas trs
clair .. De plus, a fait bricolage J'ai dsactiv 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'entre
audio analogique de mes stations afin de brancher des micros pour
faire de la voip (Mumble) et de la tlphonie.

Pour un autre kernel, je dois activer le temps rel 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 dernire question, lorsque je souhaite compiler juste un module du
noyau je fais comment ?

Je dois faire a pour inverser l'image de ma camra sur mon N10J Asus.

Si je suis cette procdure a ne fonctionne pas, chec de
compilation :

http://forum.notebookreview.com/showthread.php?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
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
tatane
Le #21372991
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)


#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/pool/main/k/kernel-package/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 :) )
tatane
Le #21372981
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.
Publicité
Poster une réponse
Anonyme