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