URL: https://linuxfr.org/forums/linux-noyau/posts/fakeroot-et-cross-compilation-kernel-depuis-amd64-pour-i386-ou-i686 Title: fakeroot et cross compilation kernel depuis amd64 pour i386 ou i686 Authors: i M@N Date: 2015年03月27日T18:37:51+01:00 License: CC By-SA Tags: crosscompilation, fakeroot, debian, kernel et kernel_recipes Score: 0 Bonjour, j'ai un PC type desktop relativement puissant et un portable MSI Wind U100. Je voudrais compiler un kernel depuis les sources de kernel.org pour le portable sur mon desktop. J'arrive à compiler les sources de kernel.org sans souci sur le desktop pour le desktop grâce à ma [recette](http://iman.rastavibes.net/blog/index.php?article249/linux-kernel-compilation-recipe-on-debian), mais je cherche à comprendre comment modifier ma recette pour compiler sur le desktop pour le portable. Pour le moment j'ai trouvé [une méthode](http://sukhanov.net/cross-compile-with-make-kpkg.html) que j'ai légèrement modifiée et j'ai réussi à obtenir un paquet deb linux-image-3.19.3-20150326_1+i_amd64.deb en faisant : ```bash make-kpkg clean cp ../config-3.16.0-4-686-pae .config && yes "" | linux32 make oldconfig export CONCURRENCY_LEVEL=4 fakeroot linux32 make-kpkg --cross-compile - --arch=i386 --initrd --revision=1+i --append-to-version=-`date +%Y%m%d` kernel-image ``` La compilation se passe bien, et d'après ce qui est dit j'ai bien un kernel 32bit mais étiqueté 64bit :>At this point you have a 32bit kernel inside a package labeled for 64bit arch il dit de faire ensuite : ```bash fakeroot deb-reversion -k bash ../linux-image-3.19.3-20150326_1+i_amd64.deb dch warning: Previous package version was Debian native whilst new version is not root@debian:/tmp/deb-reversion.sNgmX9/package# nano DEBIAN/control ## ici on remplace Architecture: amd64 par Architecture: i386 exit ``` Sauf que j'ai systématiquement l'erreur suivante :>mv: impossible d'évaluer " ../dpkg-name: info: déplacement de " package.deb\ " en " ./linux-image-3.19.3-20150326_1+i-0LOCAL.1_i386.deb\ " ": Aucun fichier ou dossier de ce type il y a bien un [bug](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559702) de deb-reversion de 2009 qui semble correspondre. D'où mes questions suivantes : Dans la ligne de commande fakeroot je mets --arch=i386 l'architecture du portable (dont le .config debian du kernel actuel se nomme config-3.16.0-4-686-pae) c'est i386 ou i686? Est-ce que je suis sur la bonne piste? il y aurait-il un moyen de faire autrement ou mieux, par exemple en mettant d'autres options à la commande fakeroot ou make-kpkg et sans utiliser deb-reversion? D'avance merci et bon week-end!