wiki:AdminKiosk
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.

Bereitstellung eines Mini-Linux (Kiosk)

Porteus 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.

PXE

Der DHCP (densmasq) stellt neben der IP auch PXE-Bootmenu zur Verfügung. Mit dem TAG

 pxe-service=x86PC,Porteus Kiosk,/kiosk/pxelinux,10.16.112.2

bootet jeder mit kiosk getaggte Client vom TFTPD auf 10.16.112.2

00:00:00:00:00:00,set:kiosk,kiosk01,12h

TFTPD

TFTP-HPA stellt das TFTP-Root unter /srv/tftp bereit, im Unterordner kiosk müssen liegen:

  pxelinux.0
  pxelinux.cfg (Ordner)
  |
  +- default   (Bootmenüeinträge für unbekannte Clients)
  +- kiosk32   (Porteus 32)
  +- kiosk64   (Porteus 64)
  +- 01-MAC-Adresse (für spezielle clients - oder)
  +- HEX (IP-Adresse in HEX, z.B. 0A107001 = 10.16.112.1)

Die Client-Dateien per SymLink auf kiosk32 oder kiosk64 legen:

  #kiosk64

  label porteus
  menu label Porteus Kiosk 64bit
  kernel porteus/vmlinuz
  append initrd=porteus/initrd.xz,porteus/initrdpxe.xz quiet http_server=10.16.112.2/porteus/

  #kiosk32
  label porteus_i586
  menu label Porteus Kiosk 32bit
  kernel porteus_i586/vmlinuz
  append initrd=porteus_i586/initrd.xz,porteus_i586/initrdpxe.xz quiet http_server=10.16.112.2/porteus_i586/

Unter /srv/tftpd/kiosk/porteus bzw. /srv/tftpd/kiosk/porteus_i586 liegen die Porteus-Dateien:

   http           (Ordner)
   |
   +- docs        (Ordner)
      |
      +- default.jpg  GNU_GPL  kiosk.jpg  kiosk.sgn  License.txt  version
   +- xzm         (Ordner)
      |
      +- 000-kernel.xzm  001-core.xzm  002-firefox.xzm  003-settings.xzm  004-wifi.xzm  08-ssh.xzm  09-x11vnc.xzm
   initrdpxe.xz  
   initrd.xz  
   vmlinuz

HTTPD

Der 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:

        Alias "/porteus" "/srv/tftpd/kiosk/porteus/http"
        <Directory "/srv/tftpd/kiosk/porteus/http">
            Options Indexes
            Require all granted
        </Directory>

        Alias "/porteus_i586" "/srv/tftpd/kiosk/porteus_i586/http"
        <Directory "/srv/tftpd/kiosk/porteus_i586/http">
            Options Indexes
            Require all granted
        </Directory>

Porteus-Config

Porteus 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:

kiosk_config=http://paedml.kg-fds.de/kiosk/config.php

Auf dem paedml kann damit über die übergebene PCID (Porteus) oder die IP des Clients für jeden Client eine eigene Config übermittelt werden.

Porteus-Boot

PXE-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.

Last modified 9 years ago Last modified on Apr 24, 2018, 4:26:28 PM
Note: See TracWiki for help on using the wiki.