Не собираются драйвера для framebuffer (ни как модули, ни как жёстко вкомпилированные...)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

K.A.
Сообщения: 68
ОС: Debian Lenny

Не собираются драйвера для framebuffer

Сообщение K.A. »

У меня сезонное обострение криворукости. Пытаюсь собрать ядро с поддержкой фреймбуфера. Пропатчила ядро 2.6.16 патчем для bootsplash (что-то-там-2.615.diff) -- всё красиво встало, никаких ошибок не выдал. Наложила патчи 2.6.17 и 2.6.18.
При конфигурировании указала:
Support for frame buffer devices: yes;
Vesa VGA graphics support: yes (это не обязательно, как я понимаю, но что с этой опцией, что без неё -- всё равно не могу собрать ядро);
Intel 801/815 support (EXPERIMENTAL): M (для моей карты);
Virtual Frame buffer support: M;
Console display driver support --> VGA text console: yes;
Framebuffer console support: M;B
Bootsplash configuration --> Bootup splash screen: yes.
----------------------------------------------------------
Пытаюсь собрать ядро -- выпадает на разных стадиях (в зависимости от того, модулями собираю драйверы или компилирую жёстко) с ошибкой:
drivers/built-in.o: In function `splash_read_proc':
bootsplash.c:(.text+0xa82e): undefined reference to `con2fb_map'
drivers/built-in.o: In function `splash_getraw':
bootsplash.c:(.text+0xaa8d): undefined reference to `con2fb_map'
drivers/built-in.o: In function `splash_status':
bootsplash.c:(.text+0xb789): undefined reference to `con2fb_map'
drivers/built-in.o: In function `splash_verbose':
(.text+0xb8a6): undefined reference to `con2fb_map'
drivers/built-in.o: In function `splash_write_proc':
bootsplash.c:(.text+0xba04): undefined reference to `con2fb_map'
drivers/built-in.o:bootsplash.c:(.text+0xbc2e): more undefined references to `con2fb_map' follow
drivers/built-in.o: In function `fb_set_suspend':
(.text+0xe3b3): undefined reference to `fb_notifier_call_chain'
drivers/built-in.o: In function `fb_set_suspend':
(.text+0xe3d5): undefined reference to `fb_notifier_call_chain'
drivers/built-in.o: In function `fb_blank':
(.text+0xe423): undefined reference to `fb_notifier_call_chain'
drivers/built-in.o: In function `unregister_framebuffer':
(.text+0xe516): undefined reference to `fb_notifier_call_chain'
drivers/built-in.o: In function `fb_set_var':
(.text+0xe578): undefined reference to `fb_notifier_call_chain'
drivers/built-in.o:(.text+0xe683): more undefined references to `fb_notifier_call_chain' follow
------------------------------------------------------------------------------
Если собираю как модули, то вылетает на стадии сборки модулей с той же ошибкой.
Что это такое? (Сколько ни искала, так и не нашла информацию о том, что это за ошибка.)
Раньше ядро с фреймбуфером собиралось нормально.

Да, и ещё. Собрала ядро без поддержки фреймбуфера -- вообще попыталась сделать ядро исключительно для своего ноута, то есть ничего лишнего. Так вот, кажется, выбросила что-то необходимое. При загрузке системы вместо консоли -- чёрный экран, хотя всё грузится. Хотя файле конфигурации указала:
Characters drivers -->
[*] Virtual terminal
[*] Support for console on virtual terminal
[*] Support for binding and unbinding console drivers
Serial drivers --->
[*] Unix98 PTY support
[*] Legacy (BSD) PTY support
(256) Maximum number of legacy PTY in use
<M> Parallel printer support
[*] Support for console on line printer
<M> Support for user-space parallel port device drivers
Watchdog Cards --->
[*] Hardware Random Number Generator Core support
<M> Intel HW Random Number Generator support
<M> /dev/nvram support
<M> Enhanced Real Time Clock Support
<M> Generic /dev/rtc emulation
[*] Extended RTC operation
<M> Double Talk PC internal speech card support
<*> /dev/agpgart (AGP Support)
<M> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
<*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
-------------------------------------------------------------------------------------
Вот. А после, например, перехода из седьмой консоли в первую (уже после загрузки иксов) остаётся след от иксового экрана, но в разрешении примерно 640 на 480.
Что я могла выбросить и где это искать? Что ещё надо включить в ядро, чтобы консоль нормально работала?
Карта: Intel i810, дистрибутив: Debian Etch (testing).
IBM ThinkPad T43, Debian Lenny+Sid, 2.6.26 (vanilla).
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Не собираются драйвера для framebuffer

