Персонализирането на ядрото не е за всеки. Моля, имайте предвид, преди да опитате някое от тези неща, за да може системата ви да се счупи.
Има няколко причини, които искате да персонализирате ядрото си. Може да искате да отрежете ядрото само до необходимите услуги, особено ако имате сървър или специално устройство, което изисква само най-важното. Също така може да се наложи да подготвите ядрото си, за да поддържате хардуер, който понастоящем не се поддържа с ядрото, което използвате.
Тази статия няма да ви обясни как да я залепите, как да персонализирате текущото си. Ще имам още една статия, която обяснява как да се залепи ядрото ви и някои практически причини, поради които бихте искали да го направите.
За да започнете, трябва да разберем коя версия на ядрото в момента работим. Ще използваме командата uname за това
$ uname -r
2.6.17-10-generic
Сега трябва да инсталирате Linux source за вашето ядро, забележете, че изпълнявам ядрото 2.6.17-10, така че линията на инсталатора отразява това. За целите на тази статия можете да замените номера на ядрото за това, което изпълнявате. Също така трябва да инсталираме библиотеката с проклятия и някои други инструменти, които да ни помогнат да съставим.
sudo apt-get install linux-source-2.6.17 kernel-package libncurses5-dev fakeroot
Ако сте любопитни къде се инсталира източникът на Linux, можете да използвате командата dpkg, за да ви разкажем файловете в пакета. Ето резултата от моята система:
$ dpkg -L linux-source-2.6.17 /. /usr /usr/src /usr/src/linux-source-2.6.17.tar.bz2 /usr/share /usr/share/doc /usr/share/doc/linux-source-2.6.17 (trimmed)
Можем да видим, че източникът е инсталиран в директорията / usr / src в компресиран файл.
За да направим нещата по-лесни, ще се поставим в режим на root, като използваме sudo, за да отворим нова черупка. Има и други начини да направите това, но предпочитам по този начин.
sudo /bin/bash
Сега променете директорията в местонахождението на източника, така че да можем да инсталираме. Имайте предвид, че може да се наложи да инсталирате помощната програма bunzip, ако не е инсталирана. (беше на мен)
cd /usr/src
bunzip2 linux-source-2.6.17.tar.bz2
tar xvf linux-source-2.6.17.tar
ln -s linux-source-2.6.17 linux
Направете копие на съществуващата конфигурация на ядрото, което да използвате за процеса на персонализирано компилиране. Забележете, че "знакът е под кода на тилда"
cp /boot/config-`uname -r` /usr/src/linux/.config
Сега ще стартираме програмата, която ще ни позволи да персонализираме ядрото:
cd /usr/src/linux
make menuconfig
Най-напред отидете надолу, за да заредите алтернативен файл за конфигуриране и заредете файла.config. (просто натиснете Enter)
Сега, когато сме в помощната програма, можем да настроим опциите за персонализираното ни ядро. Навигацията е доста проста, има легенда в горната част, ако се загубите. Реших да избера Мрежа и да натиснете клавиша Enter, за да отидете в тази категория.
Когато приключите с избора си, натиснете Изход и запазете конфигурацията, когато получите подкана.
Сега имаме конфигурация, готова за компилиране. Първо ще направим чиста, само за да сме сигурни, че всичко е готово за компилацията.
make-kpkg clean
След това всъщност ще компилираме ядрото. Това ще отнеме много време, затова намерете нещо интересно.
fakeroot make-kpkg –initrd –append-to-version=-custom kernel_image kernel_headers
Този процес ще създаде два.deb файла в / usr / src, които съдържат ядрото. Файлът linux-image **** е действителното изображение на ядрото, а другият файл съдържа файла, който можете да инсталирате както с dpkg. Имената на файловете вероятно ще бъдат различни във вашата система.
Моля, имайте предвид, че когато стартирате тези следващи команди, това ще замени новото ядро като ново ядро по подразбиране. Това може да наруши нещата! Ако машината не стартира, можете да натиснете Esc в менюто за зареждане на GRUB и да изберете старото си ядро. След това можете да деактивирате ядрото в /boot/grub/menu.lst или да опитате да компилирате отново.
dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
Сега рестартирайте машината си. Ако всичко работи, трябва да използвате новото си персонализирано ядро. Можете да проверите това, като използвате uname. Имайте предвид, че точният номер ще бъде различен на вашето устройство.
uname -r
2.6.17.14-ubuntu1-custom
Имам намерение да напиша поредица от статии за персонализиране на ядрото, за да се абонирате за RSS емисиите за актуализации.
Също така, в интерес на пълното разкриване, научих се как да направя това от статия в HowtoForge, което е страхотен сайт за някои много напреднали уроци по Linux. Ще забележите, че много от стъпките в тази статия са подобни, въпреки че се опитах да направя тази статия "Ubuntu".