GfxBoot тема это новое графическое оформление меню загрузчика Grub4Dos (и не только), которое пришло на смену Splashimage. Для корректной его работы требуется версия Grub4Dos не ниже 0.4.4 Оно выглядит гораздо приятнее, т.к теперь можно в качестве фона использовать полноцветное изображение.
Все описанные действие производились в Win XP
Здесь мы расскажем как создавать GfxBoot тему по своему вкусу, т.е как поменять фоновую картинку загрузки, цвета текста, курсора и.т.д.
Файлы темы находятся в cpio-архиве и файл темы это бинарный файл, поэтому чтобы сделать какие либо изменения необходимо компилировать Gfxboot-тему заново из исходных файлов (кодов)
Вкратце опишем один из вариантов с использованием исходников gfxboot-3.3-custom. (2.4 Mb)
Скачайте этот архив и распакуйте его, ну например в корень диска C:\ (для удобства)
Заглянув внутрь вы увидите множество файлов, первым делом нас интересуют файлы gfxboot.cfg и back.jpg
Подсовываем своё изображение
Файл back.jpg это изображение в формате 1024х768х24b jpeg 1.1. Изображение можно заменить на какое вам угодно, переименовав его в back.jpg и поместив в папку с исходными файлами (с заменой старого естественно) Не забудьте, что формат должен быть jpeg 1.1, а не 2.0 или Прогрессивный.
Сохранить фото в jpeg 1.1 можно с помощю GIMP 2.6.6 и ACD See 3.2 (или выше)
GIMP, если в нём сохранять изображение в jpeg при настройках по умолчанию, то получится как раз то что надо.
ACD See, если щёлкнуть правой клавишей по картинке и из контекстного меню выбрать пункт "Конвертировать" отметив пункт JPG можно переконвертировать изображение и оно будет после этого пригодно для использования.
Меняем цвета элементов и позицию меню
Для внесения остальных изменений мы будем редактировать файл gfxboot.cfg, изменяя некоторые из нижеперечисленных параметров:
boot_show (по умолчанию: 0) Если поставить 1, отобразятся "Boot Options". Grub4dos не использует эту опцию, так что лучше не отображать её.
xmenu_hide_current (по умолчанию: 0) Поставим 1, Спрятать текущую выбранную позицию (можно не трогать).
menu_start_x, menu_start_y Позиция Меню. Если мы укажем после этих обоих пунктов =150, то блок с пунктами меню загрузки уползёт от верхнего левого края экрана так как это показано ниже на картинке:
С помощью этих параметров можно перемещать блок текста в любую точку экрана.
menu_max_entries (по умолчанию: 20) Число пунктов загрузки. Если у вас больше чем 20 или вы уменьшите параметр, список будет работать с прокруткой.
menu_bar_min_width Минимальная длинна курсора.
menu_text_normal Цвет текста пунктов загрузки, используйте RGB коды, например: 0xffffff.
RGB коды можно сгенерировать в GIMPе:
Это фрагмент окна программы, выбираем цвет и внизу отображается код.
menu_text_select Цвет выбранного курсором текста
boot_text_options Цвет курсора в дополнительных опциях загрузки
boot_text_normal Цвет текста опций загрузки
infobox_bg Фон информационного поля
infobox_text_normal Цвет текста информационного поля
menu_bar_color Цвет курсора
hide_reboot (по умолчанию: 0) Поставим 1, исчезнет кнопка перезагрузки (F9)
hide_poweroff (по умолчанию: 0) Поставим 1, исчезнет кнопка poweroff (F10)
disable_num_key (по умолчанию: 0) Эта опция позволяет выбирать пункты загрузки нажатием соответствующей клавиши, например нажав "1" вы выберите первый пункт загрузки. Если вам это не надо, смело ставьте 1.
hide_help (по умолчанию: 0) Поставим 1, останемся без возможности вызова помощи (F1) вполне можно пережить
hide_lang (по умолчанию: 0) Ставим 1, прячем кнопку выбора языка (F2)
custom_width, custom_height, custom_depth По умолчанию разрешение картинки 800x600x16, если хочется сделать картинку больше,
делаем так как на примере: custom_width=1024 custom_height=768 custom_depth=16 Выбранные параметры должны поддерживаться BIOS-ом.
panel_normal Цвет Заголовков в Помощи и самого пункта help
panel_title Цвет текста отображения функциональных клавиш (Fn)
Собираем и устанавливаем
Теперь, когда заменена картинка и сделаны все настройки в конфигурационном файле, нужно скомпилировать (собрать) файл-тему. Для этого используем пакет msys. (28.9 Mb)
Распакуйте его и запустите программу Console.exe. Если вы распаковали архив по адресу C:\, то пишите в консоли команду cd /c/GfxBoot - это переместит действие в целевую папку. Если вы распаковали исходные файлы в другое место, значит сочините свою команду, начинаться она будет с "cd" а остальное пишите по примеру - cd /буква диска/папка/где лежат файлы Жмём Enter Затем вводим команду make и снова жмём Enter.
После этого находим в папке GfxBoot появившийся файл message_en, это и есть новая GfxBoot тема. Можно переименовать файл, дать своё название и по желанию пережать в GZ архив (это умеет делать архиватор 7z)
Чтобы добавить GfxBoot тему на флешку, помещаем полученный файл (на флешку) по адресу /Boot/gfx
в файле Menu.lst (вверху) делаем запись -
gfxmenu (hd0,0)/Boot/gfx/название темы.gz
!!! Чтобы корректно работал Таймер, располагайте строку тайм аута выше строки запуска темы, вот так:
!!! Чтобы Русские буквы отображалиcь корректно, сохраняйте *.lst файлы в формате UTF-8 (в Блокноте - Файл\Сохранить как.. и.т.д..)
Большое спасибо всем кто работал над изучением GfxBoot тем и делился своими знаниями на форуме в темах - Темыgfxboot и Русский шрифт в Grub4Dos
Дополнение
Представляем вашему вниманию исходники gfxboot от Alser
Эти исходники оптимизированы с целью уменьшения "веса" готовой темы.
Удалены следующие вещи:
1. Всё, имеющее отношение только к загрузке с
установочного диска OpenSUSE. 2. Опции загрузки, помощь по F1, выбор языка по
F2, перезагрузка и выключение по F9 и F10. 3. Локализации. 4. Файлы
сообщений, надписей на кнопках. Т. к. остаётся только одно диалоговое окно
перехода в текстовый загрузчик, то тексты этого сообщения и 2 кнопок внесены
непосредственно в код (естественно, на русском языке). 5.
Пингвины. Незначительно изменён таймер.
не работает мануал. все сделал как написано, граб 0.4.4 и 0.4.5 - не проходит. даже скачал готовые темы - та же фигня... черный экран с буквами меню, никаких картинок не появляется. кто знает, в чем фигня?
нашел проблему. обновите статью, с указанием бага: не всегда флешка определяется как (hd0,0), посему необходимо в строке конфига писать gfxmenu /Boot/gfx/название темы.gz
Баг - это недочет в программе, а Вы указали на отдельный вариант использования. Ведь в команде gfxmenu нужно указывать не устройство с которого мы грузимся, а путь к теме gfxboot, а ее можно и на другое устройство кинуть (хоть в папку Windows). Тогда и в Вашем варианте "название темы.gz" тоже можно назвать "багом", ведь никто не обязан зажимать собранную тему gZip-ом, ею можно и так пользоваться gfxmenu /"название темы" Что касается "не всегда флешка определяется как (hd0)", то на форуме есть даже топик соответствующий.
1. ну-ну, неужто неправильно определение типа флешки ты приписываешь gfxmenu? вот это точно смешно. и что за высер про название темы? ты откуда, дед? с луны что ли? 2. ну да, вместо того, чтобы предупреждать про ситуацию, надо высмеять чужие слова, выставив себя супер умным чувачком. эй, дедушка, недостаток общения сказывается что ли? 3. я решение нашел без поисков по форуму, а ты, дед, видимо только форумом и живешь. ариведерчи дед. не плачь.
1. Цитата: "В программировании баг (англ. bug — жук) — жаргонное слово, обычно обозначающее ошибку в программе или системе, которая выдает неожиданный или неправильный результат. Большинство багов возникают из-за ошибок, сделанных разработчиками программы в её исходном коде, либо в её дизайне." http://ru.wikipedia.org/wiki/Баг
2. Речь идет о программе grub4dos, о реализации команды gfxmenu, которая в качестве параметра требует указания ПРАВИЛЬНОГО ПУТИ И ИМЕНИ файла с темой.
3. Что же обнаружил юноша? Опытным путем он обнаружил, что если флэшка определяется не как (hd0), а как (fd0), то команда gfxmenu (hd0,0)/Boot/gfx/название темы.gz почему-то не срабатывает. Мальчик решил, что у него-то точно все было правильно, а ошибка была в "баге". О чем и оповестил нас с категоричным предложением
Quote
посему необходимо в строке конфига писать gfxmenu /Boot/gfx/название темы.gz
4. Малыш не подумал, что если какой-нибудь другой читатель поступит, так же как и он
Quote
все сделал как написано
то, вероятно, он тоже сделает открытие, что при изменении названия папки с "gfx" на "my_super_puper_gfx" команда почему-то не захочет работать. После длительных экспериментов читатель обнаружит, что, доработав команду, он избавится от ошибки и превратится в писателя. Объявит об обнаружении "бага" и откорректирует предложенную команду по-своему.
5. Потом появится какой-нибудь умник, который, в отличие от нашего малыша, знает, что означает ".gz", и что тему не обязательно упаковывать в Gzip-архив и тоже объявит о "баге" и том, что он нашел РЕШЕНИЕ(!) как должна выглядеть команда в таком случае.
6. А что произойдет, если все они окажутся такими же по-детски обидчивыми или страдающими комплексом неполноценности, и так же остро будут реагировать на комментарии (вполне корректные и дружелюбные, надо сказать)? Скорее всего, Форум превратится в базар и захлебнется в площадной брани, вместо корректного обмена мнениями. Нам это надо?
7. Напоследок специально для inoti. Детка! Во-первых, в русском языке обращение заключается в запятые. Во-вторых, если высказывающийся хочет выказать особое уважение оппоненту, то "вы" он пишет с заглавной буквы. В-третьих, слово "сэр" пишется все-таки через "э", а не через "е". То есть фраза должны была выглядеть как-то так: "И что это Вы, сэр, про название темы?" Но я надеюсь, что детке уже и так все стало понятно, т.к. опускаться до его уровня никто не собирается.
PS Продолжения не будет. "Кто есть кто" и так понятно. Читать!
все компилится, все отлично. но когда меняешь параметры в файле gfxboot.cfg, а именно эти:
menu_start_x, menu_start_y
menu_max_entries
То ничего не меняется. Текст все равно остается на той же позиции. Количество menu_max_entries=20 - работает с прокруткой, хотя у меня меньше элементов с флешки. может быть такая причина, что я однажды менял языковые параметры в винде, и теперь в cmd за место русских букв вылазиют всякие левые символы. Прилагаю скрин для msys.
У меня не работает ни одна тема т.е картинка то есть и меню отображается, но ни один диск , программа не запускается. При активации любого пункта меню сразу идет перезагрузка
Итак, все отлично запускается и показывает, но само меню не работает, вернее после запускка любого диска grub перегружается, если без gfxmenu то все отлично
ну что за отношение к людям где значение md5, у меня блин консоль голову дурит!! У меня даунлод мастер говорит, что прога весит 28.3 Мб, у кого ошибка?
хотел тему заделать, но при запуске консоли из пакета msys невозможно что то ввести с клавиатуры, через инсерт ещё проходит через раз, всё равно пишет file not found, хотя адрес проверял, неплохо бы уже справку по теме сделать, для первого раза не очень всё ясно
Сделал все как было указано выше. Меню заработало, стали корректно отображаться строки, но не видно картинки, вместо нее тупо ферный фон, и после пары переключений по меню строки становятся серыми так сильно, что ничего не видно)
Разместите содержимое пакета msys по адресу C:\msys Разместите исходники (*.inc) и все файлы по адресу C:\temp Запустите Console.exe из пакета В консоли введите команду cd /c/temp Только потом вводим команду make.
Спасибо. Позже попробую. Я впринципе уже разобрался. Дело в том что в директории gfxboot-3.3-custom-z0bra нет makefile. Я взял пакет от Alesr и все пошло отлично.
Если Вы брали пакет уважаемого z0braОТСЮДА, то обратите внимание на то что автор все разложил по папкам, а управляет всем процессом командный файл build_gfxtheme.bat
Пакет уважаемого Alser мне самому очень нравится. Не устаю говорить ему спасибо за работу по расчистке gfxboot_3.3 от неиспользуемых скриптов. Именно его вариант gfxboot_3.3 был взят как базовый при разработке gfxboot @DED-LEGO@ v3.0. Кстати, удивительно почему у него только 4 "+" за столь тщательно выполненную работу - это непорядок
Разместите содержимое пакета msys по адресу C:\msys Разместите исходники (*.inc) и все файлы по адресу C:\temp Запустите Console.exe из пакета В консоли введите команду cd /c/temp Только потом вводим команду make.
Народ! А кто-нибудь пробовал сделать тему для widescreen (16/9)? Я попытался сделать через сборку Alesr. При запуске надписи в черном прямоугольнике как при стандартном grub. Подскажите кто знает, а то ну уж очень не симпатично на ноутбуках смотрится.
Я на ноутбуке тоже использовал разрешение 1024x768, т. к. "родное" запустить не удалось (видимо, через VESA оно не устанавливается). При этом то, что разрешение "не родное", на картинке без резких границ (а это справедливо для многих картинок, например, для природных пейзажей, для картинок с резкими границами и JPEG-сжатие даёт заметные искажения) не бросается в глаза. Но может раздражать искажение пропорций (если экран 16:10 или 16:9, а 1024x768 соответствует 4:3), что "лечится" созданием картинки для фона с уже изменёнными пропорциями по ширине и высоте таким образом, чтобы дальнейшее искажение привело к правильным пропорциям. Можно поэкспериментировать в каждом конкретном случае, определив максимально близкое к "родному" разрешение, которое удаётся установить, а затем "поколдовать" с фоном, сделав нужные пропорции.
Здравствуйте. Делаю всё по мануалу, всё удачно компилируется, но вместо моей картинки - чёрный экран. Версию JPEG проверил, судя по информации HEX-редактора это обычный JPEG. Может есть какие-то ограничения по размеру файла? Моя картика весит 600 кб.
Это слишком много. как ты получил такую картинку в 14 цветах? Я пробовал тоже. От размера 100% зависит. У меня до 150 кБайт готовые темы. Ну и картинка такая же. Пробуй. Удачи.