====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/