Сообщение alv »

Рискну предположить, что нарушена последовательность патчения
В ридмишках ничего на сей предмет не сказано?
Если нет прямых указаний, я бы попробовал так:
пропатчить ядро до актуальной версии
наложить патч бутсплаша для _нее же_
собрать ядро с голой VESA - без поддержки конкретного видеочипа
Если все пройдет нормально - уже тогда с ним поковыряться
Спасибо сказали:
K.A.
Сообщения: 68
ОС: Debian Lenny

Re: Не собираются драйвера для framebuffer

Сообщение K.A. »

alv писал(а):
26.10.2006 18:38
Рискну предположить, что нарушена последовательность патчения
В ридмишках ничего на сей предмет не сказано?
Если нет прямых указаний, я бы попробовал так:
пропатчить ядро до актуальной версии
наложить патч бутсплаша для _нее же_
собрать ядро с голой VESA - без поддержки конкретного видеочипа
Если все пройдет нормально - уже тогда с ним поковыряться


Ну, последовательность была такой: на 2.616 -- bootsplash-3.1.6-2.6.15-diff --- patch-2.6.17 -- patch-2.6.18.
Но сейчас попробую сделать то, что вы сказали.
IBM ThinkPad T43, Debian Lenny+Sid, 2.6.26 (vanilla).
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Не собираются драйвера для framebuffer

Сообщение alv »

(K.A. @ Oct 26 2006, в 18:56) писал(а):Но сейчас попробую сделать то, что вы сказали.

не могу гарантировать, что прав, давно этим не занимался - но попытка не пытка, как говаривал товарищ Берия
PS сколько помню, патчи с kernel.org обычно ложатся на чистое же ванильное ядро, а потом уже остальные, сторонние - и желательно для соответствующих же версий
Спасибо сказали:
K.A.
Сообщения: 68
ОС: Debian Lenny

Re: Не собираются драйвера для framebuffer

Сообщение K.A. »

alv писал(а):
26.10.2006 18:58
не могу гарантировать, что прав, давно этим не занимался - но попытка не пытка, как говаривал товарищ Берия
PS сколько помню, патчи с kernel.org обычно ложатся на чистое же ванильное ядро, а потом уже остальные, сторонние - и желательно для соответствующих же версий

Да, так оно и есть.
Пропатчила как надо, собрала ядро с поддержкой фреймбуфера, но с модулем для vesa -- всё то же, что и было: чёрный экран. Сейчас буду ставить ядро без поддержки fb.
IBM ThinkPad T43, Debian Lenny+Sid, 2.6.26 (vanilla).
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Не собираются драйвера для framebuffer

Сообщение alv »

А Вы в расчете на initrd собираете?
А то вот эта строка смущает:
<M> Intel 440LX/BX/GX, I8xx and E7x05 chipset support

м.б. * поставить?
И кстати, коль скоро у Вас Debian - м.б. пойти по Debian Way, поставить исходники как пакет и поглядеть, что там они в ридмишках к своим патчам пишуть?
Спасибо сказали:
K.A.
Сообщения: 68
ОС: Debian Lenny

Re: Не собираются драйвера для framebuffer

Сообщение K.A. »

alv писал(а):
26.10.2006 20:30
А Вы в расчете на initrd собираете?
<...>
м.б. * поставить?

