Animation von Bootsplashes // Möglichkeiten

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
webshark
Beiträge: 50
Registriert: 26.08.2007 00:29:35
Wohnort: München

Animation von Bootsplashes // Möglichkeiten

Beitrag von webshark » 12.10.2007 12:53:07

Hallo!

Wie weit gehen die Animationsmöglichkeiten eines Bootsplashs?
Nur Balken oder geht da auch mehr?

Wenn mehr,wie?Habe keinerlei Ankleitung finden können die beschreibt wie Z.B ein Ladebalken entsteht oder
wie die Veränderungen proportional übergeben werden, damit grafisch der output angepast wird, vor allem , wie man die Parameter bestimmt, was genau passiert.

Also z.B. eine Kreisfunktion oder das Abspielen einer Animation.
Welchen konventionen folgen die, wie erstellt man dann eine solche datei?Mit welchem Grafik/ Animations-Programm?

Was da jeweils genau wann passiert ist irgendwie nirgends zufriedenstellend beschrieben.

Ich gedenke Grub zu verwenden, aus dem heraus der rest passiert, oder je nach machbarkeit dem kern die Animation zu überlassen und Grub zumindest den selben Hintergrund zu verpassen und es Ansehnlich zu gestalten , bis der Kern die Animation übernimmt.

Das Bild sollte statisch bleiben, lediglich Fortschrittsanzeige und danach direkter Wechsel in die Oberfläche (die den Hintergrund des Bootsplash als selbigen Hintergrund hat, vielleicht Helligkeitswechsel des Weißanteils von leicht Grau in
Weiß)

Eine Box in der Bootinformationen laufen könnte man später noch machen , ist aber nicht so wichtig.


Will ja nicht "aus der Dose" sondern reinfinden, lernen und verstehen.
Generell muss ich erst mal reinfinden.

Das ganze soll ja später im Verbund zum Custom Kernel laufen.

Danke für Tipps und Tricks!
Tiefschwarzes Konsolenwasser.Windowsfrei seit 2005.
Dell Optiplex 240/1GHz/512Mb/40Gb/cdrw/TV
ELO Touchscreen 800x600
Thinkpad 560z/300MHz/128Mb/30Gb/800x600/
Apple MacBook 2.0 / OSX Tiger // Bootcamp ->Debian.
Apple IPHONE
Apple Airport Extreme Router (Aka:Hannelore)

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 12.10.2007 14:52:10

hi,

wenn du das Boot-Menü von Grub nicht brauchst, kannst du in
/boot/grub/menu.lst den timeout auf 0 setzen. Dann zeigt Grub
nichts mehr an und schneller geht's auch noch.

Wenn du schon menu.lst änderst:
mit dem Kernel-Parameter "quiet" werden die Boot-Meldungen
des Kernels abgeschaltet und mit "vga=794" der Framebuffer
eingeschaltet, mehr dazu im Wiki. Auf die Art hast du bis zum
Start von init einen schwarzen Bildschirm (bei mir ca. 6s).

Ab dann kann ein normales Programm ohne allzu große Tricks
eine Bootsplash-Grafik erzeugen.
Beware of programmers who carry screwdrivers.

Benutzeravatar
webshark
Beiträge: 50
Registriert: 26.08.2007 00:29:35
Wohnort: München

Beitrag von webshark » 15.10.2007 12:15:29

Joah. Aber wie bekomme ich sowas Kernseitig ohne viel overhead hin und wie weit gehen da die Möglichkeiten?
Tiefschwarzes Konsolenwasser.Windowsfrei seit 2005.
Dell Optiplex 240/1GHz/512Mb/40Gb/cdrw/TV
ELO Touchscreen 800x600
Thinkpad 560z/300MHz/128Mb/30Gb/800x600/
Apple MacBook 2.0 / OSX Tiger // Bootcamp ->Debian.
Apple IPHONE
Apple Airport Extreme Router (Aka:Hannelore)

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 15.10.2007 13:35:39

hi,

muß das unbedingt kernelseitig sein, bringt das was?
Nach dem Einschalten läuft es doch so ab:

1. BIOS
1b. ggf. das eine oder andere Adapter-BIOS
2. Grub-Menü
3. Grub lädt Kernel und ggf. initrd
4. Kernel-Initialisierung
5. Kernel startet init
6. init arbeitet das rcS-Script ab
7. umschalten auf Runlevel 2, mehr Scripte
8. umschalten von Konsole auf X11
9. Displaymanager / Windowmanager / Applikation startet

Phase 2 und 3 können komplett ohne Ausgabe ablaufen und sind
sehr kurz.

Nur in Phase 4 und evt. 5 kann der Kernel was zur Optik beitragen,
ein Fortschrittsbalken dürfte aber wirklich gute Kernel-Kenntnisse
und Eingriffe an vielen Stellen des Kernels erfordern. Ein statisches
Bild ist aber im Standard-Kernel vorgesehen, nur nicht aktiviert.
Dafür braucht man in der Kernel-Config den Framebuffer und das
"Linux-Logo". In "drivers/video/logo/logo_linux_clut224.ppm" ist das
Original des Bildes. Außerdem ist Phase 4 relativ kurz.

