Cubieboard 3: Unterschied zwischen den Versionen

Aus FHEMWiki
(psmisc hinzugefuegt (killall Befehl wird sonst nicht gefunden!))
(Ersetzung von Forum-Links mit Vorlage Link2Forum)
 
(40 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{todo|Bis auf die Links ist diese Seite insgesamt dringend überarbeitungsbedürftig und ungepflegt}}
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 [http://de.wikipedia.org/wiki/Cubieboard Wikipedia] Seite machen.


= Work in progress=
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.
{{Randnotiz|RNTyp=y|RNText=Der Artikel soll später Installskripte für fhem auf dem Cubietruck beinhalten. Sozusagen ein all in one fhem Setup. Es spricht auf dem Cubietruck nichts dagegen, nicht einfach alle Perl Module, die irgendein fhem Modul braucht, gleich am Anfang zu installieren. Gleiches gilt letztlich für Software wie Alsa, mplayer etc. Zu guter letzt sollten gleich noch die passende Rechte gesetzt werden...}}


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 [http://de.wikipedia.org/wiki/Cubieboard Wikipedia] Seite machen.
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!)


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 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 ==
== Images - Qual der Wahl ==
Zeile 13: Zeile 12:
* Cubieez, [http://hempel.dd-dns.de/cms/index.php/cubietruck-cubieboard-3/articles/installation-von-debian-auf-dem-cubietruck.html Anleitung]
* Cubieez, [http://hempel.dd-dns.de/cms/index.php/cubietruck-cubieboard-3/articles/installation-von-debian-auf-dem-cubietruck.html Anleitung]
* [http://dl.cubieboard.org/software/a20-cubietruck/lubuntu/ct-lubuntu-nand-v1.00/VGA/ lubuntu-server-nand.img.gz]
* [http://dl.cubieboard.org/software/a20-cubietruck/lubuntu/ct-lubuntu-nand-v1.00/VGA/ lubuntu-server-nand.img.gz]
* [http://www.igorpecovnik.com/2013/12/24/cubietruck-debian-wheezy-sd-card-image/ Slovenias Image], [http://debianforum.de/forum/viewtopic.php?f=1&t=148369 Anleitung] (auch Igor´s Image genannt)
* [http://www.igorpecovnik.com/2013/12/24/cubietruck-debian-wheezy-sd-card-image/ Igors Image], [http://debianforum.de/forum/viewtopic.php?f=1&t=148369 Anleitung]


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


== Spezielle Anpassungen für die unterschiedlichen Images ==
== Anleitungen für verschiedene Images (entweder Igors Image, oder Lubuntu)==
hier fehlt noch Text
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)


= Setup (unabhängig vom Image)=
=== Installation für [http://www.igorpecovnik.com/2013/12/24/cubietruck-debian-wheezy-sd-card-image/ 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)


[http://www.cubieforums.com/index.php/topic,1146.0.html|cubie setup overview]
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...


[http://docs.cubieboard.org/tutorials/ct1/installation/moving_rootfs_from_nandflash_to_hard_drive
==== NAND Probleme ====
|Topic: The ULTIMATE Cubietruck set-up guide]
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...


== Root Filesystem auf SATA Festplatte umziehen ==
Lösung:
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:
Vorher muss mit den Phoenix Tools z.B. Lubuntu installiert werden. Das ist [http://debianforum.de/forum/viewtopic.php?f=1&t=148369 hier] beschrieben.  
http://www.cubieforums.com/index.php/topic,1147.0.html


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))


Prepare the drive for rootfs
*Nach dem Entfernen des Flash-Speichers mindestens 10 sec die ON/Off-Taste gedrückt halten, damit sich der Cubie ausschaltet


The drive must have a primary partition (for example with 10 GByte) formated with filesystem "ext4". You can use the Linaro user interface DISK app, gparted or use the following shell commands
*Dann die FEL-Taste drücken und wie in der Anleitung beschrieben fortfahren


list all available drives
*Wenn der Upgrade beginnt bitte die FEL-Taste loslassen
Quote


    #fdisk -l
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


Choose the drive you want to make changes to (e.g. sda):
==== 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


Quote
==== 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


    #fdisk /dev/sda


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


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
Zeitzone einstellen:
Quote
* sudo dpkg-reconfigure tzdata


    #mkfs.ext4 /dev/sda1


System auf den aktuellen Stand bringen:
* sudo apt-get update && sudo apt-get upgrade
* sudo apt-get autoremove && sudo reboot


Copying Rootfs


We assume that, /dev/sda is the hard drive we want to install


Quote
==== LED-Lichtorgel einstellen (optional) ====


    $sudo su - root
Igor hat die vier LEDs auf dem Cubie deaktiviert.
    #dd if=/dev/nandb of=/dev/sda1 bs=1M


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


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


    $sudo su - root
Die gewünschten Trigger werden in /etc/rc.local vor exit 0 eintragen.
    #mount /dev/nanda /mnt
    #vi /mnt/uEnv.txt


Beispiel:


Change the contents of uEnv.txt to
  echo cpu0 > /sys/class/leds/white:ph11:led3/trigger
Quote
  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


    root@cubietruck:~# cat /mnt/uEnv.txt
    console=tty0
    extraargs=console=ttyS0,115200 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:1280x720p50 rootwait panic=10 rootfstype=ext4 rootflags=discard
    nand_root=/dev/sda1


    #sync
    #umount /mnt
    #reboot


== Alle evtl benötigten Perl Module installieren ==
==== Watchdog (optional) ====
(In der Bearbeitungsansicht ist es eine schöne Liste)
Auch beim Cubietruck kann der eingebaute Watchdog benutzt werden. betateilchen hat die notwendigen Schritte für BBB und RasPi {{Link2Forum|Topic=20553|LinkText=hier}} im Forum beschrieben. Für den Cubietruck ist die Installation und Konfiguration identisch mit dem BBB.


<!-- so wäre die Darstellung deutlich kompakter und sowohl im Wiki-Source als auch im Artikel deutlich übersichtlicher ([[Benutzer:ph1959de]]) -->
Formatvorschlag (Markierung mit * in Spalte 1 für nicht benötigte Module):
<pre style="width:50%;">
CGI
Color
Config;
configDB;
* Digest::MD5 ->standardmäßig vorhanden (?)
</pre>


Mir schwebt vor, am Ende ein komplettes Skript zu haben, welches man einfach Copy&Pasten bzw. mit wget downloaden und ausführen kann.


Wäre das so in Ordnung? (Unten sieht man schon die ersten Zeilen, wobei noch ungetestet, ob die Pipe so funktioniert. Muss nochmal nachsehen :) )
==== 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


Dann wäre es jetzt fein, wenn wir jeder die apt-get Pakete die er kennt, einfach an das Skript anhängt und unten aus der Liste wirft.


{{Randnotiz|RNTyp=y|RNText=Im Moment ist die Liste noch völlig unbrauchbar. Jetzt müssen wir alles, was nicht ein Perl Modul ist, rauswerfen ;) }}
<br clear=all>
{{Randnotiz|RNTyp=y|RNText=edit: ich schlage vor, alles was als fertiges paket zu kriegen ist NICHT über cpan zu holen, da cpan für laien etwas umständlich ist. epsrw1 }}
<br clear=all>
{{Randnotiz|RNTyp=y|RNText='''edit:''' kursiv-text sehe ich als löschkandidat, kann bitte jemand korrekturlesen und rauslöschen. epsrw1}}


#!/bin/bash
#Dieses Skript in eine Datei speichern:
#nano /????/InstallFhemPerlModule
#oder mit wget runterladen:
#(steht noch auf der ToDo Liste, bis jetzt ist da noch nix)
#Skript mit folgendem Befehl ausführbar machen:
#chmod 744 InstallFhemPerlModule
#und dann als Root oder mit sudo vorne weg starten...
#das Skript erwartet 1 Parameter, der ist entweder y (wenn euer Cubietruck sich auf englisch unterhält), oder j (wenn er auf deutsch gestellt ist)
#
#./InstallFhemPerlModule j (als Beispiel)
#
#so in etwa hätte ich mir das gedacht
echo Die Downloadquellen werden aktualisiert, das kann etwas dauern
echo $1 | apt-get update #wir aktualisieren die Downloadquellen
#Digest::MD5
echo $1 | apt-get install libdigest-md5-perl
#HTTP::Cookies
echo $1 | apt-get install libhttp-cookies-perl
#Date::Parse
echo $1 | apt-get install libtimedate-perl
#Data:Dumper simple???
echo $1 | apt-get install libdata-dumper-simple-perl
#Device::SerialPort
echo $1 | apt-get install libdevice-serialport-perl
#Device::USB
echo $1 | apt-get install libdevice-usb-perl


=== Setup (Lubuntu) ===


Device::Firmata # => finde nix
[http://www.cubieforums.com/index.php/topic,1146.0.html|cubie setup overview]


Device::SMBus; # => finde nur ein Python Modul?
[http://docs.cubieboard.org/tutorials/ct1/installation/moving_rootfs_from_nandflash_to_hard_drive
|Topic: The ULTIMATE Cubietruck set-up guide]


File::Copy
=== 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:


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


HiPi::Device::I2C;
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
HTTP::Request;
 
IO::File; # => ist da das ganze IO Zeug drin? http://www.installion.co.uk/debian/squeeze/main/l/libio-all-perl/cn/install.html
 
IO::Handle;
 
IO::Select;
 
IO::Socket;
 
lib::OWNet;
 
Lirc::Client;
 
List::MoreUtils
 
Mail::IMAPClient;
 
Math::Trig;
 
MIME::Base64;
 
MIME::Lite;
 
Net::FTP;
 
Net::Jabber;
 
Net::SMTP::SSL;
 
Net::Telnet;
 
Scalar::Util
 
Blocking;
 
Sys::Hostname;
 
Text::CSV;
 
URI::Escape;
 
XML::Simple;
 
CGI
 
Color
 
Config;
 
configDB;
 
constant
 
DBI;
 
''Device::Firmata::Constants
Device::Firmata::Platform;
Device::Firmata::Protocol;
'' ->Device::Firmata komplett benötigt
 
DevIo;
 
''Digest::MD5
'' ->standardmäßig vorhanden (?)
 
Encode
 
Error
 
Exporter
 
GD;
 
GPUtils
 
HMConfig;
 
''HTTP::Request::Common;
'' -->HTTP::Request komplett
 
''HttpUtils;
'' -->fhem-datei
 
''IO::Socket::INET;
IO::Socket::SSL;
'' -->IO::Socket komplett
 
JSON;
 
LWP;
 
''LWP::Simple;
LWP::UserAgent;
'' --> LWP komplett. besser über apt-get da installation automatisch. über cpan etwas umständlich für laien.
 
''MaxCommon;
'' -->fhem-file
 
''POSIX;
'' -->immer vorhanden (?)
 
ProtoThreads;
 
''SetExtensions
'' -->fhem ?
 
Switch;
 
Symbol
 
TcpServerUtils;
 
''utf8;
'' --> immer vorhanden
 
== Programme die auf keinem fhem Rechner fehlen sollten ==
 
sudo apt-get install gcc
 
sudo apt-get install dpkg-dev
 
sudo apt-get source perl
 
sudo apt-get install git-core
 
sudo apt-get install libdbi-perl libdbd-mysql-perl
 
sudo apt-get install libjson-perl


sudo apt-get install psmisc
* #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


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


install CPAN
BITTE GEGENLESEN


reload cpan
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...


sudo cpan install YAML
==== Ü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...


== Rechteanpassung ==
==== 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 ==
== Links ==
* [http://debianforum.de/forum/viewtopic.php?f=1&t=148369 Forumsartikel] und HowTo um slovenia´s (Igor Pecovnik) Image zu installieren
* [http://debianforum.de/forum/viewtopic.php?f=1&t=148369 Forumsartikel] und HowTo um slovenia´s (Igor Pecovnik) Image zu installieren
* "Notizzettel" zur Einrichtung Igor-Image auf Cubietruck: {{Link2Forum|Topic=26006|Message=192758}}
* "Notizzettel" zur Einrichtung Igor-Image auf Cubietruck: {{Link2Forum|Topic=26006|Message=192758}}
* Für Fhem beim Igor-Image zusätzlich notwendige Perl-Module: {{Link2Forum|Topic=26006|Message=192795}}
* Für FHEM beim Igor-Image zusätzlich notwendige Perl-Module: {{Link2Forum|Topic=26006|Message=192795}}
[[Kategorie:Cubieboard]]
[[Kategorie:Cubieboard]]
[[Kategorie:NeedsEditing]]

Aktuelle Version vom 18. März 2017, 22:23 Uhr

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