Cubieboard 3

Aus FHEMWiki
Wechseln zu: Navigation, Suche

Beim Cubieboard 3, auch "Cubietruck" genannt, handelt es sich um einen Einplatinencomputer. Das Herz des Rechners ist ein Allwinner A20. Wer mehr dazu lesen möchte kann dies auf der entsprechenden Wikipedia Seite machen.

Zur Zeit dürfte der Cubietruck das leistungsfähigste Einplatinensystem sein. Nur mit FHEM alleine ist das System vermutlich reichlich unterfordert. Dank des SATA Anschlusses steht aber dem Einsatz als kleiner Server für das Heimnetzwerk nichts entgegen.

Anmerkung zur Stromversorgung: Dem Cubietruck liegt ein Stromkabel bei. USB-DC 4mmx1,7mm; selbiges braucht man zwingend wenn man eine SSD an den Cubietruck anschließt. Wenn man selbiges nicht vorhat, kann man den Cubietruck auch über die miniUSB Buchse mit Strom versorgen (aber nur dann!)

Anmerkung zur Begrifflichkeit: Hier wird i.d.R. von SSD gesprochen. Das gilt analog für eine 2,5" HD. Bei einer 3,5" HD benötigt man eine eigene Stromversorgung für die Platte (und immer noch dieses Hohlstecker-Kabel!)

Images - Qual der Wahl

Im Gegensatz zum Raspberry Pi gibt es kein "offizielles" Linux für den Cubietruck.

Zur Zeit (10.07.2014) ist das Image von Igor das Einzige, welches das Onboard Bluetooth Device nutzen kann

Anleitungen für verschiedene Images (entweder Igors Image, oder Lubuntu)

Bitte beachtet das Boot-Konzept des Cubietruck.

  • SD Karte
  • Nand1

Mehr ist da nicht! Will man also alles von SATA booten, muss dennoch auf SD-Karte oder im Nand1 ein Minisystem sein sowie die dortige Konfigurationsdatei den korrekten Pfad zur gewünschten Bootpartition aufweisen... (quasi so eine Art Bootmanager)

Installation für Igors Image

  • Image runterladen, entpacken
  • Mit beiliegendem Programm (ist im Archiv mit dabei) und SD Kartenleser auf SD Karte bringen
  • Cubietruck mit fertiger microSD Karte booten (vorher Netzwerkkabel einstecken)
  • Mit Putty einloggen, sobald die LED-Lichtorgel erloschen ist
  • Benutzername: root
  • Passwort: 1234
  • Passwort ändern
  • Jetzt gibt es mehrere Möglichkeiten, wie es weiter geht:
 System läuft auf SD-Karte, dann ist die Installation fast fertig und weiter mit 2.1.4, der Rest kann übersprungen werden.
 System läuft in der Kombination SD-Karte/SSD, weiter mit 2.1.3
 System läuft im NAND oder in der Kombination NAND/SSD, weiter mit 2.1.1

NAND

  • chmod +x nand-install.sh
  • evtl. kurz warten, könnte sein, dass der Cubietruck nochmal einen Neustart hinlegt. Keine Ahnung warum, kann ich aber bei meinen 2 reproduzieren)
  • ./nand-install.sh
  • Mit y bestätigen
  • Cubietruck bootet (SD Karte drinnen lassen)

Jetzt gibt es zwei Möglichkeiten:

  • Alles in den Nand Speicher installieren
    • nochmal ./nand-install.sh ausführen,
    • wenn fertig Return drücken, SD raus
    • unten weiterlesen...
  • Das ganze Image auf eine angeschlossene SSD/HDD zu installieren (das meiste davon ist von Betateilchen!)
    • wir haben 1x nand-install.sh ausgeführt (siehe oben...)
    • chmod +x sata-install.sh
    • mit fdisk eine Partition anlegen (fdisk /dev/sda; Partitione erstellen, speichern, beenden, formatieren ist überflüssig, macht das sata Skript später selber)
    • ./sata-install.sh
    • den gewünschten Reboot bitte MIT eingelegter SD Karte machen (unnötig, wenn man 2x das nand-install.sh ausgeführt hat, was aber recht lange dauert)
    • # Zeiger auf das rootfs in Richtung SSD Platte verbiegen
    • mkdir test
    • mount /dev/nand1 test
    • cd test
    • cp uEnv.txt uEnv.txt.backup
    • nano uEnv.txt
    • Zeile nand_root ändern in:
      • nand_root=/dev/sda1 rootwait
    • Strg+O (zum speichern)
    • Strg+X (zum beenden)
    • cd ..
    • umount test
    • Reboot ohne SD Karte...

