Twitter: @tiradoir ну я таки сдавать, а не покупать 9 hrs ago
30
Октябрь

Нестандартный подход к сборке модулей в ArchLinux

Пользователям ArchLinux, использующим альтернативные ядра, известен геморрой с модулями ядра. В убунте то DKMS есть, а тут… Тот же модуль nvidia, находящийся в [extra], предназначен исключительно для стокового ядра -ARCH. А я вот использую ядра ветки -ZEN (которые сам и мейнтейню, впрочем) и каждые недели две выходит новый релиз, зачастую ломающий старые модули нвидии. Про смещение по ветви я и вовсе молчу.

Пакет nvidia-zen в AUR уже сто лет как устарел, а на мое письмо в maillist с просьбой забрать у текущего владельца пакет и оставить его без владельца никто не ответил.

Время шло, проблема не исчезала. Тогда я решился написать generic-way под все ядра.

Быстрый просмотр PKGBUILDа nvidia ясно дал знать, что все самое интересное и нужное находится в nvidia-binary-package/usr/src/nv. Все остальное было просто мусором. Посему исходники модуля были скопированы в /usr/src/nvidia и был написан простенький скрипт, который по команде buildmodule-nvidia собирал и устанавливал модуль под текущее запущенное ядро. Собственно скрипт, главная его часть, содрана с официального PKGBUILD.

cd /usr/src/nvidia/
ln -s Makefile.kbuild Makefile
make SYSSRC=/lib/modules/`uname -r`/build module || return 1
mkdir -p /lib/modules/`uname -r`/kernel/drivers/video/
install -m644 nvidia.ko /lib/modules/`uname -r`/kernel/drivers/video/
depmod `uname -r`

Заходим в консоль, от рута набираем buildmodule-nvidia, и все – модуль собран и установлен.

Казалось бы, проблема была решена. Но хотелось как то помочь людям с подобной проблемой, посему после 20-минутных потуг я родил пакет nvidia-builder, который вы и можете наблюдать в АУРе.

Комментарии (2) к записи “Нестандартный подход к сборке модулей в ArchLinux”

  1. камины пишет:

    О спасибо. Наконец то больше не придеться мучаться.

  2. xlin пишет:

    Спасибо.. как раз всегда мучался с этой проблемой. Использую ZEN ядро и то что сделали прямо в точку )) Хотелось бы еще найти ядро для стареньких компов (Целерон 1.8), но с патчами.


Оставить комментарий


Имя (обязательно):
E-Mail (обязательно):
Ваш сайт:

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Webmoney огораживается от других ПС    | Julian Smith - Techno Jeep    | Index!    | Exams summary…    | Web-2.0    | Progress…    | Linux inside!    |
BlogMemes.ru blogo blogboosterpopularsite