Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:projekte:cubietruck:cubietruck_debian_jessie

Dies ist eine alte Version des Dokuments!


Dieser Artikel ist veraltet!
Seit September 2018 findet Ihr unter ProjekteCubietruckNeuauflage #3 oder hier eine komplett überabeitet Anleitung.

Installation von GNU Debian 8.x aka Jessie auf dem Cubietruck (ARMv7 AllWinner A20)

Quellen

Debian 8.x Jessie Installation

Installation wie in [1] beschrieben durchführen.

wget http://ftp.uk.debian.org/debian/dists/jessie/main/installer-armhf/current/images/netboot/SD-card-images/firmware.Cubietruck.img.gz
wget http://ftp.uk.debian.org/debian/dists/jessie/main/installer-armhf/current/images/netboot/SD-card-images/partition.img.gz
zcat firmware.Cubietruck.img.gz partition.img.gz > /dev/sde
  • Serielles Kabel (FTDI-Kabel) anschließen um die folgenden Schritte auf der Konsole beobachten zu können
  • sudo minicom -b 115200 -o -D /dev/ttyUSB0
  • Cubietruck mit der neu erstellten SD-Karte booten
  • Installation nach [1] fortführen
  • Reboot

Konfiguration des Grundsystems

#login als root via serieller Konsole
apt-get update
apt-get upgrade
apt-get install mc apt-transport-https ntpdate sudo
dpkg-reconfigure locales
 [*] de_DE.UTF-8
 [*] en_GB.UTF-8
#
#
nano /etc/fstab
#
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/mmcblk0p2 during installation
UUID=855ca3a0-0307-45e5-8ac7-020275c8801f /               ext4    errors=remount-ro 0       1
# /boot was on /dev/mmcblk0p1 during installation
UUID=42146a70-75a6-4ee7-b315-ffad2d408385 /boot           ext2    defaults        0       2
# swap was on /dev/mmcblk0p5 during installation
UUID=2f3771cc-68e2-4e44-a97d-6fe99eea34f0 none            swap    sw              0       0
#
UUID=afeb5bfa-bf16-42f0-a8d0-8f57619746a8 /mnt/sda1 ext4 defaults 1 1
#
#
#
cd /home/
mv christoph __christoph
ln -s /mnt/sda1/christoph christoph

Netzwerkkonfiguration

nano /etc/systemd/resolved.conf
[Resolve]
DNS=192.168.100.1
#
ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
#
# falls ''systemd-resolved'' schon läuft: 
systemctl restart systemd-resolved.service
#
# sonst:
systemctl enable systemd-resolved.service
systemctl start systemd-resolved.service
#
# nach [3]
nano /etc/systemd/network/eth0.network
#
[Match]
Name=eth0
[Network]
Address=192.168.100.3/24
Gateway=192.168.100.1
DNS=192.168.100.1
#
# LAN Schnittstelle abschalten:
ifdown eth0
#
cp /etc/network/{interfaces,interfaces_bak}
cat /dev/null > /etc/network/interfaces
update-rc.d networking remove
systemctl enable systemd-networkd.service
systemctl start systemd-networkd.service
#
# Login für den Benutzer ''root'' via SSH ermöglichen:
nano /etc/ssh/sshd_config
...
PermitRootLogin without-password -> PermitRootLogin yes
...
#

Zeitserver

echo "NTPDATE_USE_NTP_CONF=no" > /etc/default/ntpdate
echo "NTPSERVERS=\"192.168.100.1\"" >> /etc/default/ntpdate
echo "NTPOPTIONS=\"\"" >> /etc/default/ntpdate

Sundtek DVB-C Tuner

Installation

ssh -l root <VDR-IP>
cd /root
wget http://www.sundtek.de/media/sundtek_netinst.sh
chmod +x sundtek_netinst.sh
./sundtek_netinst.sh
/opt/bin/mediaclient --dtvtransfermode=bulk -d /dev/dvb/adapter0/frontend0
# Reconnect Tuner #1
/opt/bin/mediaclient --dtvtransfermode=bulk -d /dev/dvb/adapter1/frontend0
# Reconnect Tuner #2
#
# VDR erneut starten wenn DVB-Tuner Treiber geladen sind:
echo "device_attach=service vdr restart" >> /etc/sundtek.conf

