Bonjour,
Je reviens vers vous après une soirée et une matinée de galères (pas de boulot aujourd’hui !).
J’ai tenté des suivre la procédure indiquée ici, en m’inspirant de ce que j’ai trouvé également ici et là.
Mon problème, c’est toujours qu’un certain nombre d’étapes nécessitent une connexion internet.
D’après deux des sources citées plus haut, il est conseillé de créer un utilisateur spécial pour compiler les noyaux, plutôt que de le faire en root. Je l’ai donc fait (baptisé “Kernel”), mais quand j’ai voulu vérifier que je disposais bien des prérequis, rien :$ dkpg -l | egrep "gcc|make[binutils"
bash: dkpg: command not found
Par contre, en me connectant en root :
[code]$su
Mot de passe :
dkpg -l | egrep “gcc|make[binutils”
ii automake 1:1.10.1-3
A tool for generating GNU Standards-complian
ii binutils 2.18.1~cvs20080103-7
The GNU assembler, linker and binary utiliti
ii devscripts 2.10.35lenny7
scripts to make the life of a Debian Package
ii gcc 4:4.3.2-2
The GNU C compiler
ii gcc-4.2-base 4.2.4-6
The GNU Compiler Collection (base package)
ii gcc-4.3 4.3.2-1.1
The GNU C compiler
ii gcc-4.3-base 4.3.2-1.1
The GNU Compiler Collection (base package)
ii libgcc1 1:4.3.2-1.1
GCC support library
ii make 3.81-5
The GNU version of the “make” utility.
ii makedev 2.3.1-88
creates device files in /dev
ii qt4-qmake 4.4.3-1
Qt 4 qmake Makefile generator tool[/code]Les utilitaires semblent présent mais accessible uniquement en root. Qu’a cela ne tienne, je vais quand même tenter la manip.
Je télécharge donc le noyau 2.6.32.24 sous http://www.kernel.org ainsi que le patch associé, que je transfère sur mon poste Linux via une clé et que je décompresse dans le dossier ~/src.
Je me retrouve avec un dossier intitulé “linux-2.6.32.24”. Je créé un lien symbolique :$ln -s linux-2.6.32.24 linux"
puis je lance la compilation du noyau (j’ai préféré ne rien toucher au fichier .config, puisque je n’y connais rien).
$ make-kpkg --rootcmd fakeroot --initrd --append-to-version=.30102010 kernel-image
bash: make-kpkg: command not found
Bon, il semble que le package kernel-package ne soit pas installé, ce que j’ai verifié en lançant une recherche avec Kpackage. Je l’installe donc (téléchargement depuis windows puis transfert du fichier .deb par clé, puis installation avec Kpackage. Echec : il manque une dépendance ! J’installe donc ladite dépendance (même procédé), il manque encore une dépendance, heureusement c’est la dernière, je peut donc tout installer.
Je relance ma commande :$ make-kpkg --rootcmd fakeroot --initrd --append-to-version=.30102010 kernel-image
La console commence à me dérouler une longue liste de fichiers, pendant plus d’une heure, puis termine par ça :
make[1]: quittant le répertoire « /home/Kernel/src/linux-2.6.32.24 »
test ! -e scripts/package/builddeb || mv -f scripts/package/builddeb scripts/package/builddeb.kpkg-dist
test ! -e scripts/package/Makefile || test -f scripts/package/Makefile.kpkg-dist || (mv -f scripts/package/Makefile scripts/package/Makefile.kpkg-dist && (echo "# Dummy file "; echo "help:") > scripts/package/Makefile)
COLUMNS=150 dpkg -l 'gcc*' perl dpkg 'libc6*' binutils make dpkg-dev |\
awk '$1 ~ /[hi]i/ { printf("%s-%s\n", $2, $3) }'> debian/buildinfo
uname -a >> debian/buildinfo
echo using the compiler: >> debian/buildinfo
grep LINUX_COMPILER include/linux/compile.h | \
sed -e 's/.*LINUX_COMPILER "//' -e 's/"$//' >> debian/buildinfo
echo applied kernel patches: >> debian/buildinfo
echo done > debian/stamp/build/kernel
fakeroot /usr/bin/make -f ./debian/rules debian/stamp/binary/pre-linux-image-2.6.32.24.30102010musix64
make: fakeroot : commande introuvable
make: *** [kernel-image] Erreur 127
les deux dernières lignes me font un peu peur, je vérifie que j’ai bien un fichier .deb crée sous ~/src : rien !
A priori, le commande fakeroot n’est pas installée, et j’ai trouvé à plusieurs endroit qu’une erreur 127 signifie que make ne trouve pas une commande. Le problème c’est que je ne sais pas si je dois à nouveau insatller un package, et si oui lequel.
En cherchant fakeroot sur packages.debian.org, j’ai trouvé cela :
Vous avez recherché chemins se terminant par fakeroot dans les suites lenny, toutes les sections et toutes les architectures. 3 résultats trouvés.
Fichier Paquets
/usr/lib/cruft/filters-unex/fakeroot cruft
/usr/share/zsh-beta/functions/Completion/Unix/_fakeroot zsh-beta
/usr/share/zsh/functions/Completion/Unix/_fakeroot zsh
Mais lequel installer ?
Quand à kernel-image, j’ai trouvé ce package (mon PC à un processeur AMD64):kernel-image-2.6.26-2-amd64-di, mais ça n’a pas l’air d’être ce qu’il me faut.
J’en suis là, je n’ose pas faire la compilation du noyau en root (ce qui devrait m’éviter de passer par fakeroot, mais qui semble déconseillé).
Quelqu’un a-t-il une idée ?
Nadelf