[РЕШЕНО] Boot splash показывается после части лога загрузки OpenRC
Пытаюсь сделать сборку gentoo 'для одной задачи' - телевизор, в дополнение хочется чтобы было не только функционально, но и красиво.
Не получается настроить boot splash (картинка с процентами загрузки), точнее все настроил по wkik и различным статьям из интернета, работает но странно - http://www.youtube.com/watch?v=hrfIqBH_X2s
После окна grub идет загрузка ядра, затем показ лога OpenRC
* Mounting /proc.. [ ok ] * Mounting /sys... [ ok ] * Mounting debug filesystem... [ ok ] * Mounting /dev... [ ok ] * Starting udevd... [ ok ] * Populating /dev with existing devices through uevents... [ ok ] * Waiting for uevents to be processed... [ ok ] * Device initiated services: net.eth0 * Checking local filesystems ... [ ok ] * Mounting local filesystems... [ ok ] * Loading ALSA modules... [ ok ] * Restoring Mixer Levels... [ ok ] * Mounting /dev/pts... [ ok ] ... тут включается картинка * Setting system clock using the hardware clock [UTC]... [ ok ]
и только потом включается картинка splash.
Все модули в ядре (система собиралась без initramfs), соответственно для fbsplash собирал коммандой:
splash_geninitramfs -g /boot/fbsplash -r 1024x768 -v ThinkLinux
Конфиг grub - mennu.lst:
hiddenmenu default 0 timeout 1 title Gentoo Linux (fbsplash) root (hd0,0) kernel /vmlinuz-2.6.30-gentoo-r1 root=/dev/hda3 loglevel=0 quiet video=radeonfb:1024x768-32@75 splash=slient,theme:ThinkLinux console=tty1 fbcon=scrollback:32k initrd /fbsplash
Тему не правил (пробовал и другие темы, та же фигня), в системные конфиги так же не лез (дальше fstab и rc-update не лез, ну плюс настройка consolefont и keymaps).
emerge --info:
Portage 2.1.6.13 (unavailable, gcc-4.3.3, glibc-2.10.1-r0, 2.6.30-gentoo-r1 i686) ================================================================= System uname: Linux-2.6.30-gentoo-r1-i686-Celeron_-Coppermine-with-gentoo-2.0.1 Timestamp of tree: Unknown dev-lang/python: 2.6.2-r1 sys-devel/autoconf: 2.63-r1 sys-devel/automake: 1.10.2, 1.11 sys-devel/binutils: 2.19.1-r1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.30 ACCEPT_KEYWORDS="~x86" CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="buildpkg ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://toto.tomsk.ru ftp://ftp.ggf.tsu.ru/ ftp://79.136.132.145/gentoo/ ftp://ftp-tsk-01.gentoo.tonet.ru ftp://ftp-tsk-05.gentoo.tonet.ru" PKGDIR="/obig/Data/packages.tv/" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://toto.tomsk.ru/gentoo-portage/" USE="X aac alsa ass ati audio cpudetection directfb dvd dvdnav enca encode fbcon fbdev ftp iconv jpeg lirc mmx mp3 network nls osdmenu pcf png quicktime radio samba sdl speex sse teletext theora truetype unicode v4l v4l2 vesa video vorbis wifi win32codecs x264 xml xorg xv xvid xvmc" Unset: EMERGE_DEFAULT_OPTS
Вопрос, как скрыть лог вывода OpenRC? Может существуют другие средства? цель даже не в картинке, а просто лишний текст убрать.
- Для комментирования войдите или зарегистрируйтесь
проверьте zgrep FB_CON_DECOR
проверьте
zgrep FB_CON_DECOR /proc/config.gz
если параметр не стоит, то он лежит в
Device Drivers -->
Graphics Support -->
Console Display driver support ->
Support For framebuffer console decorations
По крайней мере у меня была похожая проблема именно из-за этого параметра
video=radeonfb:1024x768-32@75
video=radeonfb:1024x768-32@75 убрать, юзать vesafb
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
vesafb & splash
Не знаю, как там vesafb, radeonfb, но у меня такая же ситуация со splash'ем с
вкомпиленым в ведро uvesafb. И началось это с ядер версии 2.6.30.
На версиях < 2.6.30 всё работало без нареканий. Пересобирал всё, что "лежит рядом",
- "всё болит,ничего не помогает!" :D В итоге я на это дело забил.
компильте не модулем, а в
компильте не модулем, а в ядро. не забудте в initramfs закрузить --splash=gentoo_natutal --splash-res=1290x1024? че нить на подобе
video=uvesafb:1280x1024-32,mtrr:3,ywrap vga=791 splash=verbose,theme:natural_gentoo console=tty1 rhgb quiet.
скорее всего splash у тебя появляется после включения fbcondecor.
gentoo centos fedora
vesafb начинает работать в
vesafb начинает работать в real mode процессора, в отличие от остальных
По этой теме посмотрите у spocka http://dev.gentoo.org/~spock/projects/gensplash/
это он пилит splash в ядре и генте
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
FB_CON_DECOR - само собой в
FB_CON_DECOR - само собой в ядре установлен.
Да все компилируется в ядро, не модули.
еще раз вдумчиво перебрал различные драйвера фреймбуфера (причем смена драйвера делалась путем пересборки ядра, выбирая только один тестируемый драйвер и отключая остальные, а то непонятно, какой именно используется):
* vesafb - у меня возникло некоторое недопонимание управлением виеорежимами.. в документации написано использовать как vga=... так и video=vesafb. Так вот одновременное указание обоих этих опций в различных комбинациях неверно меняют видеорежим (черный экран и по информации от монитора видеорежим не тот что устанавливался, были и 7..x4.. и 640x480 и 800x600), инода, если режими по vga=ask и video=vesa:xxx не совпадают, то используется выбранный режим vga и та же фигня с отставанием показа splash, т.е. он включается значительно после запуска системы. Если опция vga отсутствует, то режим вообще не меняется и video=vesafb:... игнорируется.
* uvesafb - настроить не удалось, опция в ядре, пакет sys-apps/v86d-0.1.9 и добавление файлов в initramfs
splash_geninitramfs -g /boot/fbsplash -r 1024x768 -o 1/ ThinkLinux
здесь папка 1/ содержит файлы в соответствии с /usr/share/v86d/initramfs т.е. файл /sbin/v86d скопирован!
При загрузке получаю сообщение:
и соответственно видеорежим не меняется....
-----------------------------------------------------------
Так проблема решена для uvesafb! меня несколько удивило решение:
Необходима опция ядра
Если честно я думал это способ вкомпилировать initramfs в ядро, а оказывается это ЕЩЁ один образ, так как дополнительно к нему грузится из граба fbsplash-образ! к тому же указывать в опции необходимо не сам образ а текстовый файл с определенным форматом.
P.S. пока думаю над рефрешрейтом виеорежима, у меня монитор (lcd) запоминает тиминги для видеорежима только для разрешения, не учитывая рефреш, соответственно в X автоматически устанавливается сдвиг экрана в одну сторону, а в консоли в другую... думаю подобрать рефреш в modeline xorg.conf.
cat /boot/grub/grub.conf, А?
Прошу, покажите строчку с опциями загрузки, может у меня где косяк:
kernel /GF8200A root=UUID=cea30339-ee1e-40ba-a49d-06d956c4c000 video=uvesafb:1280x1024-32,mtrr:4,redraw splash=verbose,fadein,fadeout,theme:natural_gentoo CONSOLE=/dev/tty1 fbcon=scrollback:1024k
опции mtrr менял - всё равно не пашет О_о
Всеравно в течении
Всеравно в течении полусекунды, после запуска системы и старта иксов окно splash исчезает и видно лог загрузки OpenRC :( куда бы этот лог азсунуть? есть идея прописать в inittab комманду reset :) или clear.
==============================================================================================
/boot/grub/menu.lst
причем работало просто с video=uvesafb:1024x768-32 сейчас я перебираю опции для решения еще одной проблемы uvesafb дерганием видеорежима (у меня lcd тормозно реагирует на смену видеорежима, примерно 1-2 секунды) при переключении между консолями, причем только после того как в консоль будет введена дна строчка (наверное после скролинга)
В ядре включен только драйвер uvesafb, простой vesa и radeonfb отключены.
P.S. Очень жаль что для radeon нет такого же красивого решения как для intel (появилось в ядре после 2.6.30), видеорежим меняется на уровне ядра.. т.е. при переходе из консоли в иксы экран не мерцает (ну понятно если там видеорежимы одинаковые а значит менять видеорежим не требуется), хотя на моем eeepc это пока еще немного глючит с 3d.
uvesafb
Кстати, у меня тоже тормозное переключени консолей на увесе - около 2 сек.
Опции перебирал - не помогло, reset - тоже около 2 сек, так что не стоит.
Насчёт clear - не думаю, что поможет. Пробовал и на Радеоне (4850) и
на НВидии (260) - тормоза одинаковые.
P.S: Не подскажете, как вы в систему входите? без пароля?
У меня при входе в систему консоль очищается, благодаря файлу .zlogin,
в котором еть строчка clear.
иксы стартую в inittab
иксы стартую в inittab окружение юзера через su (кстати оно не полное окружение делает.. нужно еще source /etc/profile.. ну скриптик можно допилить если что.
/etc/inittab
тут tv - это пользователь, в .xinitrc которого прописан запуск openbox, настройки бакграунда (feh) и собственно скрипты работы телевизора (пока еще в процессе написания).
какое всетаки решение?
какое всетаки решение?