|
Компилиране на ядро
Линукс-ядрото е особено комплексен и важен компонент за всяка линукс-система. Това означава, че ядрото изисква особени грижи и внимание при инсталиране на софтуер и поддръжка. Независимо от факта, че можем да инсталираме некомпилирано ядро като всеки друг некомпилиран пакет, компилиране на ядрото има редица предимства. Самото компилиране не е нещо сложно, но има някои особености, които трябва да се вземат под внимание. Защо трябва да компилираме ядрото. След като инсталираме даден линукс и всичко функционира добре, тоест линукса тръгва, означава нищо друго, а факта, че ядрото от дадената дистрибуция функционира правилно. Тогава ще си зададен въпроса, защо е нужно изобщо да качваме ново ядро. Едно ново ядро ни дава редица предимства, а те са: Оптимизация на архитектурата - Ядрото съдържа оптимизации за всеки процесор- било то 386,486 и други. Масовите дистрибуции съдържат оптимизации за 386,486 архитектури. Едно компилиране на ядро ще ни помогне да си оптимизираме процесора, за да изкараме от системата повече бързина. Премахване на излишните драйвери, съответно добавяне на нови - Стандартните ядра съдържат драйвери за редица компоненти. Някои от тях се съдържат в отделни файлове, които не се зареждат, преди да са необходими, но други са компилирани директно в ядрото. Тези изискват допълнителна памет и намаляват ефективността на системата. Така че един ново компилиране ще ни помогне да се освободим от излишните компоненти. Обратното е за новите драйвери. Но при тях се изискват пачове за ядрото, ако ги няма в официалните версии. Естествено всяко компилиране има и недостатъци. Може да се окаже например, че след нова компилация, ядрото не функционира. Това ще наложи да се бутва старото ядро, което изисква време, да не говорим за нова инсталация. Преди да компилирате ще се наложи да си свалите нова версия на ядрото. То може да е в различни форми- rpm, tarball, debian-package и други. За предпочитене са tarball-овете, защото например rpm може да е модифициран по различен начин. Можете да си набавите ядро от www.kernel.org. Ако сваляте debian-packages или rpm ще се наложи вероятно да свалите два файла:ядро-хедър и ядро-сорс. Tarballs съдържат всичко в едно. След като свалите дадено ядро, можете да го разархивирате в /usr/src. Ако /usr/src съдържа поддиректория linux, трябва да я преименувате, иначе новите и старите файлове ще се смесят! Tarball ядрото се разархивира като всеки друг пакет: CODE
CODE
CODE
CODE
CODE
След като конфигурирате успешно следва компилирането : CODE
CODE
CODE
С първия ред правите зависимостите - dependencies, което помага на компилатора в зависмост от зависимостите да компилира компонентите. Втората команда компилира ядрото. Това ще резултира файл, който е запазен в /usr/src/linux/arch/ix86/boot. При Intel поддиректорията /ix86 има друго име. След тези стъпки можете да започнете инсталацията на ядрото и модулите. За можете да бутнете новото ядро трябва да сте запазили файла bzImage на правилното му място естествено. Повечето системи използват LILO за да бутват ядрото.Обикновено ядрото се съдържа в директорията /boot. За да го копирате там можете да използвате следната команда: CODE
CODE
CODE
С тази информация се идентифицира ядрото и опциите.Следва да се променят параметрите, за да съответстват на новото ядро. Трябва да се проми редът image, който да сочи към компилираното ядро в boot. Редът label трябва да се промени с новата информация за ядрото, например label=linux-2.6..... Редът initrd трябва да се премахне или, ако сте направили нов, трябва да посочите новия. След като сте променили информацията, се извиква lilo, за да се запази новата конфигурация. Lilo трябва да показва редове, започващи с Added, които да информират за настъпилите промени, съответно за дабавените нови label-и. Сега вече можем да тестваме системата. След ребутване посочвате в лилото новия лейбъл, който сме задали в конфигурацията. Или ако са посочени различните ядра, избираме новото ядро, което да зареди системата. Това е за ядрото, надявам се да съм бил полезен.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||









