Category: технологии

Category was added automatically. Read all entries about "технологии".

Делаем bootsplash

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

Для начала нарисуем простенький bootsplash, на подобие такого, который у нас есть при установке системы. Только кое-что изменим. :)

Для начала нам нужно знать: какая картинка по размеру будет у нас заставкой. Сразу скажу: картинки не всех размеров могут быть использованы. Во-первых, это зависит от того, какое разрешение экрана (видеорежим) может установить фреймбуфер. Также нужно знать, поддерживает ли видеокарты требуемый видеорежим.

При установке системы вам была предложена возможность установить видеорежим для фреймбуфера. Если вы не помните какой режим вы выбрали, то посмотрите в файле /etc/lilo.conf. Строка vga=788 указавает, что установлен видеорежим 800x600x64k . Этот видеорежим позволяет использовать полноцветные (65535 цветов) изображения.

Также в этом файле в строках со словом initrd находится путь к файлу в котором содержится уже скомпилированый  файл с темой заставки.
Темы загрузочных катринок находятся в директории /etc/bootsplash/themes
В директории с темой находятся две папки:
images - картинки заставок соответствующего разрешения
config - файлы канфигурации для соответствующего разрешения экрана

вот пример моего конфига для видеорежима 800x600:

# This is the configuration file for the 800x600 bootsplash picture
#
# This file is necessary to specify the coordinates of the text box on
# the splash screen.
#
#                      Created by TechnoMag 1 june 2008
#                            Theme Name: DayWatch

# config file version
version=3

# should the picture be displayed?
state=1

# fgcolor is the text forground color.
# bgcolor is the text background (i.e. transparent) color.
# значения цветов текста и фона для консольного режима
# значения должны быть ммм... дай Бог памяти.... от 0 до 15
fgcolor=7
bgcolor=0

# name of the picture file (full path recommended)
# пути к фоновым изображениям
jpeg=/etc/bootsplash/themes/daywatch/images/habensky_1.jpg
silentjpeg=/etc/bootsplash/themes/daywatch/images/habensky.jpg

# (tx, ty) are the (x, y) coordinates of the text window in pixels.
# tw/th is the width/height of the text window in pixels.
# а это границы консольного окна
tx=18
ty=48
tw=576
th=448

# разрешаем прогресс-бар
progress_enable=1

# background
# b(order) or i(nter)
box silent noover 176 478 651 498 #ff000000
# progress bar
# цвета заливки для прогремм-бара
box silent inter  176 479 176 497 #800000 #620000 #620000 #800000
box silent        176 479 651 497 #800000 #620000 #620000 #800000
# black border (top, bottom, left, right)
# рамка прогресс-бара
box silent        176 478 651 478 #A80D0D
box silent        176 498 651 498 #BA0707
box silent        176 478 176 498 #A80D0D
box silent        651 478 651 498 #BA0707

# text box
# box noover        35 34 754 535 #000000e2 # не знаю, не пробовал

# а эта опция перерисовывает шрифт при изменениях надписей
# у меня почему-то получаются накладки, разберусь - скажу
overpaintok=0

# (ax, ay) are the (x, y) coordinates for playing boot/shutdown animations
# если предусмотрена анимация

ax=200
ay=200

Далее все изменения: в конфиге темы и файле /etc/lilo.conf нужно зафиксировать командами:

splash -s -f /etc/bootsplash/themes/daywatch/config/bootsplash-800x600.cfg > /boot/initrd.daywatch

lilo -C /etc/lilo.conf
Перезагружаемся. Будьте внимательны при записях путей к файлам!