Запомняне

» Здравейте
[ Вход :: Регистриране ]
 » Начало » Li Форуми » Li Бързи Съвети » Kernels & Drivers » Компилиране на custom ядро под Debian
  • Страница 1 от 1 Skip to Page:
  • 1
Тема: Компилиране на custom ядро под Debian
Мнение #1 Skip to the next post in this topic.
Написано на: Февруари 17 2006, 00:25
phantomlord
 
Phantom Lord
Avatar




Група: Li maniacs
Мнения: 665
Регистриран: Август 2005

Оценка: няма

Offline
Компилирането на ядро под Debian освен по стандартния, може да си извърши и по специфичен за Debian начин, който ще опиша тук. Както ще видите, всичко става много лесно.

#1 Влезте в конзолата като супер потребител (su)

#2 Свалете сорса на ядрото чрез apt-get:
Код: 
apt-get install linux-source-2.6.xy

като замените ‘xy’ с избраната от вас версия на ядрото налична в apt хранилищата за Debian.
- За проверка на налични версии изпълнете:
Код: 
apt-cache search linux-source

- За да свалите сорса на избраната от вас версия:
Код: 
apt-get install linux-source-2.6.xy

- Към момента на писане на тази статия, последната налична версия е ‘2.6.15’. По-надолу ще давам примерите си именно с тази версия. В този случай се изпълнява:
Код: 
apt-get install linux-source-2.6.15


Забележка: Новите версии на ядрото са достъпни за сваляне и инсталиране от „unstable“ хранилищата. За да имате достъп до тях чрез apt-get, необходимо е да имате следните редове във файла ‘/etc/apt/sources.list’:
Цитат:

deb ftp://ftp.bg.debian.org/debian/ unstable main contrib non-free
deb-src ftp://ftp.bg.debian.org/debian/ unstable main contrib non-free

Не забравяйте след редакцията на sources.list да изпълните:
Код: 
apt-get update


#3 Отидете в директорията ‘/usr/src’ и разархивирайте сорса на ядрото:
Код: 
cd /usr/src
tar -jxvf linux-source-2.6.15.tar.bz2


#4 Влезте в директорията, където е разархивиран сорса:
Код: 
cd /usr/src/linux-source-2.6.15


#5 Изпълнете командата:
Код: 
make menuconfig

Забележка: За предпочитане е да използвате за база ‘config’-a на текущото ви ядро.

#6 Изберете:
Цитат:

Load an Alternate Configuration File

и задайте пълния път до файла. Намира се в директорията /boot

#7 Направете настройките, които да се използват при компилирането на новото ядро. Това отнема много време. Препоръчвам да настроите ядрото съобразно наличния ви хардуер, според това дали процесорът ви е Pentium или AMD. Препоръчвам изключване на модулите, които отговарят на хардуер, който не е наличен и никога няма да бъде наличен в конфигурацията ви. Например, ако дъното ви е с чипсет NForce, интегрирайте модула в ядрото. Останалите модули съответстващи на други чипсети ги изключете. Може да изключите и други неща, които едва ли ви трябват – Amateur radio support, SCSI and RAID support и т.н. Просто разгледайте наличните опции и конфигурирайте ядрото според вашата система и нужди. Можете да използвате следните клавиши и клавишни комбинации:
‘Shift+?’ - за да видите описание на избран модул (за какво служи, от какво зависи и др.)
‘/’ - за търсене.
Не интегрирайте поддръжката на вашата видеокарта в ядрото, а я оставете като модул, защото наличните в ядрото драйвери не поддържат 3D ускорение. Ако ги интегрирате, после няма да можете да инсталирате допълнителните модули предлагани от производителя на видеокартата за активиране на 3D.
Като приключите с настройките, запишете конфигурацията.

#8 Изпълнете:
Код: 
make-kpkg clean
fakeroot make-kpkg --revision=custom.1.0 kernel_image

и компилирането на ядрото ще започне. На моята конфигурация процесът протича около 40 мин. и зависи от бързината на системата ви. Ако компилирането прекъсне с някаква грешка, изпълнете:
Код: 
make clean

и започнете наново с
Код: 
make menuconfig


