от Никола Антонов(24-02-2003)

рейтинг (24)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

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-хранилище за начинаещи >>