Home Android Arch Linux Gentoo Linux LibreELEC Github Geo

Odroid-C1+

Vorbereitung


am Linux-Rechner in das User-Home-Verzeichnis wechseln, falls nicht schon passiert
cd /home/{user}

herunterladen der benötigten Software
download von ArchLinuxARM-rpi-2-latest.tar.gz
wget http://os.archlinuxarm.org/os/ArchLinuxARM-odroid-c1-latest.tar.gz
Odroid-C1+



um herauszufinden unter welchem Gerätenamen zum Beispiel eine Micro-SD eingebunden wird, gibt es folgende Möglichkeiten

1. folgendes am Rechner eingeben und danach die Micro-SD in den Kartenleser stecken
udevadm monitor

udevadm monitor

monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[1408.486224] change   /devices/pci0000:00/[...]/8:0:0:2/block/sdf (block)
KERNEL[1408.787835] change   /devices/pci0000:00/[...]/8:0:0:2/block/sdf (block)
KERNEL[1408.787866] add      /devices/pci0000:00/[...]/block/sdf/sdf1 (block)
UDEV  [1408.822432] change   /devices/pci0000:00/[...]/8:0:0:2/block/sdf (block)
UDEV  [1408.857059] change   /devices/pci0000:00/[...]/8:0:0:2/block/sdf (block)
UDEV  [1408.890861] add      /devices/pci0000:00/[...]/8:0:0:2/block/sdf/sdf1 (block)

die Micro-SD wurde als /dev/sdf in das System eingebunden

2. Micro-SD in den Kartenleser stecken und dann folgendes eingeben
dmesg

dmesg

...
[  776.317942] sd 8:0:0:2: [sdg] 62333952 512-byte logical blocks: (31.9 GB/29.7 GiB)
[  776.321941]  sdg: sdg1
[  776.499707] EXT4-fs (sdg1): mounted filesystem with ordered data mode. Opts: (null)

die Micro-SD wurde hier als /dev/sdg in das System eingebunden und die erste Partition wurde einghangen

 



System auf die Micro-SD aufspielen


im Folgenden ist /dev/sdX durch den wirklichen Gerätenamen zu ersetzen
also zum Beispiel /dev/sdf



zum Benutzer root werden
su

falls schon vorhandene Partitionen von der Micro-SD eingehangen wurde, diese wieder sauber aushängen
umount /dev/sdX1
umount /dev/sdX2 … usw
einen Überblick über die eingehangenen Partitionen und Geräte, erhält man mit dem Befehl mount

die ersten Blöcke der Micro-SD mit NULLEN überschreiebn
dd if=/dev/zero of=/dev/sdX bs=1M count=8

8+0 records in
8+0 records out
8388608 bytes (8,4 MB) copied, 0,173442 s, 48,4 MB/s

die benötigte Partition anlegen
fdisk /dev/sdX

Welcome to fdisk (util-linux 2.26.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x09178fec.

Command (m for help): o
Created a new DOS disklabel with disk identifier 0x3e8f9547.

Command (m for help): p
Disk /dev/sdg: 29,7 GiB, 31914983424 bytes, 62333952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3e8f9547

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): <ENTER>

Using default response p.
Partition number (1-4, default 1): <ENTER>
First sector (2048-62333951, default 2048): <ENTER>
Last sector, +sectors or +size{K,M,G,T,P} (2048-62333951, default 62333951): <ENTER>

Created a new partition 1 of type 'Linux' and of size 29,7 GiB.

Command (m for help): p
Disk /dev/sdg: 29,7 GiB, 31914983424 bytes, 62333952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3e8f9547

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdg1        2048 62333951 62331904 29,7G 83 Linux

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Verzeichnis zum einhängen der Partition erstellen
mkdir /mnt/Odroid-C1

Dateisystem ext4 auf der Partition anlegen
mkfs.ext4 -L Odroid-C1 /dev/sdX1