Да, с initrd -- у меня lvm, поэтому без него никак. Поставлю, посмотрю.
И кстати, коль скоро у Вас Debian - м.б. пойти по Debian Way, поставить исходники как пакет и поглядеть, что там они в ридмишках к своим патчам пишуть?

То есть собрать пакет из исходников? alien? (Добавлено: Уже по дороге домой сообразила всю нелепость вопроса: я, в общем-то, пакет из исходников и собираю make-kpkg, а вы, alv, имели в виду, наверное, поставить linux-sources-пакет?)
Кстати, чёрный экран -- это из-за моей тупости: в настройках lilo указан режим экрана 791 (когда ставила бутсплэш, изменила -- всё работало, с дебиановским ядром тоже работает, а перестало работать после установки нового ядра). Сейчас поменяла на normal -- стала видеть консоль. Внутри, конечно, копошилось что-то: дескать, это же без fb ядро, без специфичных модулей, но изменять параметры lilo было лень. (Ага, проще пересобрать ядро.) :angry:
Вот. Теперь поеду домой ковыряться уже с фреймбуфером и бутсплэшем.
-----------------------------------------------------------------------------------------
Заработало. Спасибо, alv.
Вкомпилировала поддержку фреймбуфера жёстко, то же для своей видеокарты и vga-режима, vga в консоли. Всякие экспериментальные опции не включала, может, потом попробую.
Теперь даже бутсплэш работает, но отображается не та тема и в "говорливом", а не молчаливом режиме. :( Но бутсплэш -- это шаманство почище suspend2ram, поэтому буду просто ждать, когда оно включится чуть ли не само. (Так уже было: ядро с бутсплэш собрала две недели назад, а silent-режим включился только три дня назад. Потом я всё сломала. :))
Что-то и я разговоорилась -- от радости, наверное. :)
IBM ThinkPad T43, Debian Lenny+Sid, 2.6.26 (vanilla).
Спасибо сказали:
K.A.
Сообщения: 68
ОС: Debian Lenny

Re: Не собираются драйвера для framebuffer

Сообщение K.A. »

2alv:
Ещё такой вопрос. Вы говорили, что патчить сторонними патчами нужно ванильное ядро. А если я пропатчила, скажем, suspend2 ядро 2.6.18, а потом захочу пропатчить его до версии 2.6.19. Получается, что надо будет отменять патч для саспенда, а потом, пропатчив ядро, снова прикладывать его, но уже для новой версии?
IBM ThinkPad T43, Debian Lenny+Sid, 2.6.26 (vanilla).
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Не собираются драйвера для framebuffer

Сообщение serzh-z »

Берем vanilla 2.6.18, патчим до 2.6.19, патчим до suspend2-2.6.19 - т.к. не факт, что патч suspend2-2.6.18 идентичен suspend2-2.6.19.
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Не собираются драйвера для framebuffer

Сообщение alv »

serzh-z писал(а):
27.10.2006 00:07
Берем vanilla 2.6.18, патчим до 2.6.19, патчим до suspend2-2.6.19 - т.к. не факт, что патч suspend2-2.6.18 идентичен suspend2-2.6.19.

Обычно именно так.
Впрочем, большинство порядочных патчеров подробно описывают, как ихние патчи класть нужно - общего рецепта, насколько я знаю, здесь нету.
А чтобы сторонние патчи не снимать - можно в /usr/src сохранять чистое дерево исходников - и его уже патчить до сл. версии, а сверху - всё стороннее хозяйство класть
А конкретно в Debian/Ubuntu это все в самом ядерном пакете предусмотрено (и описано).
Спасибо сказали:
K.A.
Сообщения: 68
ОС: Debian Lenny

Re: Не собираются драйвера для framebuffer

Сообщение K.A. »

Понятно, спасибо.
IBM ThinkPad T43, Debian Lenny+Sid, 2.6.26 (vanilla).
Спасибо сказали: