Пересборка ядра в Debian

Knoppix

Модераторы: Warderer, Модераторы разделов

Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Пересборка ядра в Debian

Сообщение sunny1983 »

Сразу предупреждаю - сейчас буду задавать дилетантские вопросы, поэтому не спешите отсылать в поиск и FAQи.

Руководства по сборке ядра читал много раз, знаю что сам процесс состоит из последовательности команд make xconfig, make clean, make и make install.
Вот make xconfig - самый загадочный этап, что на нём происходит? Ведь можно ядро и не конфигурировать, оно всё равно собирётся. Где хранятся настройки конфигурации ядра?

Главный вопрос из-за которого я задаю вопрос именно в этом разделе - для каждого дистрибутива ядро конфигурируется по своему? В чём особенности конфигурации ядра в Debian?

Если это действительно так, то задача1: "Как пересобрать ядро, чтобы всё в нём осталось как есть, но только изменить всего один-два параметра".
Начинаем с получения исходников? У меня сейчас "Squeeze", версия ядра 2.6.32-5-amd64. Ставлю пакет linux-source-2.6.32, у меня появляется файл /usr/src/linux-source-2.6.32.tar.bz2. Я так понимаю в этом архиве находятся уже сконфигурированные исходники и если я его распакую и скомпилирую без дополнительного конфигурирования то я получу точную копию своего текущего ядра.

Ладно, хватит вопросов на сегодня, сначала надо убедиться что я не заблуждаюсь. А так задача2 будет: "Как пересобрать ядро с серьёзным переконфигурированием, то есть либо исключением лишних модулей, либо добавлением сторонних". И задача3: "Как обновить ядро до более новой версии". Но их я задам попозже.

Но сначала такой момент. Я тут в некоторых статьях нашёл, что вместо make и make install в Debian нужно делать "make-kpkg --initrd --revision=custom.1.0 kernel_image". В других что "fakeroot make-kpkg --initrd --revision=custom.1.0 kernel_image". В обоих случаях результатом будем deb-пакет. Какой вариант более правильный.
Спасибо сказали:
m0r15
Сообщения: 19
ОС: ArchLinux, Debian, CentOS

Re: Пересборка ядра в Debian

Сообщение m0r15 »

на этапе make xconfig (в GUI варианте) make menuconfig (консоль) происходит непосрественная конфигурация. Результатом которого должен быть файл конфигурации по умолчанию вроде .config.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Пересборка ядра в Debian

Сообщение watashiwa_daredeska »

http://kernel-handbook.alioth.debian.org/c...mmon-tasks.html (почему-то описано без kernel-package)
http://www.debian.org/doc/manuals/debian-f...-kernel.en.html (тут с kernel-package, но мало)

sunny1983 писал(а):
24.01.2012 17:19
знаю что сам процесс состоит из последовательности команд make xconfig, make clean, make и make install.
Это vanilla. Дистрибутивное собирается несколько по-другому.

sunny1983 писал(а):
24.01.2012 17:19
make xconfig - самый загадочный этап, что на нём происходит?
Подготовка (изменение) конфига для сборки.

sunny1983 писал(а):
24.01.2012 17:19
Ведь можно ядро и не конфигурировать, оно всё равно собирётся.
Работающая конфигурация не значит, что это именно та конфигурация, которая Вам нужна.

sunny1983 писал(а):
24.01.2012 17:19
Где хранятся настройки конфигурации ядра?
/boot/config-$(uname -r) — для справки и для использования при сборке своего ядра. Изменение этих файлов, естественно, не ведет к изменению конфигурации готового ядра в /boot, ибо конфигурация при сборке «вкомпиливается» в ядро (если очень грубо).

sunny1983 писал(а):
24.01.2012 17:19
Я так понимаю в этом архиве находятся уже сконфигурированные исходники и если я его распакую и скомпилирую без дополнительного конфигурирования то я получу точную копию своего текущего ядра.
Нет. При конфигурировании нужно подсунуть конфигурацию текущего ядра.