#9 Когато процесът завърши, в предишната директория (в случая ‘/usr/src’) ще бъде създаден файл ‘linux-image-2.6.15_custom.1.0_i386.deb’.
Инсталирайте го по стандартния начин:
Код: 
dpkg -i linux-image-2.6.15_custom.1.0_i386.deb


#10 За да можете да стартирате новото ядро, изпълнете:
Код: 
mkinitrd.yaird -o /boot/initrd.img-2.6.15 2.6.15
update-grub


Това е всичко. Само не махайте старата версия на ядрото, преди да се уверите, че новата работи. Ако го направите, после трудно ще успеете да стартирате системата си. Но не е невъзможно, знам от опит ;)
Като завършите с точка ‘#10’ е време да рестартирате компютъра и новото ядро да се  зареди. Стискам палци да запали!!!
Ако имате да правите някакви корекции или да питате нещо, просто пишете.

Източник


Редактирано от phantomlord на Февруари 17 2006, 23:15

Debian lenny/sid, 2.6.24-phantomlord, KDE 3.5.9
http://myfreesoft.net/phpBB2/index.php?c=7
The knowledge is to be shared...
Помогни си сам, за да ти помогне и Господ
Контакти:  phantomlord

  • AOL  AOL:
  • ICQ  ICQ: 322393169
  • MSN  MSN:
  • YIM  Yahoo IM:
Мнение #2 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Февруари 17 2006, 16:45
the_mouse
 

Avatar




Група: Li fans
Мнения: 131
Регистриран: Юли 2005

Оценка: няма

Offline
Оооо, мерси, ще пробвам, но имам някои въпроса: понеже не съм правил нещо подобно преди какво точно ще мога да направя ако ядрото "не запали" (което между другото е много обнабеждаващо  :6: ) ? Или по-точно как мога да си върна старото ядро ако новото не съм го настроил добре? И ще трябва ли да се инсталират други драйвери, защото аз питах Илия (дето прави Тиликс) за това има ли смисъл да прекомплирам и той ми каза, че има, но ще изгубя драйверите, които той сложил в ядрото за поддръжка на повече хардуер - за това какво друго ще трябва да направя след комплирането? Друго, в какви точно аспекти се ускорява работата на системата, че да преценя риска (кажеш ли всичко, още тая вечер се захващам :60: ). Аз например съм много заинтересован от това, защото постоянно търся начини да ускоря бързодействието на Линукс, че моя комп е 851мхц, 256МБ рам и ми се иска да оптимизирам малко нещата  :43:

Контакти:  the_mouse

  • AOL  AOL:
  • ICQ  ICQ: 317287252
  • MSN  MSN:
  • YIM  Yahoo IM: Othe_mouseO
WEB  
Мнение #3 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Февруари 17 2006, 22:49
phantomlord
 
Phantom Lord
Avatar




Група: Li maniacs
Мнения: 665
Регистриран: Август 2005

Оценка: няма

Offline
Старото ти ядро няма да се махне, освен ако ти не направиш това. Като рестартираш, ще имаш възможност от boot-loadera си да избереш дали да се стартира старото или новото ядро. Ако новото не тръгне, си пусни и ползвай старото, докато не разбереш къде е проблема и не го отстраниш.
Да, след като комоилираш, ще се наложи отново да се инсталират драйверите, които се добавят допълнително. Това засяга предимно драйвера на видеокартата. Аз лично не мога да си представя какви други допълнителни драйвери е нужно да се инсталират. Освен тях, не ми се е налаго да инсталирам други, откакто ползвам Linux.

Debian lenny/sid, 2.6.24-phantomlord, KDE 3.5.9
http://myfreesoft.net/phpBB2/index.php?c=7
The knowledge is to be shared...
Помогни си сам, за да ти помогне и Господ
Контакти:  phantomlord

  • AOL  AOL:
  • ICQ  ICQ: 322393169
  • MSN  MSN:
  • YIM  Yahoo IM:
Мнение #4 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Февруари 18 2006, 22:12
the_mouse
 

Avatar




Група: Li fans
Мнения: 131
Регистриран: Юли 2005

Оценка: няма

Offline
10x много, сега ще пробвам  :43:

Редактирано от the_mouse на Февруари 18 2006, 22:25

