Mała uwaga, przykładowy plik z patchem grsec ma nazwę
grsecurity-2.1.14-2.4.37.7-200911101931.patch
oznacza to, że łatka jest w wersji 2.1.14 dla kernela 2.4.37.7 (wiec trzeba korzystać dokładnie z tych źródeł kernela) oraz data jej wydania. Na początek instalujemy wymagane pakiety
apt-get update;apt-get install kernel-package libncurses5-dev build-essential
następnie ściągamy kernela oraz łatkę
cd /usr/src
wget http://grsecurity.net/test/grsecurity-2.1.14-2.6.31.5-200910312135.patch
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.5.tar.bz2
rozpakowujemy kernela oraz patchujemy go
tar -xjf linux-2.6.31.5.tar.bz2
patch -p0 < grsecurity-2.1.14-2.6.31.5-200910312135.patch
następnie wybór polityki grsec
cd linux-2.6.31.5
make menuconfig
w menu wybieramy
Security options > Grsecurity > Security Level > High
Security options > Grsecurity > Sysctl support > Sysctl support
Security options > Grsecurity > Sysctl support > Turn on features by default
w tym wypadku wybraliśmy najwyższą politykę bezpieczeństwa grsec, ich dokładny opis można przeczytać pod tym adresem, następnie przechodzimy do kompilacji kernela
make-kpkg clean
make-kpkg –initrd kernel_image kernel_headers
po kompilacji instalujemy gotowe paczki
cd /usr/src
dpkg -i linux-headers-2.6.31.5.10112009-grsec_2.6.31.5.10112009-grsec-10.00.Custom_i386.deb
dpkg -i linux-image-2.6.31.5.10112009-grsec_2.6.31.5.10112009-grsec-10.00.Custom_i386.deb
tworzymy plik initrd
update-initramfs -k 2.6.31.5.10112009-grsec -c
na koniec trzeba jeszcze tylko edytować menu gruba
/boot/grub/menu.lst
i upewnić się czy wszystko jest dobrze dopisane analogicznie do standardowego wpisu z pierwotnie zainstalowanym kernelem
title Debian GNU/Linux, kernel 2.6.31.5-grsec
root (hd0,0)
kernel /boot/vmlinuz-2.6.31.5-grsec root=/dev/sda1 ro
initrd /boot/initrd.img-2.6.31.5-grsec
prawdopodobnie będzie brakowało linijki
initrd /boot/initrd.img-2.6.31.5-grsec
która trzeba będzie dopisać ręcznie, następnie restartujemy system i przy starcie w menu gruba wybieramy nowy kernel :-).