In 5. muß man 2 bis 3 Text-Ausgaben nach /dev/null umleiten.

Ab Phase 6 hat der Kernel garkeine Informationen mehr, die für den
Balken nötig wären, hier sind init und die Scripte gefragt. Dafür kann
jetzt ein ganz normales Programm mit Hilfe der vgagl Grafik-Library
beliebige Grafik erzeugen. Wenn man das Paket "sysv-rc" durch
"file-rc" ersetzt, geht es evt. einfacher.

Die nervige Umschaltung von 7 nach 8 läuft wesentlich sanfter ab,
wenn man als X11-Treiber "fbdev" verwendet. Der Video-Mode sollte
ja schon seit Phase 4 richtig sein. Normalerweise erscheint jetzt das
X11-"Schachbrett"-Muster, hier ist Schluß mit Fortschritt. Die einzige
Alternative, die ich kenne, ist ein schwarzer Bildschirm. Dazu braucht
man im $HOME des Benutzers eine Datei .xserverrc

Code: Alles auswählen

#!/bin/sh
exec /usr/bin/X11/X -br -dpi 100 -nolisten tcp
Die Benutzer-Anmeldung erfolgt entweder mit xdm/gdm... in Phase 9
oder schon in Phase 7 mit einem autologin durch init. Dann kann man
je nach Anwendung sogar auf einen Windowmanager verzichten.

In der nächsten Ausbaustufe könnte man noch die Runlevel-Scripte
und startx wegrationalisieren.
Beware of programmers who carry screwdrivers.

Benutzeravatar
webshark
Beiträge: 50
Registriert: 26.08.2007 00:29:35
Wohnort: München

Beitrag von webshark » 15.10.2007 14:52:12

Das war Die gesuchte Antwort!

:idea:

Vielen Dank!

Das Umschalten zu einem WM über init würde mich noch interessieren ->Beispielcode?
Und: muss ich dazu ein kleines C-progrämmelchen callen ?

Dein Statement hierzu:
http://www.debianforum.de/forum/viewtopic.php?t=61439

:?:
Tiefschwarzes Konsolenwasser.Windowsfrei seit 2005.
Dell Optiplex 240/1GHz/512Mb/40Gb/cdrw/TV
ELO Touchscreen 800x600
Thinkpad 560z/300MHz/128Mb/30Gb/800x600/
Apple MacBook 2.0 / OSX Tiger // Bootcamp ->Debian.
Apple IPHONE
Apple Airport Extreme Router (Aka:Hannelore)

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 15.10.2007 15:50:44

webshark hat geschrieben:Das Umschalten zu einem WM über init würde mich noch interessieren ->Beispielcode?
"umschalten" ist mir nicht ganz klar, aber direkt von init zum WM
geht's nicht. Normal läuft es so ab:
- Benutzer meldet sich an der Textkonsole an
- Benutzer tippt "startx" ein
- startx ruft xinit auf
- xinit arbeitet xserverrc (= Start des xserver) und xinitrc ab
- xinitrc startet den Windowmanager und evt. auch Anwendungen

automatisieren kann man erstmal das startx, indem man es in die
$HOME/.bashrc schreibt, z.B.

Code: Alles auswählen

if [ -z $DISPLAY ]; then   # läuft X schon?
   startx
fi
Der nächste Schritt ist die automatische Anmeldung durch init:
webshark hat geschrieben:Und: muss ich dazu ein kleines C-progrämmelchen callen ?
eigentlich gibt's dafür das Programm rungetty, nur hab' ich das nicht
zum Laufen gebracht. Daraus ist das kleine C-Programm entstanden.
webshark hat geschrieben:Dein Statement hierzu:
http://www.debianforum.de/forum/viewtopic.php?t=61439
:?:
so läuft das bei mir, siehe oben. Die Ideen zum shutdown sind
allerdings ungetestet.
Beware of programmers who carry screwdrivers.

Benutzeravatar
webshark
Beiträge: 50
Registriert: 26.08.2007 00:29:35
Wohnort: München

Beitrag von webshark » 16.10.2007 14:45:01

Ooohh!

Das war auch wieder schön aufschlussreich!

Danke !
Tiefschwarzes Konsolenwasser.Windowsfrei seit 2005.
Dell Optiplex 240/1GHz/512Mb/40Gb/cdrw/TV
ELO Touchscreen 800x600
Thinkpad 560z/300MHz/128Mb/30Gb/800x600/
Apple MacBook 2.0 / OSX Tiger // Bootcamp ->Debian.
Apple IPHONE
Apple Airport Extreme Router (Aka:Hannelore)

Antworten