У меня сезонное обострение криворукости. Пытаюсь собрать ядро с поддержкой фреймбуфера. Пропатчила ядро 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).
Не собираются драйвера для framebuffer (ни как модули, ни как жёстко вкомпилированные...)
Модератор: Bizdelnick
-
K.A.
- Сообщения: 68
- ОС: Debian Lenny
Не собираются драйвера для framebuffer
IBM ThinkPad T43, Debian Lenny+Sid, 2.6.26 (vanilla).
-
alv
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: Не собираются драйвера для framebuffer
Рискну предположить, что нарушена последовательность патчения
В ридмишках ничего на сей предмет не сказано?
Если нет прямых указаний, я бы попробовал так:
пропатчить ядро до актуальной версии
наложить патч бутсплаша для _нее же_
собрать ядро с голой VESA - без поддержки конкретного видеочипа
Если все пройдет нормально - уже тогда с ним поковыряться
В ридмишках ничего на сей предмет не сказано?
Если нет прямых указаний, я бы попробовал так:
пропатчить ядро до актуальной версии
наложить патч бутсплаша для _нее же_
собрать ядро с голой VESA - без поддержки конкретного видеочипа
Если все пройдет нормально - уже тогда с ним поковыряться
-
K.A.
- Сообщения: 68
- ОС: Debian Lenny
Re: Не собираются драйвера для framebuffer
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
(K.A. @ Oct 26 2006, в 18:56) писал(а):Но сейчас попробую сделать то, что вы сказали.
не могу гарантировать, что прав, давно этим не занимался - но попытка не пытка, как говаривал товарищ Берия
PS сколько помню, патчи с kernel.org обычно ложатся на чистое же ванильное ядро, а потом уже остальные, сторонние - и желательно для соответствующих же версий
-
K.A.
- Сообщения: 68
- ОС: Debian Lenny
Re: Не собираются драйвера для framebuffer
Да, так оно и есть.
Пропатчила как надо, собрала ядро с поддержкой фреймбуфера, но с модулем для vesa -- всё то же, что и было: чёрный экран. Сейчас буду ставить ядро без поддержки fb.
IBM ThinkPad T43, Debian Lenny+Sid, 2.6.26 (vanilla).
-
alv
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: Не собираются драйвера для framebuffer
А Вы в расчете на initrd собираете?
А то вот эта строка смущает:
м.б. * поставить?
И кстати, коль скоро у Вас Debian - м.б. пойти по Debian Way, поставить исходники как пакет и поглядеть, что там они в ридмишках к своим патчам пишуть?
А то вот эта строка смущает:
<M> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
м.б. * поставить?
И кстати, коль скоро у Вас Debian - м.б. пойти по Debian Way, поставить исходники как пакет и поглядеть, что там они в ридмишках к своим патчам пишуть?
-
K.A.
- Сообщения: 68
- ОС: Debian Lenny
Re: Не собираются драйвера для framebuffer
Да, с initrd -- у меня lvm, поэтому без него никак. Поставлю, посмотрю.
И кстати, коль скоро у Вас Debian - м.б. пойти по Debian Way, поставить исходники как пакет и поглядеть, что там они в ридмишках к своим патчам пишуть?
То есть собрать пакет из исходников? alien? (Добавлено: Уже по дороге домой сообразила всю нелепость вопроса: я, в общем-то, пакет из исходников и собираю make-kpkg, а вы, alv, имели в виду, наверное, поставить linux-sources-пакет?)
Кстати, чёрный экран -- это из-за моей тупости: в настройках lilo указан режим экрана 791 (когда ставила бутсплэш, изменила -- всё работало, с дебиановским ядром тоже работает, а перестало работать после установки нового ядра). Сейчас поменяла на normal -- стала видеть консоль. Внутри, конечно, копошилось что-то: дескать, это же без fb ядро, без специфичных модулей, но изменять параметры lilo было лень. (Ага, проще пересобрать ядро.)
Вот. Теперь поеду домой ковыряться уже с фреймбуфером и бутсплэшем.
-----------------------------------------------------------------------------------------
Заработало. Спасибо, alv.
Вкомпилировала поддержку фреймбуфера жёстко, то же для своей видеокарты и vga-режима, vga в консоли. Всякие экспериментальные опции не включала, может, потом попробую.
Теперь даже бутсплэш работает, но отображается не та тема и в "говорливом", а не молчаливом режиме.
Что-то и я разговоорилась -- от радости, наверное.
IBM ThinkPad T43, Debian Lenny+Sid, 2.6.26 (vanilla).
-
K.A.
- Сообщения: 68
- ОС: Debian Lenny
Re: Не собираются драйвера для framebuffer
2alv:
Ещё такой вопрос. Вы говорили, что патчить сторонними патчами нужно ванильное ядро. А если я пропатчила, скажем, suspend2 ядро 2.6.18, а потом захочу пропатчить его до версии 2.6.19. Получается, что надо будет отменять патч для саспенда, а потом, пропатчив ядро, снова прикладывать его, но уже для новой версии?
Ещё такой вопрос. Вы говорили, что патчить сторонними патчами нужно ванильное ядро. А если я пропатчила, скажем, 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
Берем vanilla 2.6.18, патчим до 2.6.19, патчим до suspend2-2.6.19 - т.к. не факт, что патч suspend2-2.6.18 идентичен suspend2-2.6.19.
-
alv
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: Не собираются драйвера для framebuffer
Обычно именно так.
Впрочем, большинство порядочных патчеров подробно описывают, как ихние патчи класть нужно - общего рецепта, насколько я знаю, здесь нету.
А чтобы сторонние патчи не снимать - можно в /usr/src сохранять чистое дерево исходников - и его уже патчить до сл. версии, а сверху - всё стороннее хозяйство класть
А конкретно в Debian/Ubuntu это все в самом ядерном пакете предусмотрено (и описано).
-
K.A.
- Сообщения: 68
- ОС: Debian Lenny
Re: Не собираются драйвера для framebuffer
Понятно, спасибо.
IBM ThinkPad T43, Debian Lenny+Sid, 2.6.26 (vanilla).