NAND Probleme

Wenn es nach obiger Anleitung nicht funktioniert, dann hat vermutlich das Igor Image im Nand nicht die erforderlichen Dateien angelegt. In dem Fall bleiben alle Lichter einfach aus...

Lösung:

Vorher muss mit den Phoenix Tools z.B. Lubuntu installiert werden. Das ist hier beschrieben.

Noch ein paar Tipps:

  • Wenn man mit den Phonix Tools nicht weiter kommt (also das Flashen nicht anläuft), am Rechner einen anderen USB Port nehmen. (Imho sind die Phoenix Tools ein Musterbeispiel an gesammelten Merkwürdigkeiten... Ach ja, kein Update der PhoenixTools machen, das geht komplett in die Hose (Stand: 4.11.2014))
  • Nach dem Entfernen des Flash-Speichers mindestens 10 sec die ON/Off-Taste gedrückt halten, damit sich der Cubie ausschaltet
  • Dann die FEL-Taste drücken und wie in der Anleitung beschrieben fortfahren
  • Wenn der Upgrade beginnt bitte die FEL-Taste loslassen

Dann bitte wieder mit obiger Anleitung anfangen...

SD-Karte/SSD

Das ganze Image auf eine angeschlossene SSD/HDD zu installieren (das meiste davon ist von Betateilchen!)

  • chmod +x sata-install.sh
  • mit fdisk eine Partition anlegen (fdisk /dev/sda; Partitione erstellen, speichern, beenden, formatieren ist überflüssig, macht das sata Skript später selber)
  • ./sata-install.sh
  • das Skript führt einen reboot aus
  • fertig

Pakete die bei Igor nachinstalliert werden müssen

Das ist alles von Betateilchen...

apt-get install libtimedate-perl libdevice-serialport-perl
apt-get install libio-socket-ssl-perl libwww-perl
apt-get install libgd-graph-perl libtext-csv-perl
apt-get install libmail-imapclient-perl libxml-simple-perl
apt-get install liblist-moreutils-perl ttf-liberation
apt-get install libimage-librsvg-perl libgd-text-perl

Nacharbeiten

Da es unter Linux absolut unnötig ist immer als root-Benutzer zu arbeiten, wird noch ein eigener Benutzer angelegt. Bei den nachfolgenden Kommandos kann Benutzername ct gegen den eigenen Namen ausgetauscht werden.

  • addgroup --gid 1000 ct
  • useradd -m ct -g 1000 -G 1000 -s /bin/bash
  • usermod -aG sudo ct
  • passwd ct
  • exit


Erneut anmelden als ct. Ab jetzt werden Kommandos, die root-Rechte benötigen, mittels sudo ausgeführt.


Zeitzone einstellen:

  • sudo dpkg-reconfigure tzdata


System auf den aktuellen Stand bringen:

  • sudo apt-get update && sudo apt-get upgrade
  • sudo apt-get autoremove && sudo reboot


LED-Lichtorgel einstellen (optional)

Igor hat die vier LEDs auf dem Cubie deaktiviert.

Mittels sudo update-rc.d disable_led.sh remove werden die LEDs aktiviert.

Die verschiedenen Möglichkeiten können mit cat /sys/class/leds/blue\:ph21\:led1/trigger eingesehen werden.

Die gewünschten Trigger werden in /etc/rc.local vor exit 0 eintragen.

Beispiel:

  echo cpu0 > /sys/class/leds/white:ph11:led3/trigger
  echo cpu1 > /sys/class/leds/green:ph07:led4/trigger
  echo disk-activity > /sys/class/leds/blue:ph21:led1/trigger
  echo usb-online > /sys/class/leds/orange:ph20:led2/trigger
  
  exit 0


Watchdog (optional)