sunny1983 писал(а):
24.01.2012 17:19
В чём особенности конфигурации ядра в Debian?
В патчах.

sunny1983 писал(а):
24.01.2012 17:19
задача2 будет: "Как пересобрать ядро с серьёзным переконфигурированием, то есть либо исключением лишних модулей, либо добавлением сторонних".
Побольше потыкать в галочки при конфигурировании.

sunny1983 писал(а):
24.01.2012 17:19
Какой вариант более правильный.
Насколько я понимаю, make-kpkg сам где надо использует fakeroot. Явно использовать fakeroot, скорее всего, безопасно, но будет несколько медленнее (fakeroot перехватывает некоторые вызовы к FS).
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: Пересборка ядра в Debian

Сообщение sunny1983 »

watashiwa_daredeska писал(а):
24.01.2012 17:46
sunny1983 писал(а):
24.01.2012 17:19
Я так понимаю в этом архиве находятся уже сконфигурированные исходники и если я его распакую и скомпилирую без дополнительного конфигурирования то я получу точную копию своего текущего ядра.
Нет. При конфигурировании нужно подсунуть конфигурацию текущего ядра.

sunny1983 писал(а):
24.01.2012 17:19
В чём особенности конфигурации ядра в Debian?
В патчах.

Для архива linux-source-2.6.32.tar.bz2 взятого с репозитория Debian MD5-сумма равна 27be1ba11acf249bbbcb0127969f3d6a.
Для архива linux-2.6.32.27.tar.bz2 взятого с kernel.org MD5-сумма равна c8df8bed01a3b7e4ce13563e74181d71.
То есть они отличаются. Вы говорите в патчах. Что это за патчи, для чего они нужны. То есть дебиановское ядро было пропатчено, потом снова запаковано в архив, но не сконфигурировано. А если же я возьму файл /boot/config-2.6.32-5-amd64, скопирую его в каталог с распакованным linux-source-2.6.32.tar.bz2 под именем .config, а потом выполню "make-kpkg --initrd --revision=custom.1.0 kernel_image" то в этом случае я получу точную копию своего текущего ядра?
На kernel.org последнее стабильное ядро имеет версию 3.2.1, в репозитории "Squeeze" только 2.6.32. С чем это связано? А если я возьму ядро с kernel.org мне его нужно будет патчить? Чем? А конфиг от более старой версии можно будет использовать?
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Пересборка ядра в Debian

Сообщение SLEDopit »

sunny1983 писал(а):
24.01.2012 23:47
На kernel.org последнее стабильное ядро имеет версию 3.2.1, в репозитории "Squeeze" только 2.6.32. С чем это связано?
Это связано с политикой релизов дистрибутива (после релиза никаких новых пакетов не добавляется, новые мажорные версии не вносятся). В ветке testing и unstable ядра гораздо свежее. Соответсвенно и дибианизацию новых ядер можно подсмотреть там же.

Код: Выделить всё

 $ aptitude versions linux-image-2.6-amd64
p   2.6.32+29    stable                   500
p   3.1+41       testing                  500
p   3.2+42       unstable                 500

sunny1983 писал(а):
24.01.2012 23:47
А конфиг от более старой версии можно будет использовать?
Да.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
BAF
Сообщения: 225
Статус: Я это я, какой есть такой есть.
ОС: Ubuntu

Re: Пересборка ядра в Debian

Сообщение BAF »

SLEDopit писал(а):
24.01.2012 23:56
sunny1983 писал(а):
24.01.2012 23:47
А конфиг от более старой версии можно будет использовать?
Да.

Такой ответ "ДА" конечно круто, но нужно оговориться, что все равно нужно будет отвечать на вопросы по новым фичам в новом ядре. Так что корректнее будет ответить: Да, но система все равно не загрузиться на новом ядре, если все сделать по умолчанию. Я пробовал знаю. Хочешь новое ядро, скачай готовые deb пакеты или читай кучю литературы.
Поправите меня, если я не прав, буду тока рад.
Спасибо сказали:
Аватара пользователя
trancefer
Сообщения: 485
Статус: $>
ОС: Arch, Slackware, OpenBSD

Re: Пересборка ядра в Debian

Сообщение trancefer »

sunny1983 писал(а):
24.01.2012 23:47
Для архива linux-source-2.6.32.tar.bz2 взятого с репозитория Debian MD5-сумма равна 27be1ba11acf249bbbcb0127969f3d6a.
Для архива linux-2.6.32.27.tar.bz2 взятого с kernel.org MD5-сумма равна c8df8bed01a3b7e4ce13563e74181d71.
То есть они отличаются. Вы говорите в патчах. Что это за патчи, для чего они нужны. То есть дебиановское ядро было пропатчено, потом снова запаковано в архив, но не сконфигурировано. А если же я возьму файл /boot/config-2.6.32-5-amd64, скопирую его в каталог с распакованным linux-source-2.6.32.tar.bz2 под именем .config, а потом выполню "make-kpkg --initrd --revision=custom.1.0 kernel_image" то в этом случае я получу точную копию своего текущего ядра?
На kernel.org последнее стабильное ядро имеет версию 3.2.1, в репозитории "Squeeze" только 2.6.32. С чем это связано? А если я возьму ядро с kernel.org мне его нужно будет патчить? Чем? А конфиг от более старой версии можно будет использовать?

Во-первых, ванильные 2.6.32 и 2.6.32.27 отличаются между собой, т.е. фактически 2.6.32 надо рассматривать как 2.6.32.0 (первый релиз версии 32), 2.6.32.27 это уже один из последеющих выпусков версии 2.6.32, в который было добавлено N-е количество изменений разработчиками с kernel.org.
Во-вторых, в Debian ядра патчат дополнительно своими патчами и устанавливают полученное ядро в качестве дефолтного.
В-третьих, конфигурационный файл ядра, которое запущено в текущий момент можно получить из /proc/config.gz
В-четвертых, для получения исходников ядра Debian не нужно патчить ванильные, нужно просто скачать уже патченные.
В-пятых, (хотя здесь я может и не прав) для сборки абсолютно идентичного ядра (чтобы md5 совпадал) нужно компилировать той же версией gcc какой был собран оригинал.
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: Пересборка ядра в Debian

Сообщение sunny1983 »

Добрался сегодня до компа с Linux, к сожалению не везде успел покопаться. Но мне удалось запустить GUI-интерфейс по конфигурированию ядра, увидел что он из себя представляет. Как только что-нибудь там этакое сделаю, сразу же отпишу. Это по задаче 1.

По задаче 3: нашёл в репах и исходники ядра версии 3.2, которые называются "Linux kernel source for version 3.2 with Debian patches ". Попробую и с ним поэксперементировать. Кстати мне так и не дали ответа на вопрос, почему в Debian можно использовать только патченые ядра и чем именно они патченые.

А теперь задача 2. Допустим я хочу в ядро добавить что-то стороннее, например драйвер nvidia. Как это делается?
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: Пересборка ядра в Debian

Сообщение sunny1983 »

Вернулся из отпуска, пишу снова сюда, надо дальше продолжать изучение.

Вот запустил компиляцию ядра по "make-kpkg --initrd --revision=custom.1.0 kernel_image". Прошло уже 5 часов, а оно всё ещё компилируется. Скажите, это нормальное явление?

И хотелось бы получить ответ на вопрос, как в ядро добавить сторонний модуль, чтобы он был не модулем, а в ядре? Вот исследования показали, что ядро не содержит вообще никаких драйверов nVidia. Значит надо что-то ковырять.
Спасибо сказали:
Аватара пользователя
felicson
Сообщения: 19
ОС: Debian

Re: Пересборка ядра в Debian

Сообщение felicson »

sunny1983 писал(а):
18.02.2012 02:41
Вернулся из отпуска, пишу снова сюда, надо дальше продолжать изучение.

Вот запустил компиляцию ядра по "make-kpkg --initrd --revision=custom.1.0 kernel_image". Прошло уже 5 часов, а оно всё ещё компилируется. Скажите, это нормальное явление?

