Univention Bugzilla – Bug 22117
Plymouth für UCS 3.0
Last modified: 2020-06-02 16:21:47 CEST
usplash ist in Squeeze nicht mehr enthalten, es hat u.a. den Nachteil mit KMS inkompatibel zu sein. Aktuelle Splash-Lösung ist Plymouth, unsere Bootsplash-Pakete und Themes müssen darauf angepasst werden. AFAIK integriert sich Plymouth in die initrd und greift dadurch früher als Usplash, dadurch sollte auch der Bootsplash-Patch obsolet werden.
https://hutten.knut.univention.de/mediawiki/index.php/UCS-3.0-Bootsplash
*** Bug 22503 has been marked as a duplicate of this bug. ***
Wenn die Anpassung vorgenommen wurde, muss univention-initrd wieder eine Abhängigkeit auf univention-bootsplash erhalten. Diese wurde temporär entfernt, um erste Aktualisierungs-Tests vorzunehmen.
Boot-Meldungen sollen beim Start von UCS 3 nicht angezeigt werden, es reicht eine Animation. Wichtig ist, dass die LUKS-Passworteingabe durchgeführt werden kann. Dort muss eine sinnvolle Meldung angezeigt werden.
(In reply to comment #4) > Boot-Meldungen sollen beim Start von UCS 3 nicht angezeigt werden, es reicht > eine Animation. Wichtig ist, dass die LUKS-Passworteingabe durchgeführt werden > kann. Dort muss eine sinnvolle Meldung angezeigt werden. Es wäre schön wenn man eventuelle fsck-Meldungen beim Booten sehen kann, ansonsten "steht" der Boot scheinbar für eine eventuell ziemlich lange Zeit.
(In reply to comment #4) > Boot-Meldungen sollen beim Start von UCS 3 nicht angezeigt werden, es reicht > eine Animation. Wichtig ist, dass die LUKS-Passworteingabe durchgeführt werden > kann. Dort muss eine sinnvolle Meldung angezeigt werden. Zusätzlich muss in der Dokumentation / SDB stehen, wie der Bootscreen temporär deaktiviert werden kann (Tastenkombination beim Boot) und wie dieser dauerhaft (UCR) deaktiviert wird.
Status: Patch an console-common -> 3.0-0-0-ucs/0.7.85/keymap-plymouth.sh.patch: keymap.sh macht Probleme mit plymouth, wenn plymouth läuft sollte es nicht ausgeführt werden. univention-bootsplash hat nun eine Abhänigkeit auf console-setup: Obiger Patch führt dazu, dass nach dem Boot von 3.0 auf der Konsole nicht das richtige TastaturLayout gesetzt ist (immer englisch). Das läßt sich dadurch umgehen, dass (wie in debian und ubuntu) console-setup installiert wird. Patch an console-setup -> ./3.0-0-0-ucs/1.68+squeeze2/030_console-setup-init.patch: Ebenso macht das setupcon in /etc/init.d/console-setup plymouth kaputt. Dies wird ebenfalls bei laufendem plymouth nicht ausgeführt (das TastaturLayout wird an einer anderen Stelle gesetzt.) Patch an plymouth -> ./3.0-0-0-ucs/0.8.3-9.1/010_rules.patch Im debian Paket wird plymouth in rc2 an stelle 21 beendet. Das ist zu früh, da bei uns der GDM erst an Stelle 30 gestartet wird. Plymouth sich aber nach dem GDM beenden. Das wurde per Patch entsprechend angepasst. univention-bootsplash: Unter /usr/share/plymouth/themes/ucs gibt es eine erste Version des Splash Theme aus Basis des "script" Theme (alle anderen sind für unsere Anforderungen zu wenig anpassbar).
plymouth wird in Runlevel2 erst an Stelle 99 gestartet (also beendet), damit der Bootsplash den gesamten Bootprozeß überlebt.
Erste Version ist Paketiert. Weiter geht es, wenn das Layout fertig ist.
Kein Blocker für MS1.
Logging per "lsb-base-logging.sh" im Bootsplash wurde deaktiviert.
Layout nochmal angepasst.
Es muss noch dafür gesorgt werden, dass kbd (anstatt console-tools) installiert wird, sonst bricht der Bootsplash im Startvorgang ab. Warten auf Bug #23434
Der bootsplash wurde auf plymouth umgestellt.
In univention-grub wurde noch grub/bootsplash aufgenommen, damit kann der Bootsplash aktiviert bzw. deaktiviert werden. Beim Update auf 3.0 sollten alle splash Dinge aus grub/append entfernt werden und ,falls dort splash gesetzt war, grub/bootsplash auf splash gesetzt werden, sonst auf nosplash.
Normalerweise kann man plymouth während des Boot mit ESC beenden, nochmaliges drücken von ESC aktiviert plymouth dann wieder. Das klappt in UCS 3.0 nur bis RunLevel 2, irgendein init Script macht dies dann kaputt, man kann plymouth dann nicht mehr aktivieren.
Bei Wechsel des Runlevel wird tty1 von init Daemon beansprucht und mit default Werten initialisiert. Dadurch verliert plymouth den Zugang zu tty1 und bekommt z.B. die Tastatureingaben nicht mehr mit. -> grep -A 2 -B -2 -n TIOCS /opt/sysvinit-2.88dsf/src/init.c 1060- if ((f = console_open(O_RDWR|O_NOCTTY)) >= 0) { 1061- /* Take over controlling tty by force */ 1062: (void)ioctl(f, TIOCSCTTY, 1); 1063- dup(f); 1064- dup(f); -- 1111- if (pid == 0) { 1112- setsid(); 1113: (void)ioctl(f, TIOCSCTTY, 1); 1114- exit(0); 1115- } Zum Test habe ich die zwei ioctl Aufrufe einmal auskommentiert. Dann funktioniert plymouth wird gewünscht, jedoch kommt es bei der Ausgabe der Bootmeldungen (wenn plymouth läuft) dann zu unschönen Treppeneffekten. siehe aus http://comments.gmane.org/gmane.comp.freedesktop.plymouth/378 Eine andere Möglichkeit wäre plymouth auf einem anderen Terminal zu starten: -> plymouthd -h Boot splash control server USAGE: plymouthd [OPTION...] Options: --help This help message --attach-to-session Redirect console messages from screen to log --no-daemon Do not daemonize --debug Output debugging information --debug-file=<string> File to output debugging information to --mode=<string> Mode is one of: boot, shutdown --pid-file=<string> Write the pid of the daemon to a file --tty=<string> TTY to use instead of default
Die ESC Geschichte wird an Bug #23748 weiter behandelt. cryptsetup wurde nun noch so gepatcht, dass es beim Abfragen des Password die Meldung "cryptsetup: enter passphrase for $cryptsource ($crypttarget)" im plymouth anzeigt.
Funktioniert.
Das Standard Textplugin muss noch angepasst werden. Da steht Debian/...
(In reply to comment #20) > Das Standard Textplugin muss noch angepasst werden. Da steht Debian/... Wenn auf einem System KMS nicht möglich war, wurde bisher als Fallback das Modul text (Fortschrittsbalken auf Textkonsole) verwendet. Dort hat er dann den String "Debian ..." angezeigt. Wir werden für den plymouth Textmodus nun das Plugins "details" verwenden. Dadurch werden einfach alle Bootmeldungen ausgegeben, keinerlei Fortschrittsbalken oder ähnliches.
Passt.
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert werden: "Clone This Bug"