Univention-thinclient-flash

german

#1

Hallo,

in einer Thin-Client-Umgebung sollte die Nutzung des lokalen Speichers des Thin-Client per univention-thinclient-flash ermöglicht werden. Leider blieben bisher mehrere Versuche erfolglos, dies mit einem 64-Bit UCS System (2.4-4-8) zu realisieren.

Vor der Installation des Paketes univention-thinclient-flash bootet der Thin-Client reibungslos per PXE. Sobald univention-thinclient-flash installiert ist, bleibt der Thin-Client nach dem Laden des Splash Screen stehen.

Setzt man splash auf nosplash und loglevel auf 1 erfolgt folgende Meldung:

/bin/sh: error while loading shared libraries: libm.so.6: cannot open shared object file: no such file or directory

Kernel panic - not syncing: Attempted to kill init!
Pid: 1, comm: init Not tainted 2.6.35.7-univention.thinclient.13 #1
Call Trace:
[<c1681db2>] ? printk+0x18/0x1a
[<c1681d25>] panic+0x55/0xca
[<c1033f29>] do_exit+0x5f9/0x6a0
[<c1034003>] do_group_exit+0x33/0xa0
[<c1094ad1>] ? sys_writev+0x41/0x80
[<c1034083>] sys_exit_group+0x13/0x20
[<c1684355>] syscall_call+0x7/0xb

Einträge in /var/log/syslog:

Jul  4 17:46:41 dc-backup in.tftpd[10490]: connect from 172.25.35.5 (172.25.35.5)
Jul  4 17:46:41 dc-backup atftpd[10490]: Advanced Trivial FTP server started (0.7)
Jul  4 17:46:41 dc-backup atftpd[10490]: Serving pxelinux.0 to 172.25.35.5:2070
Jul  4 17:46:41 dc-backup atftpd[10490]: Serving pxelinux.0 to 172.25.35.5:2071
Jul  4 17:46:41 dc-backup atftpd[10490]: Serving pxelinux.cfg/0c5c5258-32a4-16b2-d711-5f1d00ec4055 to 172.25.35.5:57089
Jul  4 17:46:41 dc-backup atftpd[10490]: Serving pxelinux.cfg/01-00-1c-c4-e4-3c-8a to 172.25.35.5:57090
Jul  4 17:46:41 dc-backup atftpd[10490]: Serving pxelinux.cfg/AC192305 to 172.25.35.5:57091
Jul  4 17:46:41 dc-backup atftpd[10490]: Serving linux to 172.25.35.5:57092
Jul  4 17:46:42 dc-backup atftpd[10490]: Serving initrd.splash to 172.25.35.5:57093

Ich habe daraufhin die Datei initrd.splash ausgepackt und angeschaut.

# ldd bin/sh
        linux-gate.so.1 =>  (0xf7724000)
        libm.so.6 => /lib32/libm.so.6 (0xf76f0000)
        libc.so.6 => /lib32/libc.so.6 (0xf759e000)
        /lib/ld-linux.so.2 (0xf7725000)

# ls -l lib32/libm.so.6
-rw-r--r-- 1 root root 145232  5. Jul 11:20 lib32/libm.so.6

# file lib32/libm.so.6
lib32/libm.so.6: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped

Folgendes bringt die selbe Meldung wie am Thin-Client:

# chroot . lib/ld-linux.so.2 --list bin/sh
bin/sh: error while loading shared libraries: libm.so.6: cannot open shared object file: No such file or directory

Gibt man den Library Pfad manuell an, kommt man einen Schritt weiter:

# chroot . lib/ld-linux.so.2 --library-path /lib32 bin/sh


BusyBox v1.10.2 (Univention 1:1.10.2-2.16.200909091218) built-in shell (ash)
Enter 'help' for a list of built-in commands.

@dc-backup:/# ls -al
ls: error while loading shared libraries: libm.so.6: cannot open shared object file: No such file or directory

Wenn man eine Verknüpfung zu libm.so.6 im Verzeichnis lib anlegt, dann funktioniert es:

# chroot . lib/ld-linux.so.2 --list bin/sh
        linux-gate.so.1 =>  (0xf77c6000)
        libm.so.6 => /lib/libm.so.6 (0xf77a0000)
        libc.so.6 => /lib/libc.so.6 (0xf7662000)
        /lib/ld-linux.so.2 => lib/ld-linux.so.2 (0xf77c7000)

# chroot . lib/ld-linux.so.2 bin/sh


BusyBox v1.10.2 (Univention 1:1.10.2-2.16.200909091218) built-in shell (ash)
Enter 'help' for a list of built-in commands.

@dc-backup:/# ls -al
drwxr-xr-x   11 0        0            4096 Jul  5 09:20 .
drwxr-xr-x   11 0        0            4096 Jul  5 09:20 ..
drwxr-xr-x    2 0        0            4096 Jul  5 09:20 bin
-rw-r--r--    1 0        0          866552 Jul  5 09:20 bootsplash
drwxr-xr-x    3 0        0            4096 Jul  5 09:20 conf
drwxr-xr-x    5 0        0            4096 Jul  5 09:20 etc
-rwxr-xr-x    1 0        0            3613 Jul  5 09:20 init
-rw-r--r--    1 0        0        12316672 Jul  4 16:43 initrd.raw
drwxr-xr-x    4 0        0            4096 Jul  5 11:10 lib
drwxr-xr-x    2 0        0            4096 Jul  5 09:20 lib32
drwxr-xr-x    2 0        0            4096 Jul  5 09:20 sbin
drwxr-xr-x    7 0        0            4096 Jul  5 09:20 scripts
drwxr-xr-x    3 0        0            4096 Jul  5 09:20 usr
drwxr-xr-x    3 0        0            4096 Jul  5 09:20 var

Packt man initrd.splash jetzt wieder ein und kopiert sie ins Verzeichnis univention-client-boot, kommt der Thin-Client etwas weiter, bemängelt aber das Fehlen von libdl.so.2 und bricht dann ab, weil er keinen LDAP Server finden kann. Macht man auch diese in der initrd.splash verfügbar, schafft es der Thin-Client bis zum Anmeldebildschirm.

Es scheinen aber noch weitere Libraries zu fehlen. Ein Update des Flashspeichers erfolgt nicht (die UCR Variable thinclient/flash/update ist am Thin-Client-Objekt auf yes gesetzt), obwohl laut Log-Eintrag erkannt wurde, dass der Speicher geupdated werden muss.

Tritt dieses Problem nur in meiner Demo-Umgebung auf?

MfG
uf


#2

Hallo,

ich konnte das beschriebene Verhalten auf einem amd64 Terminal Server, UCS 2.4-4-8, nicht nachvollziehen. Bei der Installation und Einrichtung bin ich wie in der Dokumentation beschrieben vorgegangen.

Ist der Paketstatus auf dem Terminalserver in Ordnung und sind alle in der Dokumentation genannten Meta-Pakete installiert?

Über wieviel Arbeitsspeicher verfügt der ThinClient und welche Größe hat das FlashImage?

Mit freundlichen Grüßen
Tobias Scherer


#3

Hallo Herr Scherer,

vielen Dank für ihre Antwort.

Mehrere Neuinstallationen des Systems führten immer zu dem selben Ergebnis. Die Probleme treten aber grundsätzlich erst nach der Installation von univention-thinclient-flash auf und mit der 64-Bit Version von UCS 2.4.

