Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
public:ltsp:raspberry [2015/03/23 09:33] – angelegt jankow@datenkollektiv.net | public:ltsp:raspberry [2015/03/26 16:06] (aktuell) – [Kernel und Firmware auf die SD-Karte kopieren] jankow@datenkollektiv.net | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Raspberry Pi als LTSP Thinclient verwenden ====== | ====== Raspberry Pi als LTSP Thinclient verwenden ====== | ||
+ | |||
+ | Der Raspberry Pi eignet sich mit einigen kleinen Einschränkungen ideal als LTSP-Client. Da der Raspberry Pi jedoch nicht über PXE booten kann, müssen die Clients ein kleines eigenes Image bekommen, das den Kernel und ggf. auch das ganze System bootet. | ||
+ | |||
+ | Dazu gibt es zwei verschiedene Ansätze: | ||
===== Berry Terminal ===== | ===== Berry Terminal ===== | ||
+ | Innerhalb der [[http:// | ||
+ | |||
+ | Diese stellt out of the Box einen ldm-Server bereit, der sich mit einer per dhcp aufgefundenen LTSP-Umgebung verbindet. | ||
+ | |||
+ | Bei Berry Boot ist das komplette Image auf der SD-Karte des Raspberries, | ||
+ | |||
+ | * keine lokalen Applikationen möglich | ||
+ | * Beim Umdate immer Update des Images nötig. | ||
+ | * keine zentrale Konfiguration über lts.conf | ||
===== Nativer LTSP-Client ===== | ===== Nativer LTSP-Client ===== | ||
- | http:// | + | Alternativ kann auch eine LTSP-Umgebung für die armhf-Architektur wie gewohnt auf dem Server eingerichtet werden. Der einzige Unterschied ist, dass aufgrund der mangelnden PXE-Unterstützung, |
- | Gnupg-Keyring für LTSP-Build Environment anlegen | + | Vorteil dieses Verfahrens: |
- | Raspian-Gpg-Key suchen | + | * Lokale Apps möglich |
+ | * zentrale Konfiguration über die lts.conf im ltsp-chroot auf dem Server | ||
+ | |||
+ | ==== Raspberry Pi Modelle ==== | ||
+ | |||
+ | === Version 1 === | ||
+ | |||
+ | Die hier beschriebene Anleitung funktioniert so weit - allein das Starten des ldm macht noch Probleme FIXME | ||
+ | |||
+ | === Version 2 === | ||
+ | |||
+ | Mit dem Raspberry Pi 2 gibt es noch Probleme augrund des fehlenden aufs Modules in dem Raspberry-Standard Kernel. (vgl.: https:// | ||
+ | |||
+ | Hier muss ein eigener Kernel gebaut werden: | ||
+ | |||
+ | * http:// | ||
+ | |||
+ | ==== Vorbereitung und Konfiguration ==== | ||
+ | |||
+ | Hinweise und Links: | ||
+ | * http:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * http:// | ||
+ | * https:// | ||
+ | * https:// | ||
- | gpg --search-keys 90FDDD2E | ||
- | gpg --export 90FDDD2E >> / | ||
| | ||
Benötigte Packete: | Benötigte Packete: | ||
Zeile 19: | Zeile 55: | ||
apt-get install ltsp-server qemu-user-static binfmt-support ldm-server | apt-get install ltsp-server qemu-user-static binfmt-support ldm-server | ||
- | Create an alternate configuration | + | Außer qemu-user-static und binfmt-support, |
+ | |||
+ | Jetzt brauchen wir noch den gnupg-Key der Raspian Debian Binaries und müssen diesen in einen Keyring exportieren, | ||
+ | |||
+ | Raspian-Gpg-Key suchen und importieren: | ||
+ | |||
+ | gpg --search-keys 90FDDD2E | ||
+ | # jetzt die Nummer des gefundenen Keys zum Importieren angeben | ||
+ | |||
+ | In einen extra Keyring exportieren: | ||
+ | |||
+ | gpg --export 90FDDD2E >> / | ||
+ | |||
+ | Wir benötigen noch eine eigene ltsp-Konfiguration mit Angaben für den speziellen Raspian Kernel und den Keyring: | ||
+ | |||
+ | <file text / | ||
+ | DEBOOTSTRAP_KEYRING=/ | ||
+ | DIST=wheezy | ||
+ | # For alternate raspbian mirrors, | ||
+ | # see: < | ||
+ | MIRROR=http:// | ||
+ | SECURITY_MIRROR=none | ||
+ | KERNEL_PACKAGES=linux-image-3.2.0-4-rpi | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important> | ||
+ | Der Raspberry Pi 2 mit Quadcore hat eine andere Prozessorarchitektur als das ältere Modell. Entsprechend muss für diese Geräte ein passender Kernel ausgewählt werden: | ||
+ | |||
+ | Z.B.: | ||
+ | KERNEL_PACKAGES=linux-image-3.18.0-trunk-rpi2 | ||
+ | </ | ||
+ | |||
+ | ==== Client Image bauen und ggf. konfigurieren ==== | ||
+ | |||
+ | Jetzt kann das Client Image wie gewohnt für LTSP gebaut werden: | ||
+ | |||
+ | ltsp-build-client --arch armhf --config | ||
+ | |||
+ | Für den Fall, dass die ltsp-chroots per nfs exportiert werden (bei Debian Wheezy der default) und nicht squashfs-Images per nbd, liegt die '' | ||
+ | |||
+ | Das bedeutet, das für jede Konfiguration eine eigene lts.conf existiert. Evtl. lässt sich das durch symlinks aber auch zentralisieren. | ||
+ | |||
+ | ==== Kernel und Firmware auf die SD-Karte kopieren ==== | ||
+ | |||
+ | Wir benötigen nun die Raspbian-Firmware Dateien. Dazu benötigen wir ein aktuelles Raspian Image, das wir als loopdevice mounten und die Firmwaredateien kopieren. | ||
+ | |||
+ | http:// | ||
+ | |||
+ | Nach dem Download entpacken wir die Zip-Datei und Mounten Sie folgendermassen: | ||
+ | |||
+ | mkdir -p /tmp/rpi | ||
+ | mount -o loop, | ||
+ | |||
+ | Jetzt benötigen wir die SD-Karte für den Raspberry und mounten sie: | ||
+ | |||
+ | mount /dev/sdX1 /mnt | ||
+ | (sdX mit dem Device der SD-Karte ersetzen) | ||
+ | |||
+ | Kopieren der Firmware-Dateien aus dem Raspberry-Image: | ||
+ | |||
+ | cp -r /tmp/rpi/* /mnt/ | ||
+ | umount /tmp/rpi | ||
+ | |||
+ | Und jetzt kopieren wir noch den Kernel und die Initrd: | ||
+ | |||
+ | cp -vb / | ||
+ | cp -vb / | ||
+ | |||
+ | Wir müssen noch die Datei '' | ||
+ | |||
+ | Mit sed: | ||
+ | LTSP_SERVER=192.168.0.1 # durch eigene IP-Adresse ersetzen | ||
+ | |||
+ | sed -i -e ' | ||
+ | |||
+ | Zuletzt editieren wir noch die config.txt, sozusagen das Bios des Raspberries, | ||
+ | |||
+ | echo ' | ||
+ | echo ' | ||
+ | echo ' | ||
+ | |||
+ | Für das Modell 2 muss als ramfsaddr folgendes eingetragen werden: | ||
+ | |||
+ | ramfsaddr=-1 | ||
+ | |||
+ | (vgl. auch: https:// | ||
- | | + | [[http://creativecommons.org/licenses/ |
- | | + | |
- | # For alternate raspbian mirrors, | + | |
- | # see: <http://www.raspbian.org/RaspbianMirrors> | + | |
- | | + | |
- | | + | |
- | | + | |
- | Build the client image: | + | Dieser Artikel steht unter der Creative Commons (BY-SA) Linzenz und darf unter gleichen Bedingungen weiter gegeben werden. |