Feature #277

PXELinux Themes

Added by mj0 over 3 years ago. Updated almost 3 years ago.

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;)

Also available in: Atom PDF