ďťż
 
 
   [+] jądro 2.6.32.10 z łatą grsec wysypuje sie podczas kompilacji
 
 

Tematy

 
    
 

 

 

 

[+] jądro 2.6.32.10 z łatą grsec wysypuje sie podczas kompilacji





bryn1u - 21-03-2010 02:55
Witam.

Mam taki problem. Nałożyłem łatę na ta wersję jajka 2.6.32.10. Korzystałem z tego opisu.

Mamy już wszystko czego potrzebujemy do poprawnej kompilacji, czas zabrać się za pobranie ze strony www.kernel.org najnowszej stabilnej wersji jądra. W naszym przypadku jest to jądro 2.6.27.7.
wget -c http://www.kernel.org/pub/linux/kern...6.27.7.tar.bz2 Jak widzimy warto jest ściągnąć wersję w formacie .tar.bz2 z tego względu, że jest to dobrze skompresowane archiwum i ściąganie trwa krócej.

Gdy mamy już nasze jajeczko w najnowszej wersji przenosimy je do katalogu /usr/src i wypakowujemy je następującym poleceniem:
tar xvjf linux-2.6.27.7.tar.bz2 Następnie tworzymy dowiązanie symboliczne: ln -s linux-2.6.27.7.tar.bz2 linux Przechodzi do katalogu /usr/src/linux i wykonujemy następująco: make clean && make mrproper
cp /boot/config-`uname -r` ./.config Drugie polecenie spowoduje wczytanie pliku konfiguracyjnego aktualnie używanego jądra do poprawnej kompilacji nowej wersji jądra.

Kompilację uruchamiamy poprzez dowolny program (oczywiście do tego przeznaczony), ja posłużyłem się tutaj narzędziem menuconfig. make menuconfig Zaznaczamy pole: Load an Alternate Configuration File spowoduje to wczytanie pliku .config.

Gdy wszystko pójdzie bez najmniejszego problemu, najeżdżamy na pole ,,Exit'', zostaniemy zapytani, czy chcemy zapisać nową konfiguracje jądra: Do you wish to save your new kernel configuration? oczywiście zgadzamy się na to i wybieramy pole ,,Yes''.

Do zbudowania nowej wersji jądra wydajemy jeszcze dwa polecenia: make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers Trochę to trwa w zależności od szybkości naszego komputera. Na moim sprzęcie tj. procesor 2.4gHz, 1GB pamięci ramu zajęło to około 30 minut. Gdy wszystko wykona się bez problemu powinniśmy w katalogu /usr/src zobaczyć dwie paczki .deb. ls
linux-headers-2.6.27.7-custom_2.6.27.7-custom-10.00.Custom_i386.deb
linux-image-2.6.27.7-custom_2.6.27.7-custom-10.00.Custom_i386.deb Ostatnią rzeczą jaka musimy wykonać jest instalacja nowego jądra w naszym systemie.
dpkg -i linux-image-2.6.27.7-custom_2.6.27.7-custom-10.00.Custom_i386.deb
dpkg - i linux-headers-2.6.27.7-custom_2.6.27.7-custom-10.00.Custom_i386.deb Doszedłem do momentu:

fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers Po jakimś czasie wysypuje mi się z takim o to komunikatem: make[1]: Entering directory `/usr/src/linux-2.6.32.10'
  CHK    include/linux/version.h
  CHK    include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-x86
  CALL    scripts/checksyscalls.sh
  Building modules, stage 2.
  MODPOST 1848 modules
WARNING: modpost: Found 22733 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
make[1]: Leaving directory `/usr/src/linux-2.6.32.10'
/usr/bin/make  EXTRAVERSION=.10-custom  ARCH=i386 \
                            -C Documentation/lguest
make[1]: Entering directory `/usr/src/linux-2.6.32.10/Documentation/lguest'
cc -m32 -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include -U_FORTIFY_SOURCE    lguest.c  -o lguest
lguest.c:21:25: error: sys/eventfd.h: No such file or directory
lguest.c:37:18: error: zlib.h: No such file or directory
lguest.c: In function âcreate_threadâ:
lguest.c:1027: warning: implicit declaration of function âeventfdâ
make[1]: *** [lguest] Error 1
make[1]: Leaving directory `/usr/src/linux-2.6.32.10/Documentation/lguest'
make: *** [debian/stamp/build/kernel] Error 2 Może mi ktoś powiedzieć co mu dolega i co mu się nie podoba. Ewentualnie jak rozwiązać ten problem.

Z góry dziękuję. Pozdrawiam.



fnmirk - 21-03-2010 12:10
Wykonałeś aktualizację systemu i zainstalowałeś odpowiednie pakiety wymagane do budowy pakietu deb?

Spróbuj zbudować pakiet jądra dystrybucyjnego na podobnej zasadzie.
http://debian.linux.pl/threads/16688...l=1#post107471



db - 21-03-2010 14:56
Na niektórych wersjach kernel-package problem z lguest jest znany.
Rozwiązanie: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=531583.
Brakuje Ci -- między innymi -- zlib1g-dev.
Polecam też edytować Documentation/lguest/lguest.c i usunąć: #include <sys/eventfd.h>



bryn1u - 21-03-2010 16:52
Dziękuję rzeczywiście tego nie było. Nie rozumiem jednej rzeczy skoro wczoraj kompilowałem i błąd wyskoczył dopiero pod koniec, a dzisiaj robię dokładnie to samo tylko, że od nowa. Konfig ten sam wszystko to samo i dostaje takie coś.

Może tutaj ktoś pomoże. Na dug.net kolega ma ten sam problem i nie wiemy co dalej robić. Jest to możliwe, żeby to była wina grsec?
net/ipv4/tcp_minisocks.c: In function  âtcp_check_reqâ:
net/ipv4/tcp_minisocks.c:681: error:  âgrsec_enable_blackholeâ undeclared (first use in this function)
net/ipv4/tcp_minisocks.c:681:  error: (Each undeclared identifier is reported only once
net/ipv4/tcp_minisocks.c:681:  error: for each function it appears in.)
make[3]: ***  [net/ipv4/tcp_minisocks.o] Error 1
make[2]: *** [net/ipv4] Error 2
make[1]:  *** [net] Error 2
make[1]: Leaving directory  `/usr/src/linux-2.6.32.10'
make: *** [debian/stamp/build/kernel]  Error 2 Rozwiązanie.

Jedna osoba podała to na forum. Sprawdziłem u siebie i działa rzeczywiście.

Trzeba zaznaczyć opcje w Grsecurity->Network Protections-> TCP/UDP blackhole.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis