Сайт | Скачать | Видео | Wiki

Автор Тема: [GRUB SPLASHIMAGE HOWTO или украшаем загрузочное меню]  (Прочитано 19848 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Zloy_T

  • Почетный участник
  • Старожил
  • *
  • Сообщений: 326
  • Репутация: +74/-2
  • Автор темы
GRUB SPLASHIMAGE HOWTO или украшаем загрузочное меню
Как известно, основной скрипт, согласно которому в GRUB выполняется загрузка, это menu.lst. Рассмотрим такую фишку, как фоновый рисунок загрузки - то есть во время выбора загрузки мы будем любоваться не на черный экран со строчками, а например на картинку, которая повысит нам настроение и придаст сил в освоении дистра. Прописывается эта опция в "глобальной" секции, то есть впереди остальных

Код
#строка, описывающая  загрузку  фонового изображения 
splashimage (hd0,0)/boot/ grub /slack_nalug.xpm.gz

Код
#и закрытых комментариями строк, определяющих расцветку меню. 
# foreground = FFFFFF
# background = AAAAAA

Картинка в формате xpm должна иметь размер 640x480 и быть сжатой gzip'ом. Что же до цветов, то они не обязаны задаваться своими шестнадцатеричными кодами, можно использовать и соответствующие английские слова. Например, в конфигах загрузчиков многих дистрибутивов они определяются так:
Код
color cyan/blue white/blue

Мы будем считать, что у нас установлены PuppyRus и  Grub . Тогда все наши действия сводятся к 2-м этапам:
выбор/создание и подготовка изображения
конфигурирование загрузчика
Итак, приступим.

Подготовка изображения.
Если вы не искушенный в редактировании пользователь, то тогда имеет смысл выбрать уже имеющиеся изображения. Ниже привожу ссылки, где их можно взять:

http://schragehome.de/splash/
http://www.queervisions.com/arch/2007/04/9_grub_splash_i.html
google.ru

Если стоит задача - обязательно использовать свою картинку, то не вопрос! Для этого нужно выдержать условия, что изображение обязятельно должно быть:

разрешении 640х480
количество цветов 14
формат xpm
зажатого gz-пом


Конечно же у нас такого разрешения нету, а тем более такого формата. Поэтому делать это придется вручную. Графическим редактором.
Для людей более творческих будет интересен вариант с использованием редактора Gimp.
Для этого необходимо открыть желаемое изображение в редакторе, далее его нужно смаштабировать Изображение -> Масштабировать и задаем разрешение как ниже на рисунке:

Далее нужно изменить количество цветов в меню Изображение -> Режим -> Индексированное, как показано ниже:

Там вы выставляем требуемое количество цветов, а именно 14.

Теперь сохраняем картинку в формате xpm:

На вопрос об изменении альфа-канала жмем Enter. Чем хорош способ с применением графического редактора, тем что мы визуально контролируем как выглядит картинка при таком разрешении и при малом количестве цветов.
Ну а дальше, изображение нужно зажать gz-пом:
Код
$ gzip file_new.xpm
и на выходе получаем файл file_new.xpm.gz. Этого мы и добивались.

НастраиваемGrub.
Далее, без консоли грустно, поэтому предлагаю сделать именно в ней. Выполнять данные операции необходимо будет с правами суперпользователя, иначе - никак. Поэтому здесь максимально аккуратны.
Здесь важно понять принцип, а он очень прост. Так что если вы любите юзать mc или krusader в режиме root, то это будет вообще несложно.
Т.к. мне понравилось несколько картинок сразу, то я у себя сделал директорию (куда все потом и скопировал):
Код
 mkdir /boot/grub/splashimages
Далее, находясь в директории с файлом (у нас это file_new.xpm.gz), выполняем его копирование в созданный каталог:
Код
 cp file_new.xpm.gz /boot/grub/splashimages/
Ну а далее нужно немного подправить файл menu.lst, который находится в /boot/grub/. Сделайте, предварительно резервную копию файла - на всякий случай. Там нам нужно вставить всего одну строку:
Код
splashimage=(hd0,0)/grub/splashimages/file_new.xpm.gz
Внимание! В зависимости от точек монтирования разделов в Linux-e, данная строка может выглядеть по-другому, например как в строке ниже.
Код
splashimage=(hd0,0)/boot/grub/splashimages/file_new.xpm.gz
На рисунке ниже показан мой вариант файла menu.lst, где я подчеркнул (hd0,0), он обязательно должнен соответствовать тому, что написано у вас в разделе root, которую я так жеподчеркнул. Имя файла, который необходимо выводить при загрузке, я выделил кружочком. :-)