Auch beim Cubietruck kann der eingebaute Watchdog benutzt werden. betateilchen hat die notwendigen Schritte für BBB und RasPi hier im Forum beschrieben. Für den Cubietruck ist die Installation und Konfiguration identisch mit dem BBB.


HM-CFG-USB USB Konfigurations-Adapter (optional)

Wird der HM-CFG-USB am Cubietruck eingesetzt, ist ist noch ein Paket zu installieren, damit /etc/init.d/hmland richtig arbeitet (Befehl killall):

  • sudo apt-get install psmisc



Setup (Lubuntu)

setup overview

[http://docs.cubieboard.org/tutorials/ct1/installation/moving_rootfs_from_nandflash_to_hard_drive |Topic: The ULTIMATE Cubietruck set-up guide]

Root Filesystem auf SATA Festplatte umziehen (bereits bestehende Installation)

Das braucht man, wenn man schon komplett eine Installation im Nand vom Cubietruck hat, und später mal eine Platte nachrüstet:

Moving Rootfs From Nandflash To Hard Drive (improves performance) http://docs.cubieboard.org/tutorials/ct1/installation/moving_rootfs_from_nandflash_to_hard_drive

There is also this thread which uses Tar and is said to be better than dd for doing this: http://www.cubieforums.com/index.php/topic,1147.0.html

  • #fdisk -l
  • Choose the drive you want to make changes to (e.g. sda):
  • #fdisk /dev/sda
  • use "p" (print partition of a drive), "d" delete a partition or "n" (create new partition). The partition should be of type "83"
  • Format the partition for rootfs with EXT4 filesystem
  • #mkfs.ext4 /dev/sda1
  • Copying Rootfs
  • We assume that, /dev/sda is the hard drive we want to install
  • $sudo su - root
  • #dd if=/dev/nandb of=/dev/sda1 bs=1M
  • Changing Boot Parameters
  • $sudo su - root
  • #mount /dev/nanda /mnt
  • #nano /mnt/uEnv.txt
  • Change the contents of uEnv.txt to (nur diese eine Zeile verändern!)
    • nand_root=/dev/sda1
  • #sync
  • #umount /mnt
  • #reboot

Wenn man nur /opt umziehen will (bereits bestehende Installation)

BITTE GEGENLESEN

Das braucht man, wenn man einerseits schon FHEM auf dem Cubietruck installiert hat, andererseits aber nicht das komplette Betriebssystem auf die SSD bringen möchte...

Übersicht

Wir legen eine Partition auf der SSD an und formatieren selbige. Anschließend mounten wir die Partition als /newopt. Dadurch können wir den Inhalt vom bisherigen /opt bequem auf die Platte kopieren. Ist das erledigt, entfernen wir unser temporäres Mount. Das mounten wir die Platte nach /opt. Zu guter letzt wird die fstab angepasst...

So wirds gemacht

  • #fdisk /dev/sda um eine Partition anzulegen (siehe oben, also n für neue Partition, p für primary Partition, vorgeschlagenen Speicher bestätigen, w um das ganze zu sichern)
  • kann man mit fdisk -l kontrollieren, da sollte jetzt eine /dev/sda1 auftauchen
  • #mkfs.ext4 /dev/sda1 um die Partition zu formatieren
  • #mount /dev/sda1 /mnt/newopt
  • #Init 1 => alles weg, was ggfs. in /opt schreiben könnte, schießt also auch FHEM ab!
  • #cd /opt
  • #cp -avx * /mnt/newopt => damit wird alles aus dem alten /opt nach /newopt kopiert, Rechte und Besitzer werden beibehalten...
  • #unmount /mnt/newopt
  • #mount /dv/sda1 /opt => damit wird Linux angewiesen, die SSD als /opt anzusehen
  • jetzt muss das in die fstab rein, damit nach eine reboot auch alles stimmt
  • #nano /etc/fstab
  • /dev/sda1 /opt ext4 defaults 0 1
  • speichern...

Links

  • Forumsartikel und HowTo um slovenia´s (Igor Pecovnik) Image zu installieren
  • "Notizzettel" zur Einrichtung Igor-Image auf Cubietruck: Beitrag
  • Für FHEM beim Igor-Image zusätzlich notwendige Perl-Module: Beitrag