VDR

Auf keinen Fall die automatisch generierte Kanalkonfiguration (channels.conf für vdr) aus dem Kabel Deutschland Forum verwenden - die Parameter für die HD Sender der Öffentlich-Rechtlichen sind fehlerhaft und bringen den VDR regelmäßig zum Absturz (data stream broken → emergency exit).
echo "deb https://packages.e-tobi.net/vdr-experimental jessie base vdr-multipatch" >> /etc/apt/sources.list
gpg --keyserver keyring.debian.org --recv-keys 041390BC
gpg --armor --export 041390BC | apt-key add -
apt-get update
apt-get install vdr vdr-plugin-streamdev-server vdr-plugin-vnsiserver vdradmin-am vdr-plugin-epgsearch dvb-apps
#
# VDR und VDRadmin-am Dienst via sytemctl starten:
systemctl start vdr && systemctl start vdradmin-am
#
# VDR und VDRadmin-am Dienst via sytemctl stoppen:
systemctl stop vdr && systemctl stop vdradmin-am
#

Sendersuche

sudo su
apt-get install w-scan
w_scan -fc -c DE >> channels.conf

Konfiguration

nano /etc/default/vdradmin-am
... ENABLED="1"
#
nano /etc/vdr/setup.conf
# automatische Kanalsuche abschalten:
UpdateChannels = 0
#
nano /etc/vdradmin-am/vdradmind.conf
LANG = 
LANGUAGE = Deutsch
#
nano /etc/vdr/conf.d/00-vdr.conf
[vdr]
#--video=/var/lib/video
--video=/mnt/sda1/video0
--config=/var/lib/vdr
--lib=/usr/lib/vdr/plugins
--record=/usr/lib/vdr/vdr-recordingaction
--epgfile=/var/cache/vdr/epg.data
--user=vdr
--grab=/tmp
--port=6419
--watchdog=60
#--lirc
#--vfat
#--shutdown=/usr/lib/vdr/vdr-shutdown.wrapper
#--userdump
#
#
nano /etc/default/vdr
#VDR_CHARSET_OVERRIDE=ISO-8859-9
#

vor und nach Aufnahmen ...

/etc/vdr/recording-hooks/R90.custom
case $1 in
    before)
        # do here whatever you would like to do right BEFORE
        # the recording $2 STARTS
        echo 1 > /sys/class/leds/blue\:ph21\:led1/brightness
        sudo telegram-cli -W -e "msg <EMPFÄNGER> \"VDR: Aufnahme $2 gestartet!\""
        ;;
 
    started)
        # do here whatever you would like to do right AFTER
        # the recording $2 STARTED
        ;;
 
    after)
        # do here whatever you would like to do right AFTER
        # the recording $2 ENDED
        echo 0 > /sys/class/leds/blue\:ph21\:led1/brightness
        chmod -R g+w $2/..
        sudo telegram-cli -W -e "msg <EMPFÄNGER> \"VDR: Aufnahme $2 beendet!\""
        ;;
 
    edited)
        # do here whatever you would like to do right AFTER
        # the recording $2 has been EDITED
        # $3 is the original recording
        ;;
    deleted)
        # do here whatever you would like to do right AFTER
        # the recording $2 has been DELETED
        ;;
esac

Radiorecorder Web GUI

