LINUX.ORG.RU

Сборка nvidia.ko вручную


0

2

Вопрос вроде бы не сложный, но ответа найти не смог, как собрать только модуль ядра nvidia.ko, не устанавливая драйвер целиком?

Так можно распаковать пакет

sh ../NVIDIA-Linux-x86-275.21.run -x

Так запустить процесс установки, но указать, что собирать только модуль, но установщик требует отановить X сервер

./nvidia-installer -K
./nvidia-installer -A // Advanced опции

Как собрать модуль вручную, с помщью make и gcc, в директории с распакованным пакетом драйверов есть поддиректория kernel, в ней даже есть Makefile, но простой вызов make не собирает модуль.

★★★★★

ничего он не требует остановить - покури опции внимательней - там есть ключик для этого

megabaks ★★★★
()
Ответ на: комментарий от AEP

Спасибо, собирается, кхм, только как уазать для какого ядра собирать, он по умолчанию для текущего (загруженного) собирает.

kostik87 ★★★★★
() автор топика
Ответ на: комментарий от megabaks

Действительно, просмотрел "--no-x-check".

kostik87 ★★★★★
() автор топика
Ответ на: комментарий от megabaks

>ничего он не требует остановить - покури опции внимательней - там есть ключик для этого

блин, а я его все время с выключенными иксами собирал(

annulen ★★★★★
()

>как собрать только модуль ядра nvidia.ko, не устанавливая драйвер целиком?

а зачем тебе? если версии модуля и иксового драйвера не совпадут, не заработает

annulen ★★★★★
()
Ответ на: комментарий от annulen

Я знаю, просто у меня несколько ядер и после обновления драйверасобирать под каждое ядро модуль, переустанавливая пакет с драйверами, как то через чур.

У меня gentoo, emerge nvidia-drivers - переустановит драйвер и соберёт модуль под ядро, на которое указывает ссылка /usr/src/linux. Может есть возможность устанавливать (пересобирать) только модуль, но я не уверен.

Поэтому и хотелосьбы положить в /usr/src/nvidia_kernel исходники и дав несколько команд собрат только модуль под необходимые мне ядра, что бы не переустанавливать драйвер целиком.

kostik87 ★★★★★
() автор топика
Ответ на: комментарий от kostik87

>Я знаю, просто у меня несколько ядер и после обновления драйверасобирать под каждое ядро модуль, переустанавливая пакет с драйверами, как то через чур.

DKMS?

annulen ★★★★★
()
Ответ на: комментарий от kostik87

> только как уазать для какого ядра собирать

Прочтите Makefile - там есть параметр SYSSRC

make SYSSRC=/li/module/<your.kernel.here>/build module

Nastishka ★★★★★
()
Ответ на: комментарий от annulen

> а зачем тебе? если версии модуля и иксового драйвера не совпадут, не заработает

Например, после обновления ядра пересобрать модуль без наоичия kmod

Nastishka ★★★★★
()
Ответ на: комментарий от Nastishka

Премного благодарен.

for ver in `find /usr/src/linux* -maxdepth 0 -type d` 
 do 
   make SYSSRC=$ver/ module 
   mkdir -p /lib/modules/{ver:15}/video/nvidia
   cp nvidia.ko /lib/modules/{ver:15}/video/nvidia/
   depmod {ver:15}
   make clean
done

Только вроде нужно указывать директорию с исходными кодами, а не с модулями.

Но всё равно, спасибо.

kostik87 ★★★★★
() автор топика
Ответ на: комментарий от kostik87

> Только вроде нужно указывать директорию с исходными кодами, а не с модулями.

Когда Вы ставите ядро через make install, то в каталоге /lib/modules/<версия>/ создается символьная ссылка, указывающая на каталог с исходниками ядра :-)

На самом деле, там нужны даже не исходники, а include (файлы *.h)

Nastishka ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.