mke2fs 1.42.13 (17-May-2015)
Creating filesystem with 7791488 4k blocks and 1949696 inodes
Filesystem UUID: f076b7f4-fa23-42cc-9c00-42c0212547a8
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

Partition einhängen
mount /dev/sdX1 /mnt/Odroid-C1/

aktuelles ArchLinuxArm auf die Micro-SD entpacken
tar -xf ArchLinuxARM-odroid-c1-latest.tar.gz -C /mnt/Odroid-C1/

alle noch gecachten Daten auf die Micro-SD schreiben
sync

den Bootloader installieren
cd /mnt/Odroid-C1/boot
./sd_fusing.sh /dev/sdX

442+0 records in
442+0 records out
442 bytes (442 B) copied, 0,00134178 s, 329 kB/s
63+0 records in
63+0 records out
32256 bytes (32 kB) copied, 0,0031825 s, 10,1 MB/s
460+1 records in
460+1 records out
235739 bytes (236 kB) copied, 0,0150558 s, 15,7 MB/s
Successfully wrote U-Boot to /dev/sdX

die Partition wieder verlassen
cd /

die Partition OdroidC1 (/dev/sdX1) wieder aushängen
umount /mnt/Odroid-C1



Einrichtung

Micro-SD in den Odroid-C1 stecken, booten und einlogen (entweder remote per SSH oder lokal am Odroid-C1, bei remote kann folgendes genutzt werden, ohne dass die automatisch zugewiesene IP des Odroid-C1 im Router ausgelesen werden muss)

Login per SSH, als Benutzer alarm - Passwort: alarm
ssh alarm@alarm

The authenticity of host 'alarmpi (192.168.55.119)' can't be established.
ECDSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes

zum Benutzer root wechseln - Passwort: root
su

als erstes das Passwort von root ändern
passwd

und auch das Passwort des Benutzers alarm ändern
passwd alarm

Datenbank von pacman auf den neuesten Stand bringen und das System updaten
pacman -Syu

schönnen Banner beim Login erstellen (motd - message of the day)
nano /etc/motd

/etc/motd

   ____      _           _     _         _____ __ 
  / __ \    | |         (_)   | |       / ____/_ |
 | |  | | __| |_ __ ___  _  __| |______| |     | |
 | |  | |/ _` | '__/ _ \| |/ _` |______| |     | |
 | |__| | (_| | | | (_) | | (_| |      | |____ | |
  \____/ \__,_|_|  \___/|_|\__,_|       \_____||_|
                                                  

http://patorjk.com/software/taag/#p=display&f=Big&t=Odroid-C1

den Hostnamen auf odroidc1 setzen
echo odroidc1 > /etc/hostname
beim nächsten login über ssh, kann dann folgendes genutzt werden ssh alarm@odroidc1

ssh alarm@odroidc1

alarm@odroidc1's password: 
   ____      _           _     _         _____ __ 
  / __ \    | |         (_)   | |       / ____/_ |
 | |  | | __| |_ __ ___  _  __| |______| |     | |
 | |  | |/ _` | '__/ _ \| |/ _` |______| |     | |
 | |__| | (_| | | | (_) | | (_| |      | |____ | |
  \____/ \__,_|_|  \___/|_|\__,_|       \_____||_|
                                                  
Last login: Sat Jul 23 00:26:32 2016 from 192.168.55.11
alarm@odroidc1 ~ $

die richtige Zeitzone setzen
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
oder
timedatectl set-timezone Europe/Berlin

deutsches Tastaturlayout auf der Konsole einstellen
echo KEYMAP=de-latin1 > /etc/vconsole.conf
echo FONT=lat9w-16 >> /etc/vconsole.conf

die zu erzeugende Lokalisierungen (Systemsprache und Formatierung) festlegen
nano /etc/locale.gen

nano /etc/locale.gen

de_DE.UTF-8 UTF-8
de_DE ISO-8859-1 
de_DE@euro ISO-8859-15

die Lokalisierung erzeugen
locale-gen

Lokalisierung auf de_DE.UTF8 setzen
echo LANG=de_DE.UTF8 > /etc/locale.conf

noch ein paar nützliche Programme installieren
pacman -S htop lsof wget bash-completion

das System neustarten
reboot



BASH erweitern


den Inhalt der Datei /etc/bash.bashrc ersetzen
nano /etc/bash.bashrc

/etc/bash.bashrc

#
# /etc/bash.bashrc
#

# If not running interactively, don't do anything
[[ $- != *i* ]] && return

# prompt only the last 2 dirs
PROMPT_DIRTRIM=2

if [[ ${EUID} == 0 ]] ; then
   PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '
else
   PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w'
   # if git-prompt.sh exist, prompt git-branch inside a git directory, else only '$'
   if [ -f /usr/share/git/git-prompt.sh ]; then
      . /usr/share/git/git-prompt.sh
      GIT_PS1_SHOWDIRTYSTATE=1
      GIT_PS1_SHOWSTASHSTATE=1
      GIT_PS1_SHOWUPSTREAM="auto"
      PS1+='\[\033[01;33m\]$(__git_ps1 " (%s)")\[\033[01;34m\] \$\[\033[00m\] '
   else
      PS1+='\[\033[01;34m\] \$\[\033[00m\] '
   fi
fi
PS2='> '
PS3='> '
PS4='+ '

case ${TERM} in
  xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
    PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'

    ;;
  screen)
    PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
    ;;
esac

# source .bash_aliases if exist
[ -r ~/.bash_aliases ] && . ~/.bash_aliases

# source bash_completion if exist
[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion

alias p='pwd'
alias dir='dir --color=auto'
alias ls='ls --all --color=auto'
alias ll='ls -l --human-readable --all --color=auto'
alias ltr='ls -lt --reverse --human-readable --all --color=auto'
alias grep='grep --color=auto'
alias dmesg='dmesg --color'
alias nano='nano -w'
alias x='exit'

in der Datei /etc/skel/.bashrc und /home/alarm/.bashrc alles auskommentieren
nano /etc/skel/.bashrc
nano /home/alarm/.bashrc

.bashrc

#
# ~/.bashrc
#

# If not running interactively, don't do anything
#[[ $- != *i* ]] && return

#alias ls='ls --color=auto'
#PS1='[\u@\h \W]\$ '
 

Kodi

die benötigte Software installieren
pacman -S xf86-video-odroid-c1 odroid-c1-libgl-x11 kodi-c1 lsb-release udisks unrar unzip xorg-server xorg-xinit

die Gruppe media anlegen
groupadd -g 420 media

den Benutzer media anlegen
useradd -c 'media user' -u 420 -g media -G audio,video,input,power,network,optical -d /var/lib/media -s /usr/bin/nologin media

der Benutzer media benötigt kein Passwort
passwd -l media > /dev/null

das Home-Verzeichnis für den Benutzer media anlegen
mkdir -p /var/lib/media/

die richtigen Rechte für das Home-Verzeichnis des Benutzers kodi vergeben
chown -R media:media /var/lib/media

die Service-Datei für systemd anlegen
nano /usr/lib/systemd/system/kodi.service

[Unit]
Description=Starts Kodi using xinit
After=systemd-user-sessions.service network.target sound.target mysqld.service
Conflicts=getty@tty7.service

[Service]
User=media
Group=media
PAMName=login
TTYPath=/dev/tty7
ExecStart=/usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/kodi-standalone -- :0 -nolisten tcp vt7
Restart=on-abort
StandardInput=tty

[Install]
WantedBy=multi-user.target

Kodi bei jedem Start aktivieren
systemctl enable kodi

das System neustarten
reboot


modprobe spicc

modprobe fbtft_device name=odroidc_tft32 rotate=270 gpios=reset:116,dc:115 speed=32000000 cs=0