30.05.2010 Фреймбуффер в консоли и с чем его едят

В виду того, что заново пересобираю Gentoo с нуля, в очередной раз прохожусь по всем пунктикам, уже опубликованным в блоге. Правда в этот раз иногда получается немножко по-другому ;) Поэтому ещё раз набросаю порядок настройки фреймбуфера, как-то в этот раз настройка получилась очень простой - всего-то включить с десяток опций в ядре, поставить пару пакетов и изменить настройку загрузчика.

Настройка ядра (делал на 2.6.23, но ниже указаны опции и для предыдущих версий):
# cd /usr/src/linux
# make menuconfig


Поддержка фреймбуфера:
Device Drivers > Graphics support:
 < * > Support for frame buffer devices
 [*]   VESA VGA graphics support
(если есть выбор, выбрать vesafb, не vesafb-tng)


Поддержка fbsplash:
Device Drivers > Graphics support > Console display driver support:
 < * > Framebuffer Console support
 < * > Support for the framebuffer splash (у меня не было, но была строчка ниже)
 [*] Support for the Framebuffer Console Decorations (появилось в ядре 2.6.23)


Поддержка initrd:
Device Drivers > Block devices:
 < * > Loopback device support
 < * > RAM disk support
 (4096) Default RAM disk size (kbytes)
 [*]   Initial RAM disk (initrd) support (у меня не было такой опции)


Также советуют включить MTRR:
Processor type and features  --- > [*] MTRR (Memory Type Range Register) support


# make && make modules_install
# mount /boot
# cp arch/i386/boot/bzImage /boot/
# nano /boot/grub/grub.conf

Добавить "vga=0x317" в строчку kernel..., либо, что больше нравится из таблички:

Colours   640x400 640x480 800x600 1024x768 1152x864 1280x1024 1600x1200
--------+--------------------------------------------------------------
 4 bits |    ?       ?     0x302      ?        ?        ?         ?
 8 bits |  0x300   0x301   0x303    0x305    0x161    0x307     0x31C
15 bits |    ?     0x310   0x313    0x316    0x162    0x319     0x31D
16 bits |    ?     0x311   0x314    0x317    0x163    0x31A     0x31E
24 bits |    ?     0x312   0x315    0x318      ?      0x31B     0x31F
32 bits |    ?       ?       ?        ?      0x164      ?



# reboot


После ребута смотрим как изменилась консоль. Если изменилась - это и есть фреймбуфер и он работает ;)

Далее настройка фоновой картинки и сплеша при загрузке/выключении.

Поставить splashutils и одну тему для начала:
# emerge splashutils splash-themes-livecd


Сейчас, когда фреймбуфер работает, можно посмотреть, как будет выглядеть тема:
# splash_manager --theme=livecd-2007.0 --cmd=set --tty=1

Если нравится - идём дальше, если нет, то можно поставить splash-themes-gentoo (ещё пара тем) или скачать другие темы, к примеру, с kde-look.org.

Создание файла с картинками и конфигами для initrd:
# mount /boot
# cd /etc/splash
# splash_geninitramfs -v -g /boot/fbsplash -r 1024x768 livecd-2007.0


# nano /boot/grub/grub.conf

Добавить "splash=silent,theme:livecd-2007.0 console=tty1" в строку kernel...
И добавить ниже строку:
initrd (hd0,4)/boot/fbsplash
где (hd0,4) - раздел с /boot (подставьте свои цифры).


В итоге должно получиться примерно такое:
###Gentoo###
title Gentoo
root (hd0,4)
kernel /boot/bzImage root=/dev/sda7 vga=0x317 splash=silent,theme:livecd-2007.0 console=tty1
initrd (hd0,4)/boot/fbsplash


# reboot


[shadowbox=/images/newspost_images/07328a5ed572a90a3c6b3e086bff756a.gif|::||]/images/newspost_images/thumb_07328a5ed572a90a3c6b3e086bff756a.gif[/shadowbox]

Желающие навесить фоновые картинки на все консоли от 1 до 6 правят конфиг /etc/conf.d/splash (fbcondecor для ядра 2.6.23) и добавляют splash (fbcondecor) в стандартный уровень запуска:
# rc-update add splash default


{TAGS}




Вас также может заинтересовать:

Mysql и с чем его едят, основные команды...
Настройка локали в консоли в CentOS.
Сброс забытого пароля HP iLO из консоли GNU/Linux
22.07.2010 Проброс порта через SSH-tunnel в линуксовой консоли *(без всяких Putty)
Компания Valve опубликовала характеристики прототипа игровой консоли на базе Steam OS
Развертывание RemoteFX на Windows Server 2012: как обойти GUI ошибку консоли Hyper-V