LINUX-BG   Адрес : http://www.linux-bg.org
kernel-package - начин на употреба
От: Никола Антонов
Публикувана на: 24-02-2003
Адрес на статията: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=programs&key=348703992

kernel-package - начин на употреба

Темата за компилацията на ядрото винаги ме е вълнувала живо. Тук ще споделя своя опит в използването на инструмента kernel-package, който е характерен за Debian GNU/Linux. Този инструмент позволява на потребителя максимално да улесни и автоматизира работата си около обслужването на Linux-ядрото: компилация, конфигурация, пачване, добавяне на драйвери... Както обикновено, няма да се впускам в подробности, за които си има достатъчно документация. Целта ми е да подчертая основното, идеята, както и опита си по две конкретни задачи, с които искам да илюстрирам смисъла от използването на kernel-package във всекидневието.

apt-get install kernel-package

След като се инсталира, можете да въведете личните си данни в /etc/kernel-package.conf, така че създаденият от вас .deb-пакет с новото ядро ще носи информация за онзи, който го е създал. Ставате maintainer:))

Мечтата ми винаги е била, след като изтегля сорса на ядрото и го компилирам, да го пакетирам лесно в удобен за управление формат и да инсталирам новто ядрото по официалния за дистрибуцията начин, като по този начин го направя част от системата. Именно тези възможности ми даде инструментът kernel-package.

1. Основни процедури с kernel-package



В Debian можете да си инсталирате сорса на избраното от вас ядро, леко пачнат от авторите на дистрибуцията, или да си разпакетирате upstream-архива от ftp.kernel.org, т.е. официалния изходен код.

apt-get install kernel-source

В /usr/src ще се появи архивът със сорса, който вие трябва да разпакетирате. В резултат ще се появи нова директория /usr/src/kernel-source-x.x.x, към която е добре да създадете символна връзка:

ln -s /usr/src/kernel-source-x.x.x /usr/src/linux

cd /usr/src/linux

Командата, с която можете да зададете комплексо цялата процедура по конфигурацията и компилацията, е следната:

make-kpkg --config menuconfig kernel_image

Така, все едно сте казали едновременно 'make menuconfig', 'make dep bzImage modules'. След цялата процедура в /usr/src ще се появи .deb-пакет с новото ядро, който можете да инсталирате по стандартния начин, а това ще ви спести и ровенето в /etc/lilo.conf. Предишното ядро ще бъде описано със суфикса .OLD и ще можете да го заредите като резервен вариант, ако сте объркали настройките преди компилацията на новото ядро. В случай, че използвате initrd, ще трябва да добавите още опция към командата:

make-kpkg --config menuconfig --initrd kernel_image

Внимание! Ако ползвате оригиналния сорс, преди цялата процедура трябва създадете стандартната директория debian, без която автоматизацията е немислима.

make-kpkg debian

Инсталиране на драйвери за ALSA и NVidia с kernel-package



След като съм настроил, компилирал и инсталирал новото ядро, пред мен стояха две задачи: 1) да компилирам драйвер за NVidia и 2) да компилирам ALSA. Ето как стана това, максимално просто и лесно.

apt-get install nvidia-glx-src nvidia-kernel-src alsa-source

Добре е да добавите в списъка и пакетите alsa-base (задължителен е!), alsa-utils и alsaconf (ако случайно притрябва). При инсталацията на пакета alsa-source ще бъдем попитани дали искаме да се компилират всички драйвери или само за конкертна звукова платка.

В /usr/src се появава една директория nvidia-glx-x.x.x, в която има само една поддиректория debian и нищо друго. Намираме и архив nvidia-kernel-src.tar.gz, който след като разархивираме, дава директория modules, в която сякаш също няма коя знае какво. Всъщност, това не са самите сорсове. Тези архиви съдържат само информацията, необходима за изтеглянето и компилирането на самите сорсове. А самите сорсове са все още на сървъра на NVidia. Те не могат да влязат в състава на дистрибуцията, защото не са под GPL. Не е така с архива alsa-driver.tar.gz. Той съдържа необходимите сорсове. Трябва да го разархивираме, за да ги добави в /usr/src/modules.

Следва лесна процедура:

cd /usr/src/nvidia-glx-x.x.x

dpkg-buildpackage -us -uc

Тази команда дава като резултат .deb-пакет с glx-модула на NVidia. Обърнете внимание как Debian ще се свърже със сървъра на NVidia, ще си изтегли сорса на модула и ще си го компилира пред очите ви. Същото ще направи и с kernel-драйвера.

cd /usr/src/linux

make-kpkg modules_image

Това е. След малко ще имате два .deb пакета с ALSA-драйверите за избраната от вас звукова платка и с драйвера на NVidia. Инсталирате пакетите по стандартния начин и рестартирате. Да, рестартирате. Не редактирате никакви конфигируцаионни файлове, не пипате /etc/modules и пр. - за всичко това се е погрижил вече Debian.

Можете да конфигурирате драйверите за ALSA (ако вече това не е станало при инсталирането на пакета) с помощта на инструмента alsaconf, който подобно на sndconfig за OSS просто редактира /etc/modules.conf по индиректен начин, чрез добавяне на информация в /etc/modutils. В Debian /etc/modules.conf не може да се редактира от потребителя, за ръчни указания е предвиден /etc/modules. Но това вече е друга тема.

Само за NVidia остава задължителното и познато на всеки редактиране на /etc/X11/XF86Config-4. Там, все пак, kernel-package няма власт:)

<< Управление на пакетите в Slackware Linux с помощта на Swaret | Създаване и управление на локално apt-хранилище за начинаещи >>

Авторите на сайта, както и техните сътрудници запазват авторските права върху собствените си материали публикувани тук, но те са copyleft т.е. могат свободно да бъдат копирани и разпространявани с изискването изрично да се упоменава името на автора, както и да се публикува на видно място, че те са взети от оригиналния им URL-адрес на този сървър (http://www.linux-bg.org). Авторските права на преводните материали принадлежат на техните автори. Ако с публикуването тук на някакъв материал неволно са нарушени нечии права - след констатирането на този факт материалът ще бъде свален.

All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
Linux is copyright by Linus Torvalds.
© Линукс за българи ЕООД 2007
© Slavei Karadjov 1999 - 2006

All rights reserved.

Изпълнението отне: 0 wallclock secs ( 0.15 usr + 0.04 sys = 0.19 CPU)