====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
Nach dem Reboot musste die IP Adresse neu konfiguriert werden, über die Oberfläche eine feste IP vergeben
----
----
==== 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
* https://docs.oracle.com/en/operating-systems/oracle-linux/8/
Raspberry
* https://www.raspberrypi.org/documentation/usage/gpio/
Web:
* https://www.dbarj.com.br/en/2018/06/installing-oracle-database-on-arm-small-single-board-computer/#section5
* https://raspberrypi.stackexchange.com/questions/499/how-can-i-resize-my-root-partition
* https://geraldonit.com/2019/10/19/how-to-resize-a-btrfs-root-partition-on-oracle-linux/