И хотелось бы получить ответ на вопрос, как в ядро добавить сторонний модуль, чтобы он был не модулем, а в ядре? Вот исследования показали, что ядро не содержит вообще никаких драйверов nVidia. Значит надо что-то ковырять.

Если пять часов то слабая тачка видно, можно на многоядерной запускать копмиляцию с ключом -j n, где n количество ядер +1 .
Модуль нвидиа это сторонний продукт с закрытым кодом, его в ядро не запихать, только модулем.
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: Пересборка ядра в Debian

Сообщение sunny1983 »

felicson писал(а):
18.02.2012 09:56
Если пять часов то слабая тачка видно, можно на многоядерной запускать копмиляцию с ключом -j n, где n количество ядер +1

Celeron 2.80Ггц и 2 Гбайт памяти считается тачка слабая?

Ещё такой момент. Вот у меня создался пакет /usr/src/linux-image-2.6.32_custom.1.0_amd64.deb Внутри такие файлы /usr/share/doc/linux-image-2.6.32/, /boot/vmlinuz-2.6.32, /lib/firmware/2.6.32/, /lib/modules/2.6.32/. Короче всё с префиксом версии 2.6.32, хоть я и указал custom.1.0. А у меня итак ядро 2.6.32, то есть при установке этого текущее удалится? Можно ли сделать так, чтобы префикс версии был 2.6.32.custom1, чтобы можно было два ядра иметь?
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Пересборка ядра в Debian

Сообщение watashiwa_daredeska »

sunny1983 писал(а):
18.02.2012 22:25
Можно ли сделать так, чтобы префикс версии был 2.6.32.custom1, чтобы можно было два ядра иметь?
make-kpkg --append-to-version
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: Пересборка ядра в Debian

Сообщение sunny1983 »

Вчера наконеч-то обновился до ядра 3.2. Делал так:

Код: Выделить всё

# cp /boot/config-2.6.32-5-amd64 ./.config
# sudo make oldconfig
зажимаю enter, чтобы на все вопросы о новых опциях ядра 3.2 дать ответ по умолчанию
# sudo make-kpkg --initrd --append-to-version=-sunny kernel_image

Устанавливаю ядро, настраиваю загрузку.
Меня предупреждали, что что-то может не заработать.
Вобщем ядро грузится нормально, но при попытке запустить иксы выходит сообщение:

Код: Выделить всё

X: user not authorized to run the X server
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: Пересборка ядра в Debian

Сообщение sunny1983 »

Господа гуру, откройте секрет, для чего нужны пакеты headers?
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Пересборка ядра в Debian

Сообщение watashiwa_daredeska »

sunny1983 писал(а):
03.03.2012 00:16
откройте секрет, для чего нужны пакеты headers?
Чтобы собирать сторонние модули, которые не входят в состав ядра и для сборки некоторых других (обычно системных) вещей.
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: Пересборка ядра в Debian

Сообщение sunny1983 »

watashiwa_darede...
А как это работает?
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Пересборка ядра в Debian

Сообщение watashiwa_daredeska »

sunny1983 писал(а):
03.03.2012 01:29
А как это работает?
Что «это»? Сборка? Читайте C Programming Language, Brian W. Kernighan, Dennis M. Ritchie — узнаете, что такое headers, зачем они нужны и как работают.
Конкретно в пакетах *-headers лежат заголовочные файлы, в которых объявлены интерфейсы ядра, так что эти пакеты нужны для сборки всего, что обращается напрямую непосредственно к ядру.
Спасибо сказали:
Аватара пользователя
Trayax
Сообщения: 209
ОС: Debian 6.0 Wheezy/WinXP sp3

Re: Пересборка ядра в Debian

Сообщение Trayax »

Тов. sunny1983 видимо интересует как получить *.deb-пакет с заголовками ядра. Меня, кстати говоря, тоже. И вообще - как получить пакеты, аналогичные тем, что находятся в штатных репозиториях Дебина (т.е. linux-image-<version>-<arch>-<options>, linux-headers-<version>-common, linux-headers-<version>-<arch>-<options>, linux-kbuild-<major version>)?
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Пересборка ядра в Debian

Сообщение watashiwa_daredeska »

Trayax писал(а):
03.03.2012 22:11
как получить пакеты, аналогичные тем, что находятся в штатных репозиториях Дебина
make-kpkg их создает.
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: Пересборка ядра в Debian

Сообщение sunny1983 »

Trayax, да действительно. Вроде ядро одно, а столько разных пакетов в репозитории к нему относящихся, что не разберёшься.

Но это потом, сейчас более горячий вопрос возник.

Вот мне в прошлом ответили:
felicson писал(а):
18.02.2012 09:56
Модуль нвидиа это сторонний продукт с закрытым кодом, его в ядро не запихать, только модулем.

Смотрю в репозиторий и вижу nvidia-kernel-2.6.32-5-amd64 и nvidia-source. Раз source значит исходники всё-таки есть?
То же самое и с ATI: есть fglrx-driver и есть fglrx-source.
Как это объяснить? И для чего даются исходники, если не для вшивания в основное ядро?
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Пересборка ядра в Debian

Сообщение watashiwa_daredeska »

sunny1983 писал(а):
05.03.2012 21:24
Раз source значит исходники всё-таки есть?
Да. Исходники модуля ядра. В ядро не запихать, только модулем :)
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: Пересборка ядра в Debian

Сообщение sunny1983 »

Понятно.

А вообще такие случаи бывают, чтобы производитель оборудования выкладывал исходники для компиляции драйвера как части ядра, а не модуля?

Какой смысл выкладывания исходников модуля рядом с готовым модулем? Там что, тоже что-то переконфигурировать можно?

Как вообще правильно устанавливать драйвера nVidia и ATI в Debian? На сайтах и форумах разных вообще написано, что нужно run-файл запускать, но с помощью deb-пакета наверное правильней?
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Пересборка ядра в Debian

Сообщение watashiwa_daredeska »

sunny1983 писал(а):
06.03.2012 00:08
Какой смысл выкладывания исходников модуля рядом с готовым модулем?
Всё ровно наоборот. Готовый модуль выкладывается рядом с исходниками. В Debian stable. В Debian unstable только исходники.

sunny1983 писал(а):
06.03.2012 00:08
Там что, тоже что-то переконфигурировать можно?
Можно собрать свое ядро, тогда необходимые модули придется тоже собирать.

sunny1983 писал(а):
06.03.2012 00:08
с помощью deb-пакета наверное правильней?
Да. Если Debian stable и есть готовые пакеты модулей под установленное ядро, то ставить их. Если пакетов с готовыми модулями нет, то собирать из исходников (это потребует наличия build-essential). Пакетов с исходниками, по крайней мере для nVidia, два: nvidia-kernel-source и nvidia-kernel-dkms. Я предпочитаю dkms, т.к. в этом случае модули автоматически пересобираются при установке новых ядер и обновлении драйвера. Если использовать *-source, то модуль пересобирается в полуавтоматическом режиме командой m-a i nvidia-kernel. Ну, и надо не забывать, что у модуля ядра есть ответная часть в userspace, для nvidia это пакет nvidia-glx.
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: Пересборка ядра в Debian

Сообщение sunny1983 »

watashiwa_daredeska писал(а):
06.03.2012 01:13
Можно собрать свое ядро, тогда необходимые модули придется тоже собирать.

Понял, наконец, это как раз ответ по моему предыдущему вопросу, про пакеты headers. То есть компилятору необходимо использовать информацию о структуре ядра, иначе модуль не сможет пристыковываться к ядру?

watashiwa_daredeska писал(а):
06.03.2012 01:13
Если Debian stable и есть готовые пакеты модулей под установленное ядро, то ставить их. Если пакетов с готовыми модулями нет, то собирать из исходников (это потребует наличия build-essential). Пакетов с исходниками, по крайней мере для nVidia, два: nvidia-kernel-source и nvidia-kernel-dkms. Я предпочитаю dkms, т.к. в этом случае модули автоматически пересобираются при установке новых ядер и обновлении драйвера. Если использовать *-source, то модуль пересобирается в полуавтоматическом режиме командой m-a i nvidia-kernel. Ну, и надо не забывать, что у модуля ядра есть ответная часть в userspace, для nvidia это пакет nvidia-glx.

