Форум: Предложения
Тема: Компилиране на собстено ядро под Ubuntu
Автор: icebridge

Мнение от icebridge пуснато на Юли 30 2006, 16:41
Преди всичко трябва да изберем < http://www.kernel.org/ >.
Последната стабилна версия или...някое от release canidate-тите.
Аке решим да изберем някоя от последните (не)стабилни весии
и решим да я patch-нем трябва да имаме впредвид,че пачната версия
се явава alpha release и почти сигурно ще си навлечем проблеми.
Което в никакъв случай не би трябвало да ни спре разбира се :)
Самите пачове са промени в изходния код целящи подобрение в подръжката(съвместимоста),
увеличаване на бързодействието(оптимизация),стабилноста в работата на системата и т.н.
Тоест добре е предварително да се запознаем с предлаганото решението
Смите пачове предоставени от различните разработчици можем да намерим
< http://www.kernel.org/pub/linux/kernel/people/ >.
Примерно последния patch на Con Kolivas може да се вземе от тук < http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.17/ >.

1) И така предполага се,че вече сме изтеглили и разархивирали ядро-то което сме избрали,
респективно разполагаме и с пачовете към него които сме счели за необходими.

2) Като предварително условие необходимо е да си усигурим наличието на всички компоненти
необходими за цялостното протичане на процеса:
sudo apt-get install build-essential bin86 kernel-package
sudo apt-get install libqt3-headers libqt3-mt-dev -необходими за xconfig

3) Вземаме администраторски(root) права чрез sudo -s -H

4*) Пачваме ако е необходимо избраното ядро.За целта примерно правим текуща
директорията с сорсовете на ядрото което ще компилираме и :
sudo bzcat <пълно име на пътя до пача>| patch -p1

5) Вземаме от /boot директорията config-<име на ядрото> файла за да
го използваме като шаблон и го копираме в директорията с сорсовете
на ядрото което ще компилираме като го приименуваме на .config :
cp /boot/config-<име на ядрото> .config

6*) ВАЖНО! Ако желаем по време на зареждане на системата след инсталиране на
ново-компилираното ядро да виждаме ubuntu (u)splash(т.е. картината с логото на Ubuntu
като екран на начално зареждане) е необходимо да редактираме някои секции в .config
файла по следния начин :

в секциата Graphics support:
CONFIG_FB_VGA16=m
CONFIG_FB_VESA=y

в секцията Console display driver support:
CONFIG_VGA_CONSOLE=y
CONFIG_MDA_CONSOLE=m
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y

7) Кофигураме ядрото :
make xconfig
На графичния екран който се показва избираме как да настроим ядрото
което ще компилираме според собстените си нужди,като избираме да маркираме
или да не маркираме сътветните опции.
- Можем да го отимизирамре за точния процесор с който раполагаме.
-Препоръчват се следните опции като "задължителни" :)
7.1) в General Setup активораме :
-Support for paging of anonymous memory (swap)
-Support for prefetching swapped memor
7.2) в Processor type and features активираме точния модел за
процесора на нашата машина(може и i386 :) )
7.3) в Preemption Model активираме Voluntary Kernel Preemption(Desktop)
7.4) в High Memory Support избираме :
   off ако сме с < 1 GB RAM
   1GB Low Memory Support ако сме с 1GB RAM
   или 4GB ако сме с > 1GB RAM
7.5) в Timer frequency избираме съответната опция,като в повечето случаи
тя е 1000 Hz
7.6) в секцията IO Schedulers деселектираме всичко освен CFQ I/O scheduler
като се твърди че това увеличава производителноста на системата.
7.7) в Kernel hacking деселектираме Kernel debugging

При всички случай е необходимо да разгледаме подробно предоставените
възможности като изберем тези които считаме за най-полезни и най-подходящи.
Може да се включи ntfs r/w support.Да се изключи подpъжката на PCMCA и т.н...

Записваме промените и затваряме редактора.

8) След като всичко е готово пристъпваме към компилация на ядрото.
За целта можем да изберем най-новата версия на компилатора с който
разполагаме така CC=<име на компилатора>.Примерно CC=gcc-4.1.
След което :
make-kpkg clean
make-kpkg -initrd --revision=-к8 kernel_image kernel_headers

На мястото на -к8 можем да напишем като име на разширението за
компилираното от нас ядро кавото си пожелаем.
Процеса на компилация трае около 40 мин.Така,че трябва да се
запасим и с малко търпение.

9) След приключване на процеса е необходимо да преместим
папката с хедър фаиловете на новото ядро в /usr/src тъй като те
по-натък те неминуемо ще ни потрябват.
След което трабва да изнталираме image за нашето ново ядро.
За целта пишем sudo dpkg -i name of the file ,
където name of the file е името на .deb файла генериран
в резултат процеса на компилация над избраното ядро.

10) Рестарт! :)
-----------------------------------------------------------------
Като системен win. разработчик принуден > 8h на ден
да прекарва времето си с това което до смърт му е омръзнало
се налага да оптимизирам времето за пристрастията си :)
...колко загубено време само :)
Нищо!За любовта няма граници!Всичко ще се оправи! :)
...и разбира се... далеч не всичко ми е ясно(в конкретика)!
За съжаление! За СЕГА !! :)
С най-добри пожелания,дано това Ви помогне!



Powered by ikonforums 1.0.0 © 2006 ikonforums