OSInside / kiwi

KIWI - Appliance Builder Next Generation
https://osinside.github.io/kiwi
GNU General Public License v3.0
301 stars 152 forks source link

EFI Live images are missing the grub2 theme #623

Closed Vogtinator closed 6 years ago

Vogtinator commented 6 years ago

https://openqa.opensuse.org/tests/609090#step/bootloader_uefi/4

The ISO's /boot/grub2/themes directory is empty, because of:

[  644s] [ DEBUG   ]: 05:03:05 | EXEC: [mkdir -p /usr/src/packages/KIWI-iso/live-media.8wyjcz82/boot/grub2/themes]
[  644s] [ WARNING ]: 05:03:05 | Theme /usr/src/packages/KIWI-iso/live-media.8wyjcz82/boot/grub2/themes/openSUSE not found

I looks like it uses the wrong source path for the copy.

schaefi commented 6 years ago

Can not reproduce and works from a test build. Can you make sure your image description installs the package:

<package name="grub2-branding-openSUSE"/>
schaefi commented 6 years ago

accessing openqa timed out

Vogtinator commented 6 years ago

It's installed just fine and appears in the root filesystem.

<package name="grub2-branding-openSUSE" bootinclude="true"/>.

openQA might be up again now.

schaefi commented 6 years ago

ah well ok that link doesn't help. For reproducing we need:

  1. the complete image description
  2. the complete kiwi build log

Thanks

Vogtinator commented 6 years ago

That's on OBS: https://build.opensuse.org/package/show/openSUSE:Leap:15.0:Images/livecd-leap-kde

schaefi commented 6 years ago

Are you sure this is a kiwi error. The log shows:

[  493s] [ DEBUG   ]: 15:51:23 | system: (1223/1579) Installing: grub2-branding-openSUSE-15.0-lp150.1.3.noarch [.........done]
[  493s] [ INFO    ]: Processing: [#########                               ] 24%[ DEBUG   ]: 15:51:23 | system: Additional rpm output:
[  493s] [ DEBUG   ]: 15:51:23 | system: warning: /var/cache/kiwi/packages/3fcba24e373c1066020c42d21b671ce7/grub2-branding-openSUSE.rpm: Header V3 RSA/SHA256 Signature, key ID 3dbdc284: NOKEY
[  493s] [ DEBUG   ]: 15:51:23 | system: Use of uninitialized value $gfx_mode in concatenation (.) or string at /usr/share/grub2/themes/openSUSE/activate-theme line 35.
schaefi commented 6 years ago

To me it looks like grub2-branding-openSUSE-15.0-lp150.1.3.noarch is broken

schaefi commented 6 years ago

when kiwi looks up the theme it checks for the background.png file which does not exist. Your root tree contains:

-rw-r--r-- 1 root root  4213 Feb 14 16:51 ascii.pf2
-rw-r--r-- 1 root root 19890 Feb 14 16:51 COPYING.CC-BY-SA-3.0
-rw-r--r-- 1 root root  4684 Feb 14 16:51 DejaVuSans10.pf2
-rw-r--r-- 1 root root  5062 Feb 14 16:51 DejaVuSans12.pf2
-rw-r--r-- 1 root root  5679 Feb 14 16:51 DejaVuSans-Bold14.pf2
-rw-r--r-- 1 root root   126 Feb 14 16:51 highlight_c.png
-rw-r--r-- 1 root root  3354 Feb 14 16:51 logo.png
-rw-r--r-- 1 root root   318 Feb 14 16:51 README
-rw-r--r-- 1 root root   139 Feb 14 16:51 slider_c.png
-rw-r--r-- 1 root root   175 Feb 14 16:51 slider_n.png
-rw-r--r-- 1 root root   186 Feb 14 16:51 slider_s.png
-rw-r--r-- 1 root root  1102 Feb 14 16:51 theme.txt

as you can see no background file. Thus kiwi considers the theme as broken and does not use it

I think this is because of the above mentioned error in the theme code when it gets installed

schaefi commented 6 years ago

I suggest you open a bug against the theme. uninitialized value $gfx_mode is surely needed to create the background.png for the appropriate resolution

Vogtinator commented 6 years ago

I see. This is unexpected as that branding package works absolutely fine everywhere else.

The activate-theme script reads grub/default for the resolution, so I guess this is just an installation in the wrong order.

schaefi commented 6 years ago

@Vogtinator it is caused by groupwhise, the mailbox there still is flooded with mails from last year. because my suse.com address only works in groupwhise I have a rule to forward those to the suse.de address. I have deleted that rule for now which finally stopped the hell to continue. The consequence is that I'm not reading anything sent to ms@suse.com now

lnussel commented 6 years ago

The Leap 15 theme does not have a background image. I think kiwi should not try to guess by itself whether a theme is valid or not. Just take what's there. Grub will decide if it's good.

The uninitialized warning is unrelated.

Vogtinator commented 6 years ago

This is also why I initially thought it's a kiwi issue - the theme was just completely missing and the log just did not mention that it even tried to look at the right place.

Vogtinator commented 6 years ago

@lnussel You should probably fix the activate-theme issue anyway, it's not pretty to have that in the rpm installation logs.

lnussel commented 6 years ago

https://build.opensuse.org/request/show/576942

schaefi commented 6 years ago

The Leap 15 theme does not have a background image. I think kiwi should not try to guess by itself whether a theme is valid or not. Just take what's there. Grub will decide if it's good.

and produces an unusable boot layout if the theme is broken. Anyway the check for background.png only exists because etc/default/grub contained GRUB_BACKGROUND as a mandatory element

Has this also changed ?

lnussel commented 6 years ago

Marcus Schäfer wrote:

The Leap 15 theme does not have a background image. I think kiwi should
not try to guess by itself whether a theme is valid or not. Just take
what's there. Grub will decide if it's good.

and produces an unusable boot layout if the theme is broken.

Well, GIGO. Not kiwi's fault. If e.g the systemd package is broken and doesn't boot you are not trying to skip including systemd either. Keep it simple :-)

Anyway the check for background.png only exists because etc/default/grub contained GRUB_BACKGROUND as a mandatory element

Has this also changed ?

I kind of doubt that it ever was mandatory, as text mode only is a valid way to run grub. Anyways see /etc/grub.d/00_header. Both GRUB_BACKGROUND and GRUB_THEME are optional.

cu Ludwig

-- (o Ludwig Nussel //\ V/_ http://www.suse.com/ SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg)