RockPi 4 – Armbian

Änderungsstand: 2023-10-23

Warum sollte man Armbian verwenden? Diese Frage ist relativ einfach erklärt. Es ist Open Source.

Folgender Guide gilt für Armbian „Bookworm“ und sollte auch für Debian „Bookworm“ gültig sein. Weitere spezifische Informationen über Armbian „Bookworm“ bekommt man hier.

.

  • Installation von Armbian (Bookworm) Server
  • Login und Terminal
  • Systemupdate
  • Benutzerpasswort ändern
  • Feste IP-Adresse vergeben
  • Timezone, Language, Hostname (–> nur für Armbian gültig)
  • SSH-Port ändern
  • Docker Compose installieren
  • Ext. Laufwerk einbinden
  • Samba Freigabe erstellen
  • Rechte des Benutzerverzeichnisses wiederherstellen

Zuerst lade ich mir hier die benötigte Version herunter. Ich muss Model B wählen und Archiv. Nun wähle ich die zweite Version von oben aus (Armbian_23.8.1_Rockpi-4b_bookworm_current_6.1.50.img.xz). Anschließend bringe ich das Image mittels BalenaEtcher auf eine mind. 32GB SSD. Wenn erledigt, die SD-Card in den RockPi 4 rein und diesen starten.

Zur Info:

  • Armbian Jammy basiert auf Ubuntu 22.04 | | Armbian Bookworm basiert auf Debian12

Wenn gestartet, verlangt die Eingabeaufforderung auch gleich ein neues root-Passwort. Sehr schön. Da ich nicht weiß, welches Tastaturlayout benutzt wird, wählte ich für das Passwort nur Zahlen (nicht vom Ziffernblock). Im späteren Verlauf ändere ich das Passwort noch einmal. Nun:

  • Benutzer erstellen inkl. Benutzerpasswort (ich wähle für meine folgenden Beispiele den Benutzernamen rock)
  • Timezone wird nun automatisch erkannt (Wenn Internetverbindung besteht)
  • Sprache einstellen nach Erkennung: Y (Z) (das Tastatur-Layout war doch amerikanisch)
  • 1 für de_DE.UTF-8
  • ip a eingeben und IP-Adresse ablesen
  • Im Terminal anmelden (entweder mit root oder dem erstellten Benutzer)

Nun das erste Update:

sudo apt update && sudo apt upgrade -y

Hier merkt man schon die erste Abweichung von einem handelsüblichen Debian. Der sudo-Befehl ist implementiert.

Armbian wurde installiert und aktualisiert.

Benutzerpasswort ändern:

sudo passwd rock
  • aktuelles PW eingeben (wenn verlangt)
  • neues Passwort eingeben
  • neues Passwort wiederholen

Rootpasswort ändern:

sudo passwd root
  • aktuelles Passwort eingeben (wenn verlangt)
  • neues Passwort eingeben
  • neues Passwort wiederholen

Für folgende Schritte benötige ich ein Tool, welches in meiner gewählten „current“-Version schon vorhanden ist aber in der minimal-Ausführung von Armbian nicht installiert ist. Sollte armbian-config nicht installiert sein, kann ich das nachholen:

sudo apt install armbian-config -y

Feste IP-Adresse vergeben:

Ich werde sudo armbian-config direkt aufrufen (nicht über Terminal):

sudo armbian-config
  • Network
    • IP (Select dynamic or edit static IP address)
      • Static
        • Address: 192.168.1.234
        • Netmask: 24
        • Gateway: 192.168.1.1
        • DNS: 8.8.8.8
  • OK

Falls eine andere IP-Adresse gewählt wurde, wird die Verbindung getrennt. In diesem Fall mit der neuen IP-Adresse einloggen.

Timezone, Language, Hostname:

sudo armbian-config
  • Personal
    • Keyboard (Rest selbsterklärend)

SSH-Port ändern:

sudo nano /etc/ssh/sshd_config

Ich suche nun folgenden Eintrag:

#Port 22

Diesen Eintrag ändere ich folgend:

Port 12345

Strg-x, y, Enter

Port 12345 ist ab nun der Port, der für den SSH-Zugang verwendet wird.

Dieser Port, so wie er in diesem Beispiel angegeben wurde, sollte natürlich nicht so verwendet werden! Bitte einen eigenen, freien Port verwenden!!!

sudo systemctl restart ssh

Im Terminal mit dem neuen Port anmelden – fertig.

(Die alte Terminalsession funktioniert noch bis zum Schließen dieser)

Docker Compose installieren (Scriptinstall):

sudo apt-get update
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh
sudo usermod -aG docker $USER
docker compose version

Meine Ausgabe zum Zeitpunkt:

Docker Compose version v2.21.0

Externes Laufwerk einbinden:

Ich verwende eine NVMe und binde diese nun im System ein:

lsblk

Meine Ausgabe:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
mmcblk0     179:0    0  29,7G  0 disk
└─mmcblk0p1 179:1    0  29,4G  0 part /var/log.hdd
                                      /
zram0       251:0    0 488,1M  0 disk [SWAP]
zram1       251:1    0    50M  0 disk /var/log
zram2       251:2    0     0B  0 disk
nvme0n1     259:0    0 465,8G  0 disk

Meine NVMe hat die Bezeichnung nvme0n1, welche ich nun neu partitioniere:

Alle vorhandenen Daten des Laufwerkes werden gelöscht!

sudo parted /dev/nvme0n1 "mklabel gpt"
  • Yes

Formatieren als ext.4 Laufwerk:

sudo mkfs.ext4 /dev/nvme0n1
  • y

Jetzt mounte ich das Laufwerk nach /mnt/nvme0n1:

(ssd ist meine dafür verwendete Bezeichnung)

sudo mkdir -p /mnt/nvme0n1
sudo mount /dev/nvme0n1 /mnt/nvme0n1
sudo chmod -R 777 /mnt/nvme0n1/

Zur Erklärung, da immer wieder Fragen aufkommen und die gängigsten Beispiele:

  • 777: Jeder kann Lesen, Schreiben, Ausführen (rwx rwx rwx).
  • 755: Der Besitzer, die Gruppe und andere Personen können Lesen –> Schreiben und Ausführen nur Besitzer (rwx rx rx).
  • 600: Nur der Eigentümer kann Lesen und Schreiben (rw – -).

Auto-Mount:

sudo nano /etc/fstab

Folgendes trage ich am Ende ein:

/dev/sdb1 /home/user/disk ext4 defaults 0 0

# ext. nvme0n1 einhängen
/dev/nvme0n1 /mnt/nvme0n1 ext4 defaults 0 0

Strg-x, y, Enter

sudo systemctl daemon-reload
sudo mount -a

Zum Test, ein obligatorischer Reboot:

sudo reboot

Nach dem Start ist meine SSD unter dem erstellten Mountpoint verfügbar:

df -h
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
udev            412M       0  412M    0% /dev
tmpfs            98M    2,5M   96M    3% /run
/dev/mmcblk0p1   29G    2,1G   27G    8% /
tmpfs           489M       0  489M    0% /dev/shm
tmpfs           5,0M       0  5,0M    0% /run/lock
tmpfs           489M       0  489M    0% /tmp
/dev/nvme0n1    458G     28K  435G    1% /mnt/nvme0n1
/dev/zram1       47M    4,8M   39M   11% /var/log
tmpfs            98M       0   98M    0% /run/user/1000

Wichtig für mich in diesem Moment ist die Zeile:

/dev/nvme0n1 458G 28K 435G 1% /mnt/nvme0n1

Alles i.O.

Samba-Freigabe:

Ich richte die SMB-Freigaben ein, damit ich meine Medien mittels Netzwerk auf meinem Server kopieren kann. Mein Benutzername ist rock.

sudo apt update && sudo apt upgrade -y
sudo apt install samba samba-common smbclient -y

Check, ob alles passt:

sudo service smbd status

Als wichtige Ausgabe erhalte ich:

 Active: active (running)

Ggf. Strg-c drücken.

Samba ist nun installiert. Auf zur Konfiguration:

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf_old
sudo nano /etc/samba/smb.conf

Folgendes füge ich ein:

[global]
workgroup = WORKGROUP
security = user
client min protocol = SMB2
client max protocol = SMB3

Strg-x, y, Enter

SMB-Freigabeverzeichnis einrichten:

Ich habe eben meine SSD als Mount zu /mnt/nvme0n1 gesetzt. Dieses Verzeichnis verwende ich und setze die Freigabe meines Samba-Freigabeordners (sharedfolders) für den Benutzer rock:

sudo mkdir -p /mnt/nvme0n1/sharedfolders
sudo chown -R rock:rock /mnt/nvme0n1/sharedfolders

Achtung! Dieser Freigabeordner /mnt/nvme0n1/sharedfolders ist selbst nur noch mittels Benutzer rock und root verwendbar (Lesen und Schreiben)! Das trifft nicht für den Hauptordner /mnt/nvme0n1 zu. Dieser kann in meinem Beispiel mit jedem Benutzer verwendet werden, wenn dort 777 verwendet wurde..

sudo nano /etc/samba/smb.conf

Folgendes trage ich am Ende dieser Datei ein:

[shared]
comment = Samba-RockPi-Freigabe
path = /mnt/nvme0n1/sharedfolders
browseable = yes
read only = no

Strg-x, y, Enter

Achtung! –> Das Freigabeverzeichnis für den Ordner /mnt/nvme0n1/sharedfolders lautet nun shared. Soll das Freigabeverzeichnis sichtbar für andere Kuchen heißen, muss die Zeile [shared] in [Kuchen] geändert werden!

sudo service smbd restart
sudo service nmbd restart

SMB-Passwort erstellen:

sudo smbpasswd -a rock

Optional: Deaktivieren des rock-Users für Samba-Zugriffs:

sudo smbpasswd -d rock

Optional: Re-Aktivieren des rock-Users für Samba-Zugriffs:

sudo smbpasswd -e rock

Die SMB-Freigabe kann nun verwendet werden und ich kann mittels Windows-Rechner darauf zugreifen (Bsp.: \\192.168.1.200\shared).

Am Ende ein obligatorisches:

sudo reboot

Quelle(n):

https://docs.docker.com/engine/install/debian/#install-using-the-convenience-script

Erstelle eine Website wie diese mit WordPress.com
Jetzt starten