sudo su
apt-get install lighttpd streamripper at
systemctl status lighttpd
usermod -G vdr -a www-data
#chown -R www-data:www-data /var/www/html
#chmod -R 775 /var/www/html
# zuerst lighttpd installieren da sonst auf Grund von Abhängigkeiten evtl. der apache2 Webserver installiert wird!
apt-get install php5-common php5-cgi php5
lighty-enable-mod fastcgi
lighty-enable-mod fastcgi-php
systemctl restart lighttpd
echo "<?php phpinfo(); ?>" >> /var/www/html/phpinfo.php
# Im Browser öffnen: http://<RASPBERRYPI-IP/phpinfo.php
# www-data aus /etc/at.deny entfernen
sed -i -e '/www-data/d' /etc/at.deny
cd ~
wget https://netcologne.dl.sourceforge.net/project/radiorecwebgui/0.3.x/radiorecorder_0.3.1.tar.gz
tar xfz radiorecorder_0.3.1.tar.gz
mkdir -p /var/www/html/radiorecorder
cp -R radiorecorder_0.3.1/* /var/www/html/radiorecorder/
#
echo "NDR2;http://ndr-ndr2-niedersachsen.cast.addradio.de/ndr/ndr2/niedersachsen/mp3/128/stream.mp3" > /var/www/html/radiorecorder/res/streams.txt
echo "NDR Kultur;http://ndr-ndrkultur-live.cast.addradio.de/ndr/ndrkultur/live/mp3/128/stream.mp3" > /var/www/html/radiorecorder/res/streams.txt
echo "NDR Info;http://ndr-ndrinfo-niedersachsen.cast.addradio.de/ndr/ndrinfo/niedersachsen/mp3/128/stream.mp3" > /var/www/html/radiorecorder/res/streams.txt
echo "N-Joy;http://ndr-njoy-live.cast.addradio.de/ndr/njoy/live/mp3/128/stream.mp3" > /var/www/html/radiorecorder/res/streams.txt
echo "NDR Blue;http://ndr-ndrblue-live.cast.addradio.de/ndr/ndrblue/live/mp3/128/stream.mp3" > /var/www/html/radiorecorder/res/streams.txt
echo "NDR Plus;http://ndr-ndrplus-live.cast.addradio.de/ndr/ndrplus/live/mp3/128/stream.mp3" > /var/www/html/radiorecorder/res/streams.txt
#
chown -R www-data:www-data /var/www/html/
mkdir /mnt/video0/radiorecorder
chown -R vdr:vdr /mnt/video0/radiorecorder/
chmod -R g+w /mnt/video0/radiorecorder/
#
systemctl restart lighttpd
# Im Browser öffnen: http://<RASPBERRYPI-IP/

/var/www/html/radiorecorder/res/settings.php

settings.php
<?php
 
class Settings {
 
  public static $siteRoot = '/var/www/html/radiorecorder';
  public static $recordedFilesDestination = '/mnt/sda1/video0/radiorecorder';
  public static $language = 'de'; //"de" for german or "en" for english
  public static $locale = 'C'; // default is "C"; other possible locales: "de_AT.UTF-8" to enable all corresponding characters for the filename
  public static $defaultStreamripperParams = '';	// adds streamripper params to each call
  public static $addDatePrefixToFilename = null;	// prefix format (e.g. 'Y-m-d') or null if no prefix to add
  public static $postCommand = '';	// command to be executed after the recording is finished
  public static $logThreshold = 3; //Level of log messages, possible values : LEVEL_DEBUG=4, LEVEL_INFO=3, LEVEL_WARN=2, LEVEL_ERROR=1
 
}
 
?> 

SAMBA installieren und einrichten

aptitude install samba
echo "wins server = eth0:192.168.100.1" > /etc/samba/dhcp.conf
adduser christoph
smbpasswd -a christoph
aptitude install cifs-utils

Samba Konfiguration

smb.conf
#======================= Global Settings =======================
 
[global]
   workgroup = WG
   server string = %h server
   wins support = no
 
   wins server = 192.168.100.1
   dns proxy = no
   name resolve order = lmhosts host wins bcast
   unix extensions = no
 
#### Networking ####
;   interfaces = 127.0.0.0/8 eth0
;   bind interfaces only = yes
 
#### Logging ####
   log file = /var/log/samba/log.%m
 
# Cap the size of the individual log files (in KiB).
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
 
####### Authentication #######
   security = user
   encrypt passwords = true
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user
 
#======================= Share Definitions =======================
[homes]
   comment = Home Directories
   browseable = yes
   writeable = yes
   read only = no
   create mask = 0700
   directory mask = 0700
   valid users = %S
 
[Aufnahmen]
   comment = VDR Aufnahmen
   path = /mnt/sda1/video0
   browseable = yes
   writeable = yes
   read only = no
   #create mask = 0700
   #directory mask = 0700
   #valid users = %S
   create mask = 0664
   directory mask = 0775
   force group = users
   follow symlinks = yes
   wide links = yes
 
 load printers = no
 printing = bsd
 printcap name = /dev/null
 disable spoolss = yes

Telegram für Benachrichtigungen

siehe hier

echo "vdr     ALL = NOPASSWD: /bin/telegram-cli" >> /etc/sudoers

Nextcloud

Installation

apt-get update
apt-get upgrade

MySQL Datenbank

aptitude install mysql-server mysql-client
mysql Datenbank, User und Passwort anlegen
mysql -uroot -p${mysqlrootpasswd} -e "CREATE DATABASE nextcloud;"
mysql -uroot -p${mysqlrootpasswd} -e "CREATE USER nextcloud@localhost IDENTIFIED BY '${PASSWDDB}';"
mysql -uroot -p${mysqlrootpasswd} -e "GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';"
mysql -uroot -p${mysqlrootpasswd} -e "FLUSH PRIVILEGES;"

Lighttpd Webserver und PHP

aptitude install lighttpd

PHP

aptitude install php5-fpm php5
mcedit /etc/php5/fpm/php.ini
#  uncomment the line cgi.fix_pathinfo=1
cd /etc/lighttpd/conf-available/
cp 15-fastcgi-php.conf 15-fastcgi-php-spawnfcgi.conf
mcedit 15-fastcgi-php.conf
-----
## Start an FastCGI server for php (needs the php5-cgi package)
fastcgi.server += ( ".php" =>
        ((
                "socket" => "/var/run/php5-fpm.sock",
                "broken-scriptfilename" => "enable"
        ))
)
-----
lighttpd-enable-mod fastcgi
lighttpd-enable-mod fastcgi-php
 
aptitude install php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
aptitude install php5-xcache
service php5-fpm reload
aptitude install phpmyadmin
 
#Web server to reconfigure automatically: <-- lighttpd
#Configure database for phpmyadmin with dbconfig-common? <-- yes
#
#Password of the database's administrative user: <-- Enter the MySQL/MariaDB root password
#MySQL application password for phpmyadmin: <-- Press ENTER
 
#Afterwards, you can access phpMyAdmin under http://192.168.100.3/phpmyadmin/
#
mkdir -p /var/www/html/nextcloud/data
chown www-data:www-data /var/www/html/nextcloud/data
chmod 750 /var/www/html/nextcloud/data
cd /var/www/html/nextcloud
chown www-data:www-data config apps

Nextcloud 13

 wget https://download.nextcloud.com/server/releases/nextcloud-13.0.0.tar.bz2 
  • entpacken
 tar xfj nextcloud-13.0.0.tar.bz2 
  • entpackten Ordner per FTP in das Web-Root Verzeichnis hochladen
  • Datenverzeichnis parallel zum Nextcloud Verzeichnis anlegen um Benutzerdaten und Nextcloud Installation voneinander zu trennen
  • /tmp Verzeichnis innerhalb des Nextcloud-Verzeichnisses anlegen
  • URL des Web-Root Verzeichnis in Browser aufrufen und die neue Nextcloud Instanz mit den richtigen Parametern für das Datenverzeichnis, den Benutzernamen und das Passwort des Administrators sowie den Datenbankparametern konfigurieren
  • In der Datei /nextcloud/config/config.php den Pfad zum Datenverzeichnis anpassen und den Pfad zum /tmp Verzeichnis ergänzen
 'tempdirectory' => '/.../.../.../htdocs/.../nextcloud/tmp', 
  • php.ini unterhalb von /nextcloud mit folgendem Inhalt anlegen:
php.ini
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
wiki/projekte/cubietruck/cubietruck_debian_jessie.1536390468.txt.gz · Zuletzt geändert: 2020/04/15 20:21 (Externe Bearbeitung)