TIP: Jak se zbavit oprávnění chyby při kompilaci jádra z GIT zdroje
Problém
Takže nedávno jsem byl v situaci, kdy jsem musel použít git-půlí nástroj najít chybu, která byla příčinou mé systém přestat reagovat během rané boty. Jeden z první krok jak to udělat, je dostat jádra git strom na vašem systému, kde budete kompilovat jádro. Tak jsem to udělal následující:
debian:/usr/src/# git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Poté, co jsem zkopírovat stávající konfigurační soubor a vydá make-kpkg kompilace příkazu.:
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
Na konci procesu kompilace mám následující chybová zpráva:
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#
Řešení
Je zřejmé, že vypadá jako problém adresáře oprávnění. Avšak nesnažte se najít a změnit na "řízení" adresář oprávnění jako zpráva označuje. Skutečným problémem je celý zdrojový adresář, který byl vyzvednout z Git stromu.
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/#
Jak můžete vidět ve výše uvedeném výstupu příkazu ls, skutečný problém je, že atribut "s" (v červeném), který je nastaven na vašem zdrojovém adresáři. Musíme se zbavit následujícím příkazem:
debian:/usr/src/# chmod -R as linux-2.6
Dej si make-kpkg příkaz znovu a nebudete mít adresář oprávnění chybovou zprávu.
A je to!













21.února 2012 v 00:59
Děkuji, správné řešení.
Odpovědět na tento komentář