Einführung
Mit Linux
dd if=iconnect-stick.raw of=/dev/sdX bs=1048576
Wobei X der Laufwerksbuchstabe ist, den der USB-Stick einnimmt. Nach dem Einstecken des Sticks
kann man meist in der Ausgabe von:
dmesg
sehen, welchen Laufwerksbuchstaben er bekommt. Falls er - je nach Distribution - automatisch
gemounted wird, muss man ihn vor dem Aufspielen mit:
umount /dev/sdX
unmounten.
Mit Windows
Vorbereitung der iConnect
- Ausstecken der Stromzufuhr zur iConnect und aller angeschlossenen USB-Geräte.
- Anschließen des vorbereiteten USB-Sticks (nur diesen!) an die iConnect.
- An der Rückseite der iConnect befindet sich eine kleine Öffnung mit der Aufschrift "Reset".
- Mit einer Büroklammer o.ä. den hinter diesem Loch befindlichen Taster drücken.
- Während der Taster gedrückt gehalten wird, den Strom wieder anschließen.
- Abwarten, bis die vordere linke LED aufhört, schnell blau zu blinken (ca. 15s).
- Den Taster erst loslassen, wenn die LED rot leuchtet.
- Nach wenigen Sekunden beginnen die linke LED rot und die LED über dem USB-Anschluß des USB-Sticks blau zu blinken.
- Nun beginnt die iConnect mit der endgültigen Einrichtung des USB-Sticks. Das dauert mindestens einige Minuten - wie lange genau, ist stark abhängig von der Geschwindigkeit des Sticks, denn es werden ca. 600 MByte Daten darauf entpackt.
- Nach Abschluss der Einrichtung leuchten alle LEDs über den USB-Ports kurz auf und die iConnect startet neu. Bei manchen Sticks dauert der erste Bootvorgang sehr lange, denn die große Datenmenge macht eventuell eine interne Reorganisation der Daten notwendig (Wear-Leveling des Sticks). In seltenen Fällen kann es notwendig sein, den Strom kurz aus- und wieder einzuschalten.
- Nach dem erfolgten Neustart ist die iConnect nach ein paar Sekunden bereit (die linke LED leuchtet blau und blinkt dazu rot).
- Der Login kann über Netzwerk per SSH als Benutzer "root" mit dem Passwort "congenio" erfolgen.
Besonderheiten
- Die iConnect wird durch unser Image so vorbereitet, dass sie fortan automatisch von einem angeschlossenen USB-Stick startet. Dieser kann an jedem USB-Port angesteckt sein. Vorzugsweise schließt man ihn hinten an, denn die Priorität der Ports ist 1 > 2 > 3 > 4, wobei Port 1 der hintere, einzelne Port ist, danach geht es vorne weiter von links (2) bis rechts (4). Falls kein bootfähiger USB-Stick gefunden wird, wird automatisch der interne Flash-Speicher gebootet, dessen Inhalt durch unsere Software nicht verändert wird. Dadurch bleibt die iConnect ohne den USB-Stick weiterhin wie gewohnt funktionsfähig, nur das Booten dauert dann ein bisschen länger als früher.
- Auf dem USB-Stick ist nach dem ersten Start ein minimales Debian Jessie mit einem speziell für die iConnect angepassten Linux-Kernel installiert, das sich per DHCP auf der LAN-Schnittstelle eine IPv4-Adresse holt (Fallback- bzw. Backup-Adresse ist 192.168.168.168). IPv6 ist ebenfalls möglich. Durch Anpassen der Datei /etc/network/interfaces kann auch das WLAN konfiguriert werden. Mittels hostapd könnte man auch einen WLAN-Access-Point damit bauen.
- Die Netzwerkschnittstelle der iConnect wird an manchen 100MBit-Switches nicht richtig erkannt, Gigabit-Switches funktionieren einwandfrei.
- Die LED-Steuerung ist funktionsfähig und wird benutzt, indem unter /lib/udev/rules.d/99-usb-leds.rules ein Skript (/lib/udev/usb-leds.sh) aufgerufen wird, das beim Ein- und Ausstecken die USB-LEDs steuert. Darüber hinaus gibt es ein Skript /etc/init.d/iconnect-leds, welches beim Start und Shutdown die Steuerung übernimmt. Es bewirkt, dass beim Zugriff per SSH die OTB-LED flackert. Außerdem werden auch die GPIO-Tasten via /dev/input/event0 unterstützt. Der SSH Root-Login mit Passwort wurde erlaubt. Um den USB-Stick nicht zu stark zu belasten, wurde in der /etc/sysctl.d/98-swap.conf die Swappiness und die Sync-Rate angepasst. Der Watchdog wurde in /etc/watchdog.conf konfiguriert.
GNU GPL Obligationen
cd /home/xyz/linux
make ARCH=arm menuconfig
make ARCH=arm CROSS_COMPILE=/usr/cross/arm/bin/arm-none-eabi- dtbs
make ARCH=arm CROSS_COMPILE=/usr/cross/arm/bin/arm-none-eabi- uImage
make ARCH=arm CROSS_COMPILE=/usr/cross/arm/bin/arm-none-eabi- modules
make ARCH=arm CROSS_COMPILE=/usr/cross/arm/bin/arm-none-eabi- firmware
make ARCH=arm CROSS_COMPILE=/usr/cross/arm/bin/arm-none-eabi- headers
make ARCH=arm CROSS_COMPILE=/usr/cross/arm/bin/arm-none-eabi- \
INSTALL_MOD_PATH=.. modules_install
make ARCH=arm CROSS_COMPILE=/usr/cross/arm/bin/arm-none-eabi- \
INSTALL_MOD_PATH=.. firmware_install
make ARCH=arm CROSS_COMPILE=/usr/cross/arm/bin/arm-none-eabi- \
INSTALL_HDR_PATH=.. headers_install
Das Verfahren zum Finalisieren des USB-Sticks basiert auf dem "Iomega iConnect Imager 2.5.22", der seit der Übernahme von Iomega durch Lenovo nicht mehr zum Download angeboten wird.
Normalweise ist es nur mittels Reset-Taster beim Start möglich, eine alternative uBoot-Konfiguration zu wählen,
mit der man von einem USB-Stick booten kann (z.B. den iConnect Imager). Mit einem angepassten Imager
werden dann beim ersten Start die uBoot-Konfiguration wie gewünscht abgeändert, die Partitionierung modifiziert
und die Debian-Dateien entpackt.
Updates
apt-get update
apt-get upgrade
Es ist auch möglich, mittels "apt-get dist-upgrade" und Umstellung der APT-Quellen von einem älteren Debian 8 "Jessie"
in zwei Schritten auf Debian 10 "Buster" zu aktualisieren.
Voraussetzung ist nur, dass bereits ein aktueller Kernel ab 5.x installiert ist.
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
up sleep 5; ethtool -K eth0 tso off
Ab Kernel 4.3 ist das Problem behoben und der Patch ist wieder entfallen.
Haftungsausschluss