Вот то что мне нужно внешний вид загрузчика и пукнты меню в приоритетном для меня порядке:
Давным давно во времена openSuSE 10-12 я собирал локально все с помощью встроенной GUI программы, но затем разрабы её выпили и более она не поддерживается, после этого я перешел на облачный сервис сборки и сидел на нем с openSuSE 12-42 даже когда вебку сменили и удалили мой аккаунт и конфиги в принципе более менее разобрался в новом веб интерфейсе и уже привык к нему.
Веб сервис без лишнего гемора на лету может собрать мне сборку с любым набором ПО и под любую версию ядра, и выходит все это гораздо быстрее чем собирать локально на моем ПК, т.е. нужно локально ставить кучу пакетов, настраивать чтобы все это работало и подцепляло нужные сетевые адреса ведь все равно большая часть качается с инета и самое главное следить чтобы хватало место для сборки на локалке, которая в моем случае является обычной виртуалкой, т.к. увы все никак не получается слезть с “Форточек”. Не знаю как сейчас правда обстоят дела со сборкой локально, но пробовал все это дело я еще когда была openSuSE 42 и понял что мне проще именно с вебкой работать, поэтому всю линейку openSuSE 15 собираю таке в облаке https://build.opensuse.org - он же OBS
Все собранные в OBS бинарники ISO скачиваю и также запускаю в виртуалке и в последствии на разных ПК и всегда, то что я вижу в виртуалке отображается точно также как на реальной тачке, в данном случае я имею ввиду внешний вид загрузочного меню. В качестве виртуальной машины исключительно предпочитаю продукты VMware и в частности VMware Player.
В вашем скрипте, как в прочем и у других аналогичных я видел подобную строку в файле скриптов
gfxboot --default-language ru_RU -a ${iso_bootlogo}
полагаю это и есть основная магия в сочетании с вызовом этого скрипта указанного в опции
editbootconfig="isopatch.sh"
файла “***.kiwi”
И вроде бы все логично, но оно не работает у меня в OBS и выдает ошибку аналогичную той что я указывал
[ 82s] [ DEBUG ]: 18:46:50 | EXEC: [bash -c cp /usr/src/packages/KIWI-iso/build/image-root/boot/memtest* /usr/src/packages/KIWI-iso/build/image-root/image/loader//memtest]
[ 82s] [ DEBUG ]: 18:46:50 | EXEC: [bash -c cp /usr/src/packages/KIWI-iso/build/image-root/etc/bootsplash/themes/openSUSE/cdrom/* /usr/src/packages/KIWI-iso/build/image-root/image/loader/]
[ 82s] [ DEBUG ]: 18:46:50 | EXEC: [gfxboot --config-file /usr/src/packages/KIWI-iso/build/image-root/image/loader//gfxboot.cfg --change-config install::autodown=0]
[ 82s] [ DEBUG ]: 18:46:50 | "gfxboot": in paths "/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin" exists: "False" mode match: not checked
[ 82s] [ ERROR ]: 18:46:50 | KiwiCommandNotFound: Command "gfxboot" not found in the environment
Во образей полного конфигурацонного файла “config.kiwi” самой минимальной сборки которую я смог создать с добавлением ваших рекомендаций по вызову скрипта и добавлению в загрузчик некоторых пакетов
<?xml version="1.0" encoding="utf-8"?>
<image schemaversion="6.5" name="MyByild_image" displayname="MyByild_image">
<description type="system">
<author>Nikname</author>
<contact>Mail@google.com</contact>
<specification>specificationNotes_mini</specification>
</description>
<!-- ======================================================================= -->
<preferences>
<version>1.1.0</version>
<rpm-excludedocs>true</rpm-excludedocs>
<rpm-check-signatures>false</rpm-check-signatures>
<packagemanager>zypper</packagemanager>
<bootsplash-theme>bgrt</bootsplash-theme>
<bootloader-theme>openSUSE</bootloader-theme>
<type
image="iso"
volid="MyByild_image"
firmware="uefi"
primary="true"
hybridpersistent_filesystem="ext4"
hybridpersistent="true"
hybrid="true"
flags="overlay"
kernelcmdline="splash=silent quiet"
editbootconfig="isopatch.sh"
/>
</preferences>
<!-- ======================================================================= -->
<users>
<user name="root" realname="root" shell="/bin/bash" home="/root" groups="root" pwdformat="plain" password="123123123"/>
</users>
<!-- ======================================================================= -->
<!--repository type="rpm-md">
<source path="obsrepositories:/"/>
</repository-->
<repository type="rpm-md" priority="2">
<source path="obs://openSUSE:Leap:15.4/images"/>
</repository>
<repository type="rpm-md" priority="3">
<source path="obs://openSUSE:Leap:15.4:Update/standard"/>
</repository>
<repository type="rpm-md" priority="4">
<source path="obs://openSUSE:Leap:15.4/standard"/>
</repository>
<repository type="rpm-md" priority="5">
<source path="obs://openSUSE:Leap:15.4:NonFree/standard"/>
</repository>
<repository type="rpm-md" priority="6">
<source path="obs://openSUSE:Leap:15.4:NonFree:Update/standard"/>
</repository>
<repository type="rpm-md" priority="7">
<source path="obs://openSUSE:Backports:SLE-15-SP4:Update/standard"/>
</repository>
<repository type="rpm-md" priority="8">
<source path="obs://openSUSE:Backports:SLE-15-SP4/standard"/>
</repository>
<repository type="rpm-md" priority="9">
<source path="obs://SUSE:SLE-15-SP4:Update/pool-leap-15.5"/>
</repository>
<repository type="rpm-md" priority="10">
<source path="obs://SUSE:SLE-15-SP4:GA/pool"/>
</repository>
<repository type="rpm-md" priority="11">
<source path="obs://SUSE:SLE-15-SP3:Update/pool-leap-15.5"/>
</repository>
<repository type="rpm-md" priority="12">
<source path="obs://SUSE:SLE-15-SP3:GA/pool"/>
</repository>
<repository type="rpm-md" priority="13">
<source path="obs://SUSE:SLE-15-SP2:Update/pool-leap-15.5"/>
</repository>
<repository type="rpm-md" priority="14">
<source path="obs://SUSE:SLE-15-SP2:GA/pool"/>
</repository>
<repository type="rpm-md" priority="15">
<source path="obs://SUSE:SLE-15-SP1:Update/pool-leap-15.5"/>
</repository>
<repository type="rpm-md" priority="16">
<source path="obs://SUSE:SLE-15-SP1:GA/pool"/>
</repository>
<repository type="rpm-md" priority="17">
<source path="obs://SUSE:SLE-15:Update/pool-leap-15.5"/>
</repository>
<repository type="rpm-md" priority="18">
<source path="obs://SUSE:SLE-15:GA/pool"/>
</repository>
<!-- ======================================================================= -->
<packages type="bootstrap" patternType="onlyRequired">
<package name="filesystem"/>
<package name="openSUSE-release-mini"/>
</packages>
<!-- ======================================================================= -->
<packages type="image" patternType="onlyRequired">
<package name="dracut-kiwi-live"/>
<package name="kernel-default-base"/>
<package name="dracut"/>
<package name="iproute2"/>
<package name="keyutils"/>
<package name="wicked"/>
<package name="grub2-x86_64-efi" bootinclude="true"/>
<package name="grub2-branding-openSUSE" bootinclude="true"/>
<package name="gfxboot" bootinclude="true"/>
<package name="gfxboot-branding-openSUSE" bootinclude="true"/>
</packages>
</image>
Вот скрипт который вызваю “isopatch.sh”:
#! /bin/sh
set -ex
location=$1
iso_dir=${location#iso:}
iso_bootlogo=${iso_dir}/boot/*/loader/bootlogo
grubcfg=${iso_dir}/boot/grub2/grub.cfg
efi_grubcfg=${iso_dir}/EFI/BOOT/grub.cfg
gfxboot --default-language ru_RU -a ${iso_bootlogo}
sed -i '0,/\$linux/s/\(quiet\)/\1 lang=ru_RU/' ${grubcfg}
sed -i '0,/\$linux/s/\(quiet\)/\1 lang=ru_RU/' ${efi_grubcfg}
Таким образом у меня в OBS проекте всего 2 этих файла, репозитории указаны в самом файле, так что в локальных вклдках проекта META/Repositories я ничего не здаю, кроме глобальных META/Repositories в которой лишь добавил
<repository name="SUSE_v15">
<arch>x86_64</arch>
<arch>i586</arch>
</repository>
при чем на данный момент i586 понятное дело будет фэлиться из-за отстутсвтия поддержки со стороны openSuSE, т.к. они на сколько я понял начиная с 15 версии полностью перешли на 64х битные сборки.
Пожалуйста, подскажите что нужно дописать/переписать в этих файлах или добавить еще другие файлы, чтобы все это нормально собралось в OBS и я смог получить внешний вид загрузчика аналогичный вашему и тому скрину который точно что привел выше.
Если это в OBS сделать нельзя, тогда пожалуйста, проконсультируйти пошагово как на локальной тачке настроить сборку kiwi и собрать мой этот конфиг.