ASTUCE: Se débarrasser de l'erreur lors de la compilation du noyau autorisation de la source GIT
Problème
Donc, récemment, j'ai été dans une situation où j'ai eu à utiliser l'outil git-bisect de trouver un bug qui faisait que mon système à se bloquer pendant le début du boot. Un de la première étape de le faire est d'obtenir l'arbre git noyau sur votre système où vous compiler des noyaux. J'ai donc fait ce qui suit:
debian:/usr/src/# git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Après que j'ai copié par le fichier existant config et émettre une commande de compilation make-kpkg.:
debian:/usr/src/# cd linux-2.6
debian:/usr/src/linux-2.6# cp /home/kushalk/.config .
debian:/usr/src/linux-2.6# make-kpkg --append-to-version=-bisect1 kernel_image
Vers la fin du processus de compilation j'ai le message d'erreur suivant:
dpkg-deb: building package `linux-image-2.6.31-bisect1' in `../linux-image-2.6.31-bisect1_2.6.31-bisect1-10.00.Custom_i386.deb'.
dpkg-deb: control directory has bad permissions 2755 (must be >=0755 and <=0775)
make[2]: *** [debian/stamp/binary/linux-image-2.6.31-bisect1] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6'
make[1]: *** [debian/stamp/binary/pre-linux-image-2.6.31-bisect1] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6'
make: *** [kernel_image] Error 2
debian:/usr/src/linux-2.6#
Solution
En clair, il ressemble à un problème d'autorisation répertoire. Cependant, n'essayez pas de trouver et de modifier l'autorisation de «contrôle» même répertoire que le message indique. Le vrai problème est votre répertoire source en entier qui a été chercher de l'arbre Git.
debian:/usr/src/linux-2.6# cd ..
debian:/usr/src/# ls -l
total 274744
-rw-r--r-- 1 root src 55659 2011-01-12 18:34 config-2.6.30-3-bpo50-atom
drwxr- s rx 26 root src 4096 2011-01-12 23:14 linux-2.6
drwxrwxr-x 24 root root 4096 2011-01-12 18:44 linux-2.6.30.10
-rw-r--r-- 1 root src 75791486 2009-12-04 06:05 linux-2.6.30.10.tar.gz
drwxr-xr-x 25 root root 4096 2011-01-12 19:04 linux-2.6.31
debian:/usr/src/#
Comme vous pouvez le voir dans la sortie ci-dessus de la commande ls, le vrai problème est l'attribut "s" (en rouge) qui est activé dans votre répertoire source. Nous devons nous débarrasser de lui par la commande suivante:
debian:/usr/src/# chmod -R as linux-2.6
Maintenant donnez votre make-kpkg commande à nouveau et vous ne recevrez pas le message d'erreur répertoire permission.
Ça y est!











21 février 2012 à 12:59 am
Merci, bonne solution.
Répondre à ce commentaire