Cubieboard 3

Aus FHEMWiki

Work in progress

Emblem-question-yellow.svgDer 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 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.

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 Slovenia das Einzige, welches das Onboard Bluetooth Device nutzen kann

Spezielle Anpassungen für die unterschiedlichen Images

hier fehlt noch Text

Setup (unabhängig vom Image)

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

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


Prepare the drive for rootfs

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

list all available drives Quote

   #fdisk -l


Choose the drive you want to make changes to (e.g. sda):

Quote

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

   #mkfs.ext4 /dev/sda1


Copying Rootfs

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

Quote

   $sudo su - root
   #dd if=/dev/nandb of=/dev/sda1 bs=1M


Changing Boot Parameters Quote

   $sudo su - root
   #mount /dev/nanda /mnt
   #vi /mnt/uEnv.txt


Change the contents of uEnv.txt to Quote

   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

(In der Bearbeitungsansicht ist es eine schöne Liste)

Formatvorschlag (Markierung mit * in Spalte 1 für nicht benötigte Module):

CGI
Color
Config;
configDB;
* Digest::MD5 ->standardmäßig vorhanden (?)

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

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.

Emblem-question-yellow.svgIm Moment ist die Liste noch völlig unbrauchbar. Jetzt müssen wir alles, was nicht ein Perl Modul ist, rauswerfen ;)


Emblem-question-yellow.svgedit: 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


Emblem-question-yellow.svgedit: 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

Data::Dumper;

Date::Parse;

Device::Firmata

Device::SerialPort;

Device::SMBus;

Device::USB;

File::Copy

Getopt::Std;

HiPi::Device::I2C;

HTTP::Cookies;

HTTP::Request;

IO::File;

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

apt-get install gcc

apt-get install dpkg-dev

apt-get source perl

sudo cpan

install CPAN

reload cpan

sudo cpan install YAML

sudo apt-get install git-core

apt-get install libdbi-perl libdbd-mysql-perl

Rechteanpassung

Links

  • Forumsartikel und HowTo um slovenia´s (Igor Pecovnik) Image zu installieren