Feature #277
PXELinux Themes
| Status: | Erledigt | Start date: | ||
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | mj0 | % Done: | 100% |
|
| Category: | tools | |||
| Target version: | Ver. 5.0 | |||
| Resolution: | worksforme |
Description
Erweiterung / Umstellung auf PXELinux-Themes. Dabei wird die Template-Unterstützung aufgegeben. Im Grunde ist die Idee, dass man alle Theme-Einstellungen über eine Theme-Config erfolgen. Ich stelle mir das so vor:
Im Theme Ordner liegt eine (oder mehrere) Config-file(s) und evtl. eine Bilddatei mit 640x480. Hier ist die Frage, ob die Datei einen bestimmten Namen haben soll, oder man man sucht nach einem String wie MEMU TITLE. Nehmen wir mal an, die Datei muss default heißen. Dann sieht ein Theme-Ordner folgendermaßen aus:
cat default: +++++++ INCLUDE header #MENU MASTER PASSWD secret MENU PASSPROMPT Gesicherter Bereich, bitte Passwort eingeben: MENU AUTOBOOT Auswahl startet in # Sekunden MENU TITLE [[OpenSLX]] - Hauptmenü
cat header: +++++_ DEFAULT vesamenu.c32 MENU BACKGROUND openslx.png PROMPT 0 NOESCAPE 1 TIMEOUT 100 TOTALTIMEOUT 3000 MENU WIDTH 78 MENU MARGIN 9 MENU PASSWORDMARGIN 9 MENU ROWS 12 MENU TABMSGROW 18 MENU CMDLINEROW 18 MENU ENDROW -1 MENU PASSWORDROW 18 MENU TIMEOUTROW 18 MENU HELPMSGROW 18 MENU HELPMSGENDROW -1 MENU HSHIFT 0 MENU VSHIFT 5 menu color screen 37;40 #80ffffff #0 std menu color border 37;40 #40000000 #ff8093a1 std menu color title 1;37;40 #ffff8b00 #ff8093a1 std menu color unsel 37;40 #fff0f0f0 #ff8093a1 std menu color hotkey 1;37;40 #ffff8b00 #ff8093a1 std menu color sel 7;37;40 #ff1c2a33 #667799bb all menu color hotsel 1;7;37;40 #ffff8b00 #667799bb all menu color disabled 1;37;40 #ffff8b00 #ff8093a1 std menu color scrollbar 37;40 #40000000 #ee000000 std menu color tabmsg 37;40 #ffff8b00 #ff8093a1 std menu color cmdmark 1;37;40 #ffff8b00 #ff8093a1 std menu color cmdline 37;40 #fff0f0f0 #ff8093a1 std menu color pwdborder 37;40 #40000000 #ff8093a1 std menu color pwdheader 37;40 #ffff8b00 #ff8093a1 std menu color pwdentry 37;40 #ffff8b00 #ff8093a1 std menu color timeout_msg 37;40 #ff1c2a33 #0 none menu color timeout 1;37;40 #ffff8b00 #0 std menu color help 37;40 #ff1c2a33 #0 none menu color msg07 37;40 #90ffffff #0 std
+ noch das Bild openslx.png
header ist optional und kann natürlich auch in default stehen, soll uns ja nicht stören, da wir default als Theme-Definition festlegen. Ich würde dann auch alle SLX-Einstellungen wie Margin einstampfen, da man die eben per Theme ändern kann. Text-Themes sehen genauso aus, nur dass eben menu.c32 statt vesamenu.c32 verwendet wird. Alles was nicht definiert wird ist PXELinus-Default. Damit ist alles schön flexibel und wir müssen nix am demuxer fummeln. Als Standard könnte man ein Theme openslx-graphic und ein openslx-textonly, o.Ä. als Beispiele basteln.
In slxsettings wird also nur noch Theme definiert. Im Demuxer wird die Reihenfolge definiert (hat sich jmd. gewünscht), das Label (evtl. Hotkey???) und ich würde noch Comment o.Ä. als Hilfstext übernehmen, Beispiel:
TEXT HELP
Kursraumsystem welches auch in den Poolr<84>umen des RZ ver-
wendet wird. Es ist sowohl ein Linux Betrieb, als auch
ein Windows XP Betrieb m<94>glich, welcher auch verschiedene
Windows-Pakete (z.B. Office 2003) enth<84>lt.
ENDTEXT
In Zukunft könnte man noch überlegen, ob man Menu-Separator und Untermenüs mit aufnimmt:
MENU SEPARATOR MENU INCLUDE 1.2.3.4::pxelinux.cfg/default menu42
History
Updated by zooey over 3 years ago
Ich bin dafür - das Kopieren des Hintergrundbildes ist eigentlich auch schon implementiert, nur derzeit etwas buggy. Die Hauptarbeit würde also darin bestehen, den Support für PXE-Templates zu entfernen und die entsprechenden Settings ebenso.
Um eine spezielle Sortierung der Systeme zu realisieren müsste man die gewünschte Reihenfolge entweder explizit beim Client ablegen oder jedem System eine Priorität geben. Falls dies tatsächlich gewünscht ist, bitte ein separates Ticket mit genauer Beschreibung des gewünschten Verhaltens anlegen.
Updated by mj0 over 3 years ago
Replying to [comment:2 zooey]:
Ich bin dafür - das Kopieren des Hintergrundbildes ist eigentlich auch schon implementiert, nur derzeit etwas buggy. Die Hauptarbeit würde also darin bestehen, den Support für PXE-Templates zu entfernen und die entsprechenden Settings ebenso.
Gut :), ich denke das reicht auch erstmal aus. Beim kopieren des Bildes kannst du ja auch in die Dateien rekursiv sehen was kopiert werden soll.
INCLUDE header MENU BACKGROUND openslx.png
Oder man kopiert einfach alles irgendwo hin.
Um eine spezielle Sortierung der Systeme zu realisieren müsste man die gewünschte Reihenfolge entweder explizit beim Client ablegen oder jedem System eine Priorität geben. Falls dies tatsächlich gewünscht ist, bitte ein separates Ticket mit genauer Beschreibung des gewünschten Verhaltens anlegen.
Ja das war glaub mal angefragt worden, finde ich generell auch nicht so schlecht, zumindest den Defaultboot bestimmen wäre super. Da gibts ja auch 2 Möglichkeiten(+ Timeout Anpassung):
TIMEOUT 3000
TOTALTIMEOUT 6000
1.
ONTIMEOUT atxoff.com
2.
LABEL openslx-default
MENU LABEL ^Kursraumsystem
MENU DEFAULT
Das kann aber noch warten so zum Milestone 5.1 oder später. Ticket wird dann auch noch auf gemacht.
Generell wäre zu überlegen, ob man den o.g. default-Teil über slxconfig anbietet, und nur den Theme-Header per Datei definieren lässt:
cat default: +++++++ # in diese Datei Theme-Angaben INCLUDE header # Dieser Spaß wird über slxconfig definiert: MENU MASTER PASSWD secret MENU PASSPROMPT Gesicherter Bereich, bitte Passwort eingeben: MENU AUTOBOOT Auswahl startet in # Sekunden MENU TITLE [[OpenSLX]] - Hauptmenü TIMEOUT 3000 TOTALTIMEOUT 6000 ONTIMEOUT atxoff.com
So hat man Angaben zum Aussehen und zum Menü sauber getrennt. Man könnte natürlich den Theme-Teil auch in slxconfig aufnehmen, nur dann wird die ganze Sache unübersichtlich. Dann bräuchte man schon einen speziellen Befehl. slx-boot-env.
Updated by mj0 almost 3 years ago
- Target version changed from Ver. 5.0 to Ver. 5.1
Updated by mj0 almost 3 years ago
- Priority changed from Hoch to Normal
Updated by mj0 almost 3 years ago
- Category changed from konzept to tools
- Status changed from Neu to Gelöst
- Assignee changed from zooey to mj0
- % Done changed from 0 to 60
Warten auf Feedback für weitere Schritte (r2800)
Updated by mj0 almost 3 years ago
- Status changed from Gelöst to Erledigt
- Target version changed from Ver. 5.1 to Ver. 5.0
- % Done changed from 60 to 100
- Resolution set to worksforme
keiner hat sich beschwert, etc... also erlegdigt;)