[Bug 798295] New: kiwi/mkinitrd: no bootsplash generated for initrd
https://bugzilla.novell.com/show_bug.cgi?id=798295 https://bugzilla.novell.com/show_bug.cgi?id=798295#c0 Summary: kiwi/mkinitrd: no bootsplash generated for initrd Classification: Internal Novell Products Product: openSUSE Build Service Version: master Platform: All OS/Version: Linux Status: NEW Severity: Normal Priority: P5 - None Component: General AssignedTo: mls@suse.com ReportedBy: jengelh@inai.de QAContact: qa-bugs@suse.de CC: ms@suse.com, mmarek@suse.com, mkromer@medozas.de Found By: Beta-Customer Blocker: --- /lib/mkinitrd/scripts/setup-splash.sh looks at the following entities to check if it should include a bootsplash: - /etc/lilo.conf - /boot/grub/menu.lst - /proc/cmdline In a KIWI build environment, the boot loader configuration files do not exist at the time of mkinitrd (which is called as a result of installing kernel-default/mkinitrd itself), and /proc/cmdline contains complete nonsense for the image, because those are host parameters, and are likely not to include vga=NNN. bootsplash should prefer reading the requested bootsplash sizes from some sysconfig file. This affects bootsplash-3.3 (image, SLES11SP2) and any later version. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=798295 https://bugzilla.novell.com/show_bug.cgi?id=798295#c1 --- Comment #1 from Marcus Schaefer <ms@suse.com> 2013-01-14 09:04:28 UTC --- when kiwi creates a new root tree as part of the kiwi prepare step it happens that mkinitrd is called as consequence to the post script of the kernel package. within that environment I agree it's questionable if mkinitrd should be called at all because it doesn't make sense in most cases. But this would be more targeted to the kernel packaging and post script for kiwi it doesn't matter because the kiwi code creates a correct bootloader and splash configuration as part of the image creation step (kiwi --create) which uses the former created new root tree as the root tree and doesn't expect any valid boot or splash configuration in it on first boot of the kiwi created appliance the kiwi initrd is active and calls at the end mkinitrd within an environment which provides all the required data to operate correctly. At that point the mkinitrd call makes sense and is even mandatory to replace the kiwi first boot code by the result of mkinitrd In short, you cannot expect a valid bootloader/splash configuration to be present in the kiwi unpacked root tree. The root tree kiwi creates is the result of the installation of packages and not more. It doesn't contain any system configuration other than those added by the author of the appliance. just my 2cents -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=798295 https://bugzilla.novell.com/show_bug.cgi?id=798295#c2 --- Comment #2 from Jan Engelhardt <jengelh@inai.de> 2013-01-14 15:47:07 CET --- This is mildly annoying. Just which hook do I need that will be run inside the boot initrd tree before that is being cpiod? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=798295 https://bugzilla.novell.com/show_bug.cgi?id=798295#c3 --- Comment #3 from Marcus Schaefer <ms@suse.com> 2013-01-14 15:18:43 UTC --- sorry I can't do anything with that question maybe you explain separately (not on bugzilla) what you are doing right now mkinitrd is a tool which assumes it runs on the target system it never was designed to run inside a chroot environment which is _not_ the target system. Building images is exactly that, creating an OS on a build machine and deploy it to other/different machines Thus using the result of mkinitrd while in the chroot on the build machine is a bad idea. If we accept that mkinitrd acts like this then there is no bug because it's allowed to check proc/cmdline and other parameters if we say all that must happen on the target machine If this is not accepted I fear a pretty big rewrite of mkinitrd is the consequence and that is also not a bug but a feature :) So my suggestion is to close this one -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=798295 https://bugzilla.novell.com/show_bug.cgi?id=798295#c4 --- Comment #4 from Michael Schröder <mls@suse.com> 2013-01-14 15:28:48 UTC --- You're supposed to use mkinitrd's '-s' option in a chroot to provide the screen resolution(s) of the target system. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=798295 https://bugzilla.novell.com/show_bug.cgi?id=798295#c5 --- Comment #5 from Jan Engelhardt <jengelh@inai.de> 2013-01-14 19:55:47 CET --- But I need to call mkinitrd -s somehow in the first place, inside the tree that will be used for the cpio (oem-iso-install/boot-VMX.hTx4zW/kiwi-VMXboot-26596/). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=798295 https://bugzilla.novell.com/show_bug.cgi?id=798295#c6 Michael Schröder <mls@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|mls@suse.com |ms@suse.com --- Comment #6 from Michael Schröder <mls@suse.com> 2013-07-12 09:18:48 UTC --- Ok, so what do we do with this bug. It's really not mkinitrd's fault, so it makes no sense that this is assigned to me. And Marcus is kinda right, mkinitrd is meant to be run on the target system. Nevertheless when kiwi installs a kernel, mkinitrd is called in the post install scriptlet, so it seems to work in this case as well. So maybe kiwi might want to support an option so that mkinitrd is called a second time with custom options. (There probably already is support to run a arbitrary command, check the kiwi docu). Anyway, reassigning to Marcus for further comments / closing. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=798295 https://bugzilla.novell.com/show_bug.cgi?id=798295#c7 --- Comment #7 from Jan Engelhardt <jengelh@inai.de> 2013-07-12 17:44:39 CEST --- What I want is a bootsplash for the installer ISO image that KIWI generates, not the final final system that the kiwi-produced ISO installs. So, to get bootsplash in the installer, I need to run a custom command (mkinitrd -s) in a kiwi hook script that late – or by means of your suggestion:
an option so that mkinitrd is called a second time with custom options.
-- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=798295 https://bugzilla.novell.com/show_bug.cgi?id=798295#c8 Marcus Schaefer <ms@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WONTFIX --- Comment #8 from Marcus Schaefer <ms@suse.com> 2013-07-16 19:37:42 UTC --- I don't understand the connection of bootsplash vs. mkinitrd ? all the code which runs in setup-splash.sh as part of an mkinitrd call can also be called standalone to create a new kernel splash cpio. The kernel splash cpio is just added (cat .. >> ...) to the end of the initrd cpio. That's the place where the kernel looks it up. You can take a look into either the mkinitrd scripts or alternatively to KIWIConfig.sh::suseGFXBoot at the very end of the function: #====================================== # create splash screen #-------------------------------------- # .. which among other things creates splash cpio data from the data provided via bootsplash-branding-XXX packages customizing kiwi images with your own bootsplash works best if you build your own bootsplash-branding-XXX package because that directly hooks into the system SUSE developed for the kernel splash support Closing this now as I don't see a kiwi bug here -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com