[#] Kompilacja jądra Linux według Ubuntu.

( Ostatnio zmieniony wt., 08/07/2008 - 02:56 )
 

Domyślnie w Ubuntu /bin/sh jest dowiązane do /bin/dash. /bin/dash może powodować problemy podczas kompilacji ze źródeł, dlatego też zamienimy je na /bin/bash. Tak aby /bin/sh wskazywał /bin/bash.

Aby sprawdzić czy tak jest wykonaj:

ls -all /bin/sh

Jeśli w wyniku ujrzysz coś takiego:

lrwxrwxrwx 1 root root 4 2007-04-21 02:46 /bin/sh -> dash

Oznaczać to będzie, że najwyraźniej powinieneś wykonać co następuje:

Zmieniamy dowiązanie:

rm -f /bin/sh
ln -s /bin/bash /bin/sh

Instalujemy potrzebne do kompilacji pakiety

sudo apt-get update
sudo apt-get install kernel-package libncurses5-dev fakeroot wget bzip2

Przechodzimy do /usr/src i pobieramy źródła nowego jądra Linux

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.1.tar.bz2

a następnie je rozpakowujemy i tworzymy dowiązanie:

tar xjf linux-2.6.20.1.tar.bz2
ln -s linux-2.6.20.1 linux
cd /usr/src/linux

Jeśli chcemy załatać nasze nowe jądro lub zmodyfikować jego funkcjonalność, wykonaj:

bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run
bzip2 -dc /usr/src/patch.bz2 | patch -p1

Przykład łatania starszych źródeł jądra nowszym patch'em:

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.21-rc1.bz2
cd /usr/src/linux
bzip2 -dc /usr/src/patch-2.6.21-rc1.bz2 | patch -p1 --dry-run
bzip2 -dc /usr/src/patch-2.6.21-rc1.bz2 | patch -p1

Kopiujemy istniejącą konfigurację jądra:

cp /boot/config-`uname -r` ./.config

Uruchamiamy konfigurator jądra:

make menuconfig

Budujemy jądro

make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

Zobaczmy co się wykonało:

cd /usr/src
ls -l

Powinieneś zobaczyć dwa pakiety .deb, zainstaluj je:

dpkg -i linux-image-2.6.20.1-custom_2.6.20.1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.20.1-custom_2.6.20.1-custom-10.00.Custom_i386.deb

Teraz dodajmy nowe jądro do menu.lst naszego gruba:

sudo mcedit /boot/grub/menu.lst
title           Ubuntu, kernel 2.6.18.1-custom
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.18.1-custom root=/dev/sda1 ro quiet splash
initrd          /boot/initrd.img-2.6.18.1-custom
savedefault
boot

title           Ubuntu, kernel 2.6.18.1-custom (recovery mode)
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.18.1-custom root=/dev/sda1 ro single
initrd          /boot/initrd.img-2.6.18.1-custom
boot

I teraz tylko pozostaje nam zrobić reboot i wybrać na starcie nasze nowe jajko.

Powodzenia.

Twoja ocena: Brak Średnio: 5 (8 głosów)

Dodaj nową odpowiedź

Informacja:

Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich, mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną. Upewnij się, że twoja wypowiedź nie godzi w niczyje mienie.

  • Internal paths in single or double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or path. Paths to files in single or double quotes, written as "files:somefile.ext", for example, are replaced with the appropriate URL that can be used to download the file.
  • Adresy internetowe są automatycznie zamieniane w odnośniki, które można kliknąć.
  • Dozwolone znaczniki HTML: <strong> <blockquote> <code>
  • Znaki końca linii i akapitu dodawane są automatycznie.

Więcej informacji na temat formatowania

Łapirobot
Proszę odpowiedzieć
c
3
D
s
M
4
D
V
7
6
Enter the code without spaces and pay attention to upper/lower case.