Контакти:  the_mouse

  • AOL  AOL:
  • ICQ  ICQ: 317287252
  • MSN  MSN:
  • YIM  Yahoo IM: Othe_mouseO
WEB  
Мнение #5 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Февруари 19 2006, 12:18
mcwolf
 

No avatar chosen




Група: Li gurus
Мнения: 1489
Регистриран: Април 2005

Оценка: 5

Offline
само да ви обърна внимание че технически phantomlord не е прав - ако се прекомпилира ядрото със което сте в момента (ядро със същата версия) няма голям шанс да скапете стартото ядро (за да стане това трябва да копирате новото ядро върху старото) - до тук добре но при изпулнение на make modules_install се копират модулите който ползва ядрото в директория /lib/modules/X.Y.Z - така модулите на новото ядро ще се умешат със тези на старото и в крайна сметка само последното компилирано ядро ще работи като хората

за да избегнете това трябва да се редактира Makefile (този файл "ръководи" реалната компилация на ядрото) - във него трябва да се добави нещо по което това ядро да се различава от старото ви ядро със същата версия - това става като редакторате стойността на променливата EXTRAVERSION
например:
Код: 

EXTRAVERSION = -1MyLinux


незнам дали го обясних като хората - тук май са го обяснили по добре :) (debian може и да го прави това автоматично а може би не - несъм сигурен - но е хубаво да го имате в предвид когато експериментирате с ядра)
Контакти:  mcwolf

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #6 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Февруари 19 2006, 15:52
the_mouse
 

Avatar




Група: Li fans
Мнения: 131
Регистриран: Юли 2005

Оценка: няма

Offline
Ако комплирам по-нова версия на ядрото, ще се умешат ли пак?  :14:

Контакти:  the_mouse

  • AOL  AOL:
  • ICQ  ICQ: 317287252
  • MSN  MSN:
  • YIM  Yahoo IM: Othe_mouseO
WEB  
Мнение #7 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Февруари 19 2006, 16:32
mcwolf
 

No avatar chosen




Група: Li gurus
Мнения: 1489
Регистриран: Април 2005

Оценка: 5

Offline
не - със по нова (или по стара) версия няма да има проблеми - реално проблемът се получава от името на директорията с модулите /lib/modules/X.Y.Z (ако имаш ядро с версия 2.6.12 директорията ще е /lib/modules/2.6.12/ и ако решиш да компилираш например ядро с версия 2.6.15 ще се създаде нова директория с име/lib/modules/2.6.15/ старата директория ще се запази) - обаче ако искаш само да си пачнеш ядрото за да си добавиш поддръжка на нещо и направиш това горе с редактирането на Makefile-а модулите на новото ядро ще се запишат в /lib/modules/2.6.12-1MyLinux/
Контакти:  mcwolf

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #8
Skip to the previous post in this topic. Написано на: Февруари 19 2006, 17:44
phantomlord
 
Phantom Lord
Avatar




Група: Li maniacs
Мнения: 665
Регистриран: Август 2005

Оценка: няма

Offline
Проблем (малък) ще има, само ако текущото ядро е 2.6.15 и се компилира отново ядро 2.6.15 от сорс. При инсталацията на новото ядро ще излезе съобщение, че вече съществува папката /lib/modules/2.6.15 и въпрос дали новите модули да се сложат върху старите. По-добре е старата папка да се преименува примерно на 2.6.15.old преди да се инсталира новото ядро.

Debian lenny/sid, 2.6.24-phantomlord, KDE 3.5.9
http://myfreesoft.net/phpBB2/index.php?c=7
The knowledge is to be shared...
Помогни си сам, за да ти помогне и Господ
Контакти:  phantomlord

  • AOL  AOL:
  • ICQ  ICQ: 322393169
  • MSN  MSN:
  • YIM  Yahoo IM:
Общо 7 отговор(а) от Февруари 17 2006, 00:25 до сега
  • Страница 1 от 1 Skip to Page:
  • 1
 » Начало » Li Форуми » Li Бързи Съвети » Kernels & Drivers » Компилиране на custom ядро под Debian

© 2014 Linux Index Project
Powered by iF 1.0.0 © 2006 ikonForums