Сохраняемся, отправляем систему в глобальный ребут, и радуемся полученному результату!

Да, и не забываем, что можно еще поиграться с цветом шрифтов и фона, ибо  не на всякой картинке дефолтный цвет будет хорошо различим, подправив значения в самом начале файла menu.lst:

Код
#расцветка меню. 
# foreground = FFFFFF
# background = AAAAAA
или так
Код
color cyan/blue white/blue

пример - начало моего menu.lst

Код
# NeoGrub Bootloader Configuration File
#splashimage=(hd0,1)/NST/linuxinside.xpm.gz
splashimage=(hd0,1)/NST/biosplash.xpm.gz
#splashimage=(hd0,1)/NST/colors.xpm.gz
#splashimage=(hd0,1)/NST/DigitalAnGeL.xpm.gz
#splashimage=(hd0,1)/NST/zion.xpm.gz
foreground=ffffff
background=03bc19
configfile /boot/grub/menu.lst
timeout=10
и несколько сплешей в аттаче
---

использованы материалы http://citkit.ru/articles/892/15.html
« Последнее редактирование: 31 Июль 2010, 00:50:20 от RulllJazzz »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
У меня так:
Код
splashimage /boot/grub/images/puppy.xpm.gz
Но, не все версии grub поддерживают splashimage.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн rosgadom

  • Пользователь
  • **
  • Сообщений: 25
  • Репутация: +0/-0
    • Черная дверь
Re:[GRUB SPLASHIMAGE HOWTO или украшаем загрузочное меню]
« Ответ #2 : 30 Сентябрь 2014, 17:04:26 »
Понимаю, что писать в теме 5-ти летней давности достойно медленного слоу, но все же :)
Прочел пост - не понятно, фоновая картинка после выбора ОС должна исчезнуть или нет?
Мой menu.lst:
Код
splashimage=(hd0,0)/boot/grub/splashimages/pic.xpm.gz
timeout 2
default 0
title Puppy Linux 5.7.1 frugal in sda1
rootnoverify (hd0,0)
kernel /vmlinuz pmedia=atahd
initrd /initrd.gz

По прошествии двух секунд картинка исчезает и идет обычная загрузка в текстовом режиме. Можно ли сделать так, что бы заставка не исчезала до окончания загрузки?

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:[GRUB SPLASHIMAGE HOWTO или украшаем загрузочное меню]
« Ответ #3 : 30 Сентябрь 2014, 17:12:42 »
Фоновая картинка grub4dos после выбора должна исчезнуть
То что Вы хотите - https://wiki.archlinux.org/index.php/plymouth
В пупи тема малоизученная, т.к. ресурсоемко и бесполезно
Вроде что-то было в saluki

Оффлайн rosgadom

  • Пользователь
  • **
  • Сообщений: 25
  • Репутация: +0/-0
    • Черная дверь
Re:[GRUB SPLASHIMAGE HOWTO или украшаем загрузочное меню]
« Ответ #4 : 30 Сентябрь 2014, 17:33:07 »
Спасибо, sfs. У меня grub legacy, не знаю правда чем он отличается от grub4dos, но не суть важно. С plymouth это уже лишнее конечно. Хотя жаль немного, битый час потратил на поиск достойной картинки, может кому пригодится:

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:[GRUB SPLASHIMAGE HOWTO или украшаем загрузочное меню]
« Ответ #5 : 30 Сентябрь 2014, 17:39:45 »
В плане замены plymouth: grub grub2 burg ничем не отличаются от grub4dos
Ваша картинка слишком разноцвентая. наверное будут проблемы отображения на ней букв
Где-то здесь были картинки http://greenflash.su/
« Последнее редактирование: 30 Сентябрь 2014, 17:44:51 от sfs »

Оффлайн rosgadom

  • Пользователь
  • **
  • Сообщений: 25
  • Репутация: +0/-0
    • Черная дверь
Re:[GRUB SPLASHIMAGE HOWTO или украшаем загрузочное меню]
« Ответ #6 : 02 Октябрь 2014, 13:30:57 »
Да с буквами нормально все - они отображаются белым на черном фоне, если строк не много, то не мешает. А картинку делал с помощью convert - входит в состав imagemagick. Gimp конечно для этих целей подходит, но не у всех он есть и не каждый захочет его ставить ради преобразования пары-другой изображений.
Код
# convert -resize 640x480 -colors 14 исходная_картинка.jpg pic.xpm && gzip pic.xpm
« Последнее редактирование: 03 Октябрь 2014, 17:35:38 от rosgadom »