Ещё раз. В stable готовый пакет модулей под 2.6.32-5-amd4 как называется? nvidia-kernel-source - это просто исходники, тут понятно. Как из них создать пакет модулей? nvidia-kernel-dkms это пакет с исходниками, но при его установке инсталяционный скрипт сам соберёт модуль и ничего вводить не надо? Так?

А про nvidia-glx так и не понял. Он нужен для того чтобы 3D-ускорение работало? Он тоже сам все конфиги прописывает или нужно руками? А если у меня отсутствует файл xorg.conf, создавать его как обычно через "Xorg -configure" или у nvidia есть для этого своя утилита?
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Пересборка ядра в Debian

Сообщение watashiwa_daredeska »

sunny1983 писал(а):
10.03.2012 13:50
В stable готовый пакет модулей под 2.6.32-5-amd4 как называется?
nvidia-kernel-2.6.32-5-amd64

sunny1983 писал(а):
10.03.2012 13:50
nvidia-kernel-source - это просто исходники, тут понятно. Как из них создать пакет модулей?
m-a build nvidia-kernel По-моему, как-то так. Могу слегка ошибаться, см. man module-assistant.

sunny1983 писал(а):
10.03.2012 13:50
nvidia-kernel-dkms это пакет с исходниками, но при его установке инсталяционный скрипт сам соберёт модуль и ничего вводить не надо? Так?
Установочный скрипт создаст правила для dkms так, что модуль будет собираться под каждую новю комбинацию версия_ядра+версия_драйвера. Автоматически. Ничего вводить не надо. Бесплатно. Без СМС.

sunny1983 писал(а):
10.03.2012 13:50
А про nvidia-glx так и не понял. Он нужен для того чтобы 3D-ускорение работало?
Да.

sunny1983 писал(а):
10.03.2012 13:50
Он тоже сам все конфиги прописывает или нужно руками?
Руками.

sunny1983 писал(а):
10.03.2012 13:50
если у меня отсутствует файл xorg.conf, создавать его как обычно через "Xorg -configure" или у nvidia есть для этого своя утилита?
ЕМНИП, X -configure не создает конфиг с проприетарным драйвером nvidia. Можно руками написать или воспользоваться nvidia-settings (в одноименном пакете).
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Пересборка ядра в Debian

Сообщение watashiwa_daredeska »

sunny1983 писал(а):
10.03.2012 13:50
То есть компилятору необходимо использовать информацию о структуре ядра, иначе модуль не сможет пристыковываться к ядру?
Совершенно верно.
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: Пересборка ядра в Debian

Сообщение sunny1983 »

watashiwa_daredeska писал(а):
11.03.2012 21:20
m-a build nvidia-kernel По-моему, как-то так. Могу слегка ошибаться, см. man module-assistant.

Насколько я понял, module-assistant учтанавливает драйвера из сетевого репозитория. Хотя вчера мне удалось им собрать пакет драйвера, правда не для NVIDIA, а для ATI/AMD. Просто вошёл в каталог с исходниками fglrx и набрал "module-assistant auto-build fgrlx".
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: Пересборка ядра в Debian

Сообщение sunny1983 »

Подниму тему почти годичной давности. Хочу собрать модуль драйвера, причём драйвер проприетарный. Дистриб, снова Debian, только в этот раз Wheezy. Ядро 3.2.0-4-amd64. Компьютер - ноутбук ASUS K73BY на чипсете ATI/AMD. При загрузке в dmesg вываливается следующее:

Код: Выделить всё

[   10.314827] ACPI: resource piix4_smbus [io  0x0b00-0x0b07] conflicts with ACPI region SMB0 [io 0xb00-0xb7f]
[   10.314835] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver

Хочу поставить AMD Catalyst версии 13.1, взятый отсюда, вроде в нём должна быть полная поддержка чипсета, не только видео, но и SMBus. Распаковал архив, запустил amd-driver-installer-catalyst-13.1-linux-x86.x86_64.run с ключём --help и узнал, что этот инсталятор может собрать пакеты от разных дистрибутивот в том числе Debian при помощи ключа --buildpkg. Запускаю:

Код: Выделить всё

$ fakeroot ./amd-driver-installer-catalyst-13.1-linux-x86.x86_64.run --buildpkg Debian/testing
Created directory fglrx-install.XKDMUX
Verifying archive integrity... All good.
Uncompressing AMD Catalyst(TM) Proprietary Driver-9.012...........................................................................
.................................................................................
.................................................................................
.................................................................................
.................................................................................
.................................................................................
.................................................................................
.................................................................................
.................................................................................
.................................................................................
.................................................................................
.................................................................................
.................................................................................
..............................................
=====================================================================
 AMD Catalyst(TM) Proprietary Driver Installer/Packager
=====================================================================
Generating package: Debian/testing
cp: cannot stat `/srv/src/fglrx-install.XKDMUX/x710_64a/*': No such file or directory
Package build failed!
Package build utility output:
dpkg-buildpackage: warning: using a gain-root-command while being root
dpkg-buildpackage: source package fglrx-installer
dpkg-buildpackage: source version 9.012-1
dpkg-buildpackage: source changed by AMD: Advanced Micro Devices. <http://ati.amd.com/support/driver.html>
 dpkg-source --before-build fglrx.kjPxxG
dpkg-buildpackage: host architecture amd64
 debian/rules build
dh_testdir
# move licenses away from binary dir
if [ ! -d usr/share/doc/fglrx ]; then \
          mkdir -p usr/share/doc/fglrx; \
          mv usr/X11R6/bin/LICENSE.* usr/share/doc/fglrx; \
        fi
# set executable on user apps
find usr/X11R6/bin -type f | xargs chmod a+x
# remove exec bit from files that don't deserve it
find usr/X11R6/include \
             usr/X11R6/lib \
             usr/X11R6/lib64 \
             usr/share usr/src     -type f | xargs chmod -x
find: `usr/X11R6/include': No such file or directory
find lib -not -name "*.sh" -type f | xargs chmod -x
find lib      -name "*.sh" -type f | xargs chmod +x
# set proper permissions on /etc files
if [ -d etc/ati ]; then                 \
                chmod 755 etc/ati ;                     \
                chmod 644 etc/ati/* ;           \
                chmod a+x etc/ati/*.sh ;        \
        fi
if [ -f debian/fglrx.default ]; then \
          mv -v debian/fglrx.default debian/fglrx; \
        fi
`debian/fglrx.default' -> `debian/fglrx'
# remove exec bit from 64-bit libs too
find usr/X11R6/lib64       -type f | xargs chmod -x
 fakeroot debian/rules binary
fakeroot: FAKEROOTKEY set to 220903287
fakeroot: nested operation not yet supported
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 1
Removing temporary directory: fglrx-install.XKDMUX

В чём дело?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21347
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Пересборка ядра в Debian

Сообщение Bizdelnick »

sunny1983 писал(а):
23.02.2013 17:40
Распаковал архив, запустил amd-driver-installer-catalyst-13.1-linux-x86.x86_64.run с ключём --help и узнал, что этот инсталятор может собрать пакеты от разных дистрибутивот в том числе Debian при помощи ключа --buildpkg.

Сборка пакетов под Debian в инсталляторе давным-давно поломана, и её никто не поддерживает. Можно взять дебиановские сорцы и обновить их до последней версии.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
sunny1983
Сообщения: 357
ОС: GNU/Linux 4.x (Fedora, Debian)

Re: Пересборка ядра в Debian

Сообщение sunny1983 »

Тогда сразу же вопрос "как"? Как можно дебиановскую версию обновить до 13.1 не скачивая с ATI/AMD? И вы подтверждаете мою догадку что SMBus не работает из-за устаревшего драйвера от ATI/AMD?
Спасибо сказали: