close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Initial Version and Version 1 of AdminKiosk


Ignore:
Timestamp:
Apr 24, 2018, 4:26:28 PM (9 years ago)
Author:
bau
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdminKiosk

    v1 v1  
     1= Bereitstellung eines Mini-Linux (Kiosk)
     2
     3Porteus ist ein auf Slackware basierendes Linux, welches von DVD, USB-Stick, HDD aber eben auch über PXE/TFTP/HTTP bootet und einen Browser, SSHD, VNCD bereitstellt.
     4
     5== PXE
     6Der DHCP (densmasq) stellt neben der IP auch PXE-Bootmenu zur Verfügung. Mit dem TAG
     7{{{
     8 pxe-service=x86PC,Porteus Kiosk,/kiosk/pxelinux,10.16.112.2
     9}}}
     10bootet jeder mit kiosk getaggte Client vom TFTPD auf 10.16.112.2
     11{{{
     1200:00:00:00:00:00,set:kiosk,kiosk01,12h
     13}}}
     14
     15== TFTPD
     16TFTP-HPA stellt das TFTP-Root unter /srv/tftp bereit, im Unterordner kiosk müssen liegen:
     17{{{
     18  pxelinux.0
     19  pxelinux.cfg (Ordner)
     20  |
     21  +- default   (Bootmenüeinträge für unbekannte Clients)
     22  +- kiosk32   (Porteus 32)
     23  +- kiosk64   (Porteus 64)
     24  +- 01-MAC-Adresse (für spezielle clients - oder)
     25  +- HEX (IP-Adresse in HEX, z.B. 0A107001 = 10.16.112.1)
     26}}}
     27
     28Die Client-Dateien per SymLink auf kiosk32 oder kiosk64 legen:
     29
     30{{{
     31  #kiosk64
     32
     33  label porteus
     34  menu label Porteus Kiosk 64bit
     35  kernel porteus/vmlinuz
     36  append initrd=porteus/initrd.xz,porteus/initrdpxe.xz quiet http_server=10.16.112.2/porteus/
     37
     38  #kiosk32
     39  label porteus_i586
     40  menu label Porteus Kiosk 32bit
     41  kernel porteus_i586/vmlinuz
     42  append initrd=porteus_i586/initrd.xz,porteus_i586/initrdpxe.xz quiet http_server=10.16.112.2/porteus_i586/
     43}}}
     44
     45Unter /srv/tftpd/kiosk/porteus bzw. /srv/tftpd/kiosk/porteus_i586 liegen die Porteus-Dateien:
     46{{{
     47   http           (Ordner)
     48   |
     49   +- docs        (Ordner)
     50      |
     51      +- default.jpg  GNU_GPL  kiosk.jpg  kiosk.sgn  License.txt  version
     52   +- xzm         (Ordner)
     53      |
     54      +- 000-kernel.xzm  001-core.xzm  002-firefox.xzm  003-settings.xzm  004-wifi.xzm  08-ssh.xzm  09-x11vnc.xzm
     55   initrdpxe.xz 
     56   initrd.xz 
     57   vmlinuz
     58}}}
     59
     60
     61== HTTPD
     62Der Apache2 stellt die Dateien unter /srv/tftp/kiosk/porteus/http als /porteus bzw. /srv/tftp/kiosk/porteus_i586/http als /porteus_i586 für den Boot bereit, /etc/apache2/sites-enabled/000-default:
     63{{{
     64        Alias "/porteus" "/srv/tftpd/kiosk/porteus/http"
     65        <Directory "/srv/tftpd/kiosk/porteus/http">
     66            Options Indexes
     67            Require all granted
     68        </Directory>
     69
     70        Alias "/porteus_i586" "/srv/tftpd/kiosk/porteus_i586/http"
     71        <Directory "/srv/tftpd/kiosk/porteus_i586/http">
     72            Options Indexes
     73            Require all granted
     74        </Directory>
     75}}}
     76
     77== Porteus-Config
     78Porteus Kiosk legt in der Datei docs/kiosk.sgn eine verschlüsselte Konfiguration ab. In unserem Fall ist dort hinterlegt, dass beim Booten die eigentliche Konfiguration vom paedml.kg-fds.de geholt werden soll:
     79
     80{{{
     81kiosk_config=http://paedml.kg-fds.de/kiosk/config.php
     82}}}
     83
     84Auf dem paedml kann damit über die übergebene PCID (Porteus) oder die IP des Clients für jeden Client eine eigene Config übermittelt werden.
     85
     86== Porteus-Boot
     87PXE-Boot (DHCP 10.16.112.2) zum TFTP (10.16.112.2), vor dort kommen vmlinuz, initrd.xz und initrdpxe.xz, die vom HTTP (10.16.112.2 - ist als APPEND-Parameter angehängt) die .xzm-Module nachladen. Ein C-Programm (/sbin/init) aus dem Modul 03-settings.xzm entschlüsselt die kiosk.sgn, lädt die Config vom paedml.kg-fds.de nach und startet den Client (X11, Firefox, VNCD und SSHD). Die zu ladende Webseite wird in der Config angegeben.