Softdrive Oracle Linux 8 Manual Setup Guide
This guide provides step-by-step instructions for manually configuring an Oracle Linux 8 system to be used as a golden image/template in Softdrive. Typically, this would be done using automation tools such as Packer and Kickstart instead of manually entering commands and configuration, but what is provided here demonstrates how to configure an OL8 image for use in Softdrive.
System Requirements
- Oracle Linux 8 Update 10 (OL8 U10) installed
- ISO: OracleLinux-R8-U10-x86_64-boot.iso
- https://yum.oracle.com/ISOS/OracleLinux/OL8/u10/x86_64/
- Root or sudo access
- Internet connectivity
- Ability to create a virtual machine locally to create the image
- Such as by using qemu or similar virtualization tools
Downloading the Oracle Linux 8 ISO
Using wget
wget https://yum.oracle.com/ISOS/OracleLinux/OL8/u10/x86_64/OracleLinux-R8-U10-x86_64-boot.iso
Create a Local Virtual Machine
Using the ISO, create a virtual machine, for example using qemu, and boot from that ISO. Then follow the rest of the instructions to configure the image. This guide does not detail this step.
Initial System Configuration
1. Set System Timezone
timedatectl set-timezone <Desired Timezone>
2. Configure Network
# Enable DHCP on primary interface nmcli con mod eth0 ipv4.method dhcp nmcli con up eth0
3. Set Hostname
hostnamectl set-hostname <Desired Host Name>
User Configuration
Create Administrative User
# Create user with wheel group access useradd -m -G wheel -s /bin/bash <Desired User> # Lock root password for security passwd -l root
Package Installation
1. Install Base Package Groups
# Install base system packages dnf groupinstall -y "Base" dnf groupinstall -y "Workstation" dnf groupinstall -y "Development Tools"
2. Install Required Repositories
# Install EPEL repository dnf install -y epel-release
3. Install System Utilities
dnf install -y \
qemu-guest-agent \ curl \ gcc \ kernel-devel \ kernel-headers \ make \ sudo
4. Install Graphics and Display Libraries
dnf install -y \ libX11 \ libXtst \ libXfixes \ mesa-libGL-devel \ fontconfig \ xorg-x11-drv-dummy \ cups \ dkms \ libva \ xorg-x11-util-macros \ xorg-x11-proto-devel
5. Install Development Tools
dnf install -y \ git \ autoconf \ automake \ libtool \ pkgconfig
6. Install Display Manager
dnf install -y \ lightdm \ lightdm-gtk
System Configuration
1. Configure QEMU Guest Agent
# Enable RPC in qemu-guest-agent sed -i "s/\(BLACKLIST_RPC.*\)/# \1/g" /etc/sysconfig/qemu-ga
2. Set Graphical Boot Target
systemctl set-default graphical.target
3. Configure Kernel
# Set default kernel to kernel-core sed -i "s/DEFAULTKERNEL=.*/DEFAULTKERNEL=kernel-core/g" /etc/sysconfig/kernel
4. Build and Install xf86-video-dummy Driver
# Clone and build the dummy video driver git clone https://gitlab.freedesktop.org/xorg/driver/xf86-video-dummy.git /tmp/xf86-video-dummy cd /tmp/xf86-video-dummy git checkout xf86-video-dummy-0.4.1 ./autogen.sh ./configure --prefix=/usr make -j4 sudo make install
5. Disable Nouveau Driver
# Blacklist nouveau driver echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
6. Disable Wayland
# Disable Wayland in GDM sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm/custom.conf # Move Wayland sessions mkdir -p /usr/share/wayland-sessions.disabled/ mv /usr/share/wayland-sessions/* /usr/share/wayland-sessions.disabled/
7. Disable UEK Kernel
# Disable Oracle UEK kernel repository dnf config-manager --disable ol8_UEKR7 # Remove UEK kernel packages dnf remove kernel-uek* -y
8. System Update
# Perform full system upgrade dnf upgrade -y
OPTIONAL: Firewall Configuration
# Enable firewall systemctl enable firewalld systemctl start firewalld
SELinux Configuration
The system is configured to run in permissive mode. To verify:
getenforce To set SELinux to permissive mode: setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
Final Steps
- Shut down the virtual machine.
- Convert the image, if necessary to qcow format.
- Upload the image file to Softdrive via the softnet web interface.