Der ursprüngliche Grundgedanke war die Nutzung des geflashten Thin-Clients in Verbindung mit DVS, daher bin ich zuerst nach dem Quick-Start-Guide für DVS (http://wiki.univention.de/index.php?title=UCS_Desktop_Virtualization_Services_Quickstart) vorgegangen.
Dies funktioniert erstmal, installiert man jedoch univention-thinclient-flash danach, bricht der Thin-Client beim Booten per PXE ab und kommt garnicht erst soweit, zu prüfen, ob geflasht werden muss oder nicht.

Auch eine Installation ohne DVS, nach der Thin-Client Dokumentation (http://www.univention.de/fileadmin/download/dokumentation_ucs_tcs/ucs-tcs_3_1.pdf), führte zum gleichen Resultat.

Setzt man die Thin-Client-Umgebung neu auf (http://wiki.univention.de/index.php?title=Neuinstallation_der_Thin_Client_Umgebung), ohne univention-thinclient-flash zu installieren, ist das Booten des Thin-Clients wieder möglich. Sobald univention-thinclient-flash nachinstalliert wird, erfolgt wieder der Abbruch beim Booten.

/bin/sh: error while loading shared libraries: libm.so.6: cannot open shared object file: no such file or directory

    Kernel panic - not syncing: Attempted to kill init!
    Pid: 1, comm: init Not tainted 2.6.35.7-univention.thinclient.13 #1
    Call Trace:
    [<c1681db2>] ? printk+0x18/0x1a
    [<c1681d25>] panic+0x55/0xca
    [<c1033f29>] do_exit+0x5f9/0x6a0
    [<c1034003>] do_group_exit+0x33/0xa0
    [<c1094ad1>] ? sys_writev+0x41/0x80
    [<c1034083>] sys_exit_group+0x13/0x20
    [<c1684355>] syscall_call+0x7/0xb

Nutzt man die 32-Bit Version des UCS 2.4, funktioniert das Booten und Flashen. Weshalb ich den Thin-Client, als Grund auschließen würde.

Der Thin-Client verfügt über einen Arbeitsspeicher von 256 MB und einen Flashspeicher von 512 MB, welcher jedoch nicht genutzt wird, da die Installation des Flash-Images auf einen USB-Stick (8GB) erfolgen soll. Die UCR Variablen thinclient/flash/update und thinclient/flash/update/disk sind korrekt gesetzt.

Da ich momentan die 32-Bit Variante des UCS installiert habe, kann ich die Fragen zum Paketstatus und Flash-Image momentan leider nicht beantworten.

MfG
uf


#4

Hallo,

ich habe dazu einen ähnlichen Eintrag in unserem Bug Tracker gefunden. [bug]20596[/bug]. Das dort beschriebene Verhalten wurde zu UCS TCS 3.1 verbessert.

Können Sie noch einmal Sicherstellen, dass Sie jeweils mit der aktuellsten Version getestet haben?

UCS 2.4-4-8
UCS TCS 3.1

Mit freundlichen Grüßen
Tobias Scherer


#5

Hallo,

getestet wurde es mit UCS 2.4-4-8, aber z.B. auch mit 2.4-2, bzw 2.4-3. Das Ergebnis war immer gleich.

Hier die Liste der Thin-Client Pakete:

dpkg -l univention-thin*
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/Fehlgeschl. Konfiguration/
         Halb installiert/Trigger erWartet/Trigger anhängig
|/ Fehler?=(kein)/Halten/R=Neuinst notw/X=beide (Status, Fehler: GROSS=schlecht)
||/ Name                              Version                           Beschreibung
+++-=================================-=================================-==================================================================================
ii  univention-thin-client            6.0.2-1.356.201009301753          UCS: thin client support
ii  univention-thin-client-basesystem 9.0.19-1.225.201011041121         UCS - thin client base system
ii  univention-thin-client-bootsplash 3.0.5-2.38.201010221510           UCS - bootsplash thin client
ii  univention-thin-client-cups       7.0.2-1.45.201010201029           UCS - CUPS for thin clients
ii  univention-thin-client-dvs        3.0.7-1.32.201106201418           DVS login script installer
ii  univention-thin-client-flash      6.0.13-1.84.201011081303          UCS - Compact Flash Card Support for thin clients
ii  univention-thin-client-ltsp       6.1.4-1.81.201010141820           UCS - Thin client LTSP environment
ii  univention-thin-client-sane       6.0.1-1.31.201010201036           UCS - Sane support for thin clients
ii  univention-thin-client-schema     6.0.2-1.356.201009301753          UCS: thin client support
ii  univention-thin-client-session-rd 3.0.1-1.20.201009241349           UCS: Thin Client session autostart script for RDP
ii  univention-thin-client-sound      6.0.2-1.55.201010201038           UCS - Sound support for thin clients
ii  univention-thin-client-ssh        6.0.3-1.32.201010201029           UCS - SSH for thin clients
ii  univention-thin-client-tools      9.0.19-1.225.201011041121         UCS - thin client base configuration
ii  univention-thin-client-vnc        1.1.1-1.6.201009301748            UCS - vnc support for thin clients
ii  univention-thin-client-x-base     7.0.9-1.162.201011150902          UCS - thin client xorg base
ii  univention-thin-client-x-fonts    5.0.0-1.16.201006231621           UCS - thin client xorg fonts

MfG
uf


#6

Hallo,

da ich das beschriebene Verhalten weiterhin nicht nachstellen kann, benötige ich weitere Informationen zum Setup, Vorgehen und der Konfiguration der Umgebung.

Welche Systemrollen sind in der Umgebung installiert?
Welche Funktion haben die jeweiligen Systeme?
Wird ein lokales Repository verwendet?
Ist auf dem Terminalserver die folgende UCR Variable gesetzt?

repository/online/architectures="i386 amd64"

Haben Sie den Terminalserver neuinstalliert oder lediglich nach der oben verlinkten Wiki Anleitung die Thinclient Umgebung?

Mit freundlichen Grüßen
Tobias Scherer


#7

Hallo,

vielen Dank für Ihre Rückmeldung.

Momentaner Lösungsweg für mich, ist die Verwendung des 32-Bit Systems als Thin-Client-Server, da es sich bei der Nutzung des Flashspeichers nur um einen Zwischenschritt handelt, um eine Anbindung der Thin-Clients per IPSec gesicherter Verbindung zu ermöglichen.

Ich habe es jedoch gerade nochmals unter folgender Vorgehensweise getestet:

[ul]
Neuinstallation virtualisierter UCS 2.4 64-Bit als DC-Slave (Software-Auswahl: Nagios-Client, Univention Management Console, OpenSSH-Server, Kommandozeilenprogramme), als Host dient ein UCS 2.4-4-8 64-Bit als DC-Backup

univention-config-registry set repository/online/component/tcs=yes

univention-config-registry set repository/online/component/tcs/version=current

Update auf 2.4-4-8 (univention-updater net / univention-security-update net)

Restart

univention-join

univention-thin-client-schema ist auf dem Master (UCS 2.4-4-8 64-Bit) installiert

univention-config-registry set repository/online/architectures=“i386 amd64”

univention-actualise --dist-upgrade

univention-install univention-thin-client

univention-run-join-scripts

Anlegen des Rechnerobjekts vom Typ Thin-Client im UDM

Eintrag des TC-Server als Boot-Server in den DHCP-Einstellungen unter Boot-Parameter

ein jetziger erster Bootversuch des Thin-Clients ist erfolgreich

univention-install univention-thin-client-flash

ein erneuter Bootversuch des Thin-Clients scheitert

Setzten der UCR-Variable thinclient/flash/update=yes am Thin-Client Objekt im UDM

der Bootvorgang bleibt erfolglos
[/ul]

Nein.

Beides, Neuinstallationen des Server und vorgehen nach den bereits genannten Anleitungen, da diese erfolglos waren, dann die Neuinstallation der Thin-Client-Umgebung nach Wiki Anleitung.

Getestet wurde das Ganze in einer Ein-Server-Umgebung als physische Maschine, aber auch in einer Mehr-Server-Umgebung, wobei die TCS Pakete auf der physischen Maschine oder auf der VM installiert wurden.

MfG
uf


#8

Hallo,

ist mir gerade aufgefallen.

Hier dazwischen erfolgte noch die Erstellung des Bootimages und univention-run-join-scripts:

[quote="_uf"]univention-install univention-thin-client-flash

ein erneuter Bootversuch des Thin-Clients scheitert[/quote]

Also:
[ul]
univention-install univention-thin-client-flash

univention-run-join-scripts

Erstellung des Flash-Images per univention-thin-client-flash

ein erneuter Bootversuch des Thin-Clients scheitert
[/ul]

MfG
uf


#9

Hallo,

ich kann das von Ihnen beschriebene Verhalten auch mit den weiteren Informationen nicht nachstellen. Wenn es für Sie ausreichend ist, würde ich den Einsatz eines 32bit Terminal Servers empfehlen.

Mit freundlichen Grüßen
Tobias Scherer