Inhaltsverzeichnis
Oracle Linux 8 als Linux Betriebssystem für den Raspberry PI 4 als Workstation
Ziel: Ein Werkstatt Rechner für Dokumentation/Recherche im Netz & HiFi WebRadio mit Oracle Linus als Betriebssystem für ein Raspberry PI 4 Board mit 8GB Ram und einer 64 GB SD Karte und einem DAC für die Audio Ausgabe.
Warum Oracle Linux?
Für solche Aufgaben gibt es wohl einfachere Debian Varianten, die wohl sogar performanter und leichter zu installieren sind, spannend wird z.B. die Drucker Anbindung und das Sound Karten Device.
Allerdings arbeite ich fast ausschließlich mit Oracle Linux im Text Modus, da ist es eine gute Übung das auch mal mit einer graphischen Oberfläche zu nützen.
Initales Setup
Ablauf:
- Image Download von https://www.oracle.com/linux/downloads/linux-arm-downloads.html
- Datei rpi-ol8.3-image-20210106.img.xz mit 7zip Entpacken
- Flashen auf SD Karte
- Tastatur und Bildschirm anstecken
- SD Karte einstecken und Rechner starten
- Anmelden als „root“ und PWD oracle - gleich anpassen!
Geht …
Werden die 8GB auch untersützt?
Die erste spanndende Fragen ist ja ob die 8GB RAM auf dem Raspberry mit Oracle Linux 64 überhaupt unterstützt werden:
[root@rpi ~]# free total used free shared buff/cache available Mem: 7728768 382144 6548736 31296 797888 6314560 Swap: 262080 0 262080
Scheint auf den ersten Blick zu gehen!
Konfigurieren
Update
Erstmal ein Update:
#weitere Repos integrieren dnf install oracle-epel-release-el8.aarch64 dnf install oraclelinux-developer-release-el8.aarch64 dnf update
Sudo installieren
#prüfen ob schon da dnf list installed "*sudo*" #installieren dnf install sudo.aarch64
Persönlicher User anlegen
useradd gpipperr passwd gpipperr usermod -aG adm gpipperr su - gpipperr [gpipperr@rpi ~]$ whoami gpipperr [gpipperr@rpi ~]$ groups gpipperr adm
Sudo Rechte vergeben:
visudo # Aliase auskommentieren wie Cmnd_Alias # Eingeschränkte Rechte für die Admin Gruppe erlauben %adm ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS su - gpipperr # mit - l testen was erlaubt ist sudo -l
SD Partition vergrößern
Nach dem Boot ist die primäre Partition nur 3.3GB groß (wie im Image eben definiert). Um die 64GB SSD Karte zu nützen muss nun die Partition vergrößert und das Filesystem angepasst werden.
Dazu wird die Partition Tabelle im laufenden Betrieb neu geschrieben! Daten können also alle verloren gehen wenn man hier nicht aufpasst!
Ablauf:
- Partitionstabelle anzeigen lassen und merken!
- Partition mit der „Root“ Partition löschen
- Partition neu anlegen mit dem Original Startsektor von obiger Liste und Maximalen Endsektor auf der SD Karte
Wie sieht die Tabelle aus:
fdisk /dev/mmcblk1 Command (m for help): p Disk /dev/mmcblk1: 57.7 GiB, 61891149824 bytes, 120881152 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: 0xd42f217f Device Boot Start End Sectors Size Id Type /dev/mmcblk1p1 * 2048 264191 262144 128M 6 FAT16 /dev/mmcblk1p2 264192 788479 524288 256M 82 Linux swap / Solaris /dev/mmcblk1p3 788480 7604223 6815744 3.3G 83 Linux
Löschen:
Command (m for help): d Partition number (1-3, default 3): 3 Partition 3 has been deleted.
Neu anlegen, darauf achten die Signatur nicht zu löschen:
Command (m for help): n Partition type p primary (2 primary, 0 extended, 2 free) e extended (container for logical partitions) Select (default p): p Partition number (3,4, default 3): 3 First sector (788480-120881151, default 788480): 788480 Last sector, +sectors or +size{K,M,G,T,P} (788480-120881151, default 120881151): Created a new partition 3 of type 'Linux' and of size 57.3 GiB. Partition #3 contains a btrfs signature. Do you want to remove the signature? [Y]es/[N]o: N
Schreiben:
Command (m for help): w The partition table has been altered. Syncing disks.
Reboot und anzeigen lassen:
reboot fdisk /dev/mmcblk1 p Device Boot Start End Sectors Size Id Type /dev/mmcblk1p1 * 2048 264191 262144 128M 6 FAT16 /dev/mmcblk1p2 264192 788479 524288 256M 82 Linux swap / Solaris /dev/mmcblk1p3 788480 120881151 120092672 57.3G 83 Linux q df -h / /dev/mmcblk1p3 3.3G 2.2G 611M 79% /
Filesystem „/“ auf max erweitern mit:
btrfs filesystem resize max / Resize '/' of 'max' df -h / Filesystem Size Used Avail Use% Mounted on /dev/mmcblk1p3 58G 2.2G 55G 4% /
Gnome X Installieren und starten
Was haben wir unter Oracle Linux für „einfache“ Möglichkeiten das Ganze als Paket zu installieren?
Gruppen anzeigen lassen
dnf group list .. Available Environment Groups: Server with GUI ..
Interessanterweise ist „workstation“ nicht mit dabei.
Dann Enviroment installieren:
dnf groupinstall "Server with GUI" .. Install 916 Packages Total download size: 783 M Installed size: 2.3 G ..
Ca. 45 Minuten später sind die 916 Pakete installiert.
Im Grapischen Modus automatisch starten:
systemctl set-default graphical reboot
VNC Connect auf die X Oberfläche
siehe https://docs.oracle.com/en/learn/install-vnc-oracle-linux/index.html
X Config anpassen:
vi vi /etc/gdm/custom.con WaylandEnable=false
VNC installieren:
dnf install -y tigervnc-server tigervnc-server-module
VNC Password setzen
vncpasswd
VNC Konfigurieren:
vi /etc/tigervnc/vncserver.users :1=gpipperr vi /etc/tigervnc/vncserver-config-defaults session=gnome geometry=1280x1024
Service aktiveren:
systemctl daemon-reload systemctl enable --now vncserver@:1.service systemctl status vncserver@:1.service
Monitoring
nmon
Für das Monitoring nmon installieren ⇒ http://nmon.sourceforge.net/pmwiki.php
Hardware auslesen
Für das Auslesen der Hardware stellt Oracle Linux das Tool lm_sensor auch für die ARM Architektur zur Verfügung.
dnf search lm_sensors
..
lm_sensors.aarch64 : Hardware monitoring tools
lm_sensors-sensord.aarch64 : Daemon that periodically logs sensor readings
xsensors.aarch64 : An X11 interface to lm_sensors
..
dnf install lm_sensors.aarch64 lm_sensors-sensord.aarch64 xsensors.aarch64
Erkennen was das Board so bietet:
sensors-detect
...
Sorry, no sensors were detected
...
#
Schade, hier wird nichts erkannt , siehe dazu https://github.com/lm-sensors/lm-sensors/issues/30
Um nur die Temperatur auszulesen ⇒ https://www.cyberciti.biz/faq/linux-find-out-raspberry-pi-gpu-and-arm-cpu-temperature-command/
Quellen
Oracle
Raspberry
Web: