Kickstart for rocky-8-xfce-fc+elrepo.iso

Purpose of .iso

The .iso has value in providing an advanced base on which to install nvidia-304xx drivers for a
Rocky-8 installation requiring them. From it, the only additional procedural steps are related
to the RPMFusion-related modules required, as described in the post,
Installation of nvidia-304xx drivers on Rocky8.5

Development Platform

The test machine was a HP Pavilion Media Center m8247C with SATA disk controllers and
nvidia graphics card.

The development installation was a rocky-8-xfce-elrepo.iso produced by livecd-creator using nasunalika’s file, rocky-8-xfce-elrepo.ks, as described in the post,

The freshly-installed .iso requires the following
initial post-installation steps:
-login as root → into the root directory, sudo cp -p /etc/os-release ./ then reboot
and login as ordinary user.
-local install Fedora-RPM-GPG-KEYS.fc29.noarch.rpm, and then in /etc/pki/rpm-gpg,
rpm --import the fc29 and fc27 x86_64 keys.
-sudo yum group install ‘RPM Development Tools’.
-sudo yum install livecd-tools.
-sudo yum install brasero (xfburn is not available; use brasero instead).


Creation of local repos

The local repos were installed on a mountable CD. They were initially configured in individual
sub-directories on the hard drive. Into a subdirectory Fedora29, the fc29 kernel modules were
entered, and the sudo createrepo ~/Fedora29 command was run to produce the repodata directory
in Fedora29. Similarly, into a subdirectory Fedora27, the fc27 graphics modules were entered, and
the sudo createrepo ~/Fedora27 command was run to produce the repodata directory in Fedora27.

To place these subdirectories on a CD, the new data composition option of brasero was used.
NB: The default label used by brasero contains blanks which is not acceptable in a repo
baseurl. The contiguous label, Fedora29+27 was used.

The contents of the Fedora29 repo are:

kernel-4.18.16-300.fc29.x86_64.rpm
kernel-core-4.18.16-300.fc29.x86_64.rpm
kernel-cross-headers-4.18.16-300.fc29.x86_64.rpm
kernel-devel-4.18.16-300.fc29.x86_64.rpm
kernel-headers-4.18.16-300.fc29.x86_64.rpm
kernel-modules-4.18.16-300.fc29.x86_64.rpm
kernel-modules-extra-4.18.16-300.fc29.x86_64.rpm
kernel-tools-4.18.10-300.fc29.x86_64.rpm
kernel-tools-libs-4.18.10-300.fc29.x86_64.rpm
kernel-tools-libs-devel-4.18.10-300.fc29.x86_64.rpm
repodata

The contents of the Fedora27 repo are:

repodata
xorg-x11-drv-ati-7.9.0-3.fc27.x86_64.rpm
xorg-x11-drv-evdev-2.10.5-4.fc27.x86_64.rpm
xorg-x11-drv-fbdev-0.4.3-28.fc27.x86_64.rpm
xorg-x11-drv-intel-2.99.917-30.20160929.fc27.x86_64.rpm
xorg-x11-drv-libinput-0.26.0-1.fc27.x86_64.rpm
xorg-x11-drv-nouveau-1.0.15-3.fc27.x86_64.rpm
xorg-x11-drv-qxl-0.1.5-5.fc27.x86_64.rpm
xorg-x11-drv-vesa-2.3.2-28.fc27.x86_64.rpm
xorg-x11-drv-vmware-13.2.1-4.fc27.x86_64.rpm
xorg-x11-drv-wacom-0.35.0-3.fc27.x86_64.rpm
xorg-x11-server-common-1.19.6-7.fc27.x86_64.rpm
xorg-x11-server-Xorg-1.19.6-7.fc27.x86_64.rpm

Local .repo files added to /etc/yum.repos.d directory on development system:

-Fedora29-media.repo with the contents:

[Fedora29-media]
name=Fedora29-media repo
baseurl=file:///run/media/user/Fedora29+27/Fedora29
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-29-x86_64

-Fedora27-media.repo with the contents:

[Fedora27-media]
name=Fedora27-media repo
baseurl=file:///run/media/user/Fedora29+27/Fedora27
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-27-x86_64


Modifications/additions to rocky-8-xfce-elrepo.ks to create
rocky-8-xfce-fc+elrepo.ks:

The repo definition section at the start of the .ks shows the adjustments:

Use network installation

url --url https://download.rockylinux.org/stg/rocky/8/BaseOS/$basearch/os/
repo --name=“BaseOS” --baseurl=http://dl.rockylinux.org/pub/rocky/8.7/BaseOS/$basearch/os/ --excludepkgs=kernel-cross-headers --cost=200
repo --name=“AppStream” --baseurl=http://dl.rockylinux.org/pub/rocky/8.7/AppStream/$basearch/os/ --excludepkgs=xorg-x11-drv*,xorg-x11-server-Xorg,xorg-x11-server-common --cost=200
repo --name=“PowerTools” --baseurl=http://dl.rockylinux.org/pub/rocky/8.7/PowerTools/$basearch/os/ --excludepkgs=kernel-tools-libs-devel --cost=200
repo --name=“extras” --baseurl=http://dl.rockylinux.org/pub/rocky/8.7/extras/$basearch/os --cost=200
repo --name=“epel” --baseurl=https://dl.fedoraproject.org/pub/epel/8/Everything/$basearch/ --cost=200
repo --name=“epel-modular” --baseurl=https://dl.fedoraproject.org/pub/epel/8/Modular/$basearch/ --cost=200

elrepo repository - required for kmods

repo --name=“elrepo” --baseurl=https://elrepo.org/linux/elrepo/el8/$basearch/ --cost=200

Fedora29-media repository - provides fc29 kernel packages

repo --name=“Fedora29-media” --baseurl=file:///run/media/user/Fedora29+27/Fedora29/ --cost=200

Fedora27-media repository - provides fc27 graphics packages

repo --name=“Fedora27-media” --baseurl=file:///run/media/user/Fedora29+27/Fedora27/ --cost=200


In this excerpt from the %packages section of the .ks, changes are bracketed by a
comment # line before and after the package change:

anaconda-live

xfburn not available; use brasero instead

brasero

chkconfig
dracut-live
epel-release
f32-backgrounds-extras-xfce
f32-backgrounds-xfce
firefox
firewall-config
geany
glibc-all-langpacks
gparted

2 additional packages to base-x

initial-setup-gui
spice-vdagent

initscripts
kernel
kernel-modules
kernel-modules-extra

explicitly include optional packages

kernel-devel
kernel-cross-headers

memtest86+
mousepad


A %post section was added at the end of the .ks file:

-xsane-gimp

elrepo packages

elrepo-release
kmod-sata_nv
kmod-forcedeth

%end

%post

yum install -y file:///run/media/user/Fedora29+27/Fedora29/kernel*.rpm
yum install -y file:///run/media/user/Fedora29+27/Fedora27/xorg-x11-*.rpm

%end


With the local repo CD mounted, and the .ks file in place in /usr/share/doc/livecd-tools,

sudo livecd-creator --config=/usr/share/doc/livecd-tools/rocky-8-xfce-fc+elrepo.ks

started the process, which ran for 54 minutes.

The resultant .iso was installed on a Compaq Presario with SATA disk controllers and
nvidia graphics card, and the required additions to install nvidia-304xx drivers were
successful.

Len E.

Problem

It’s been belatedly identified that with the completion of the installation of the nvidia-304xx
drivers, whereas the installed system boots up fine for the regular user, the graphics won’t
come up when logging in as root. This difficulty is caused by the fact that, although the
compositor was disabled for the ordinary user during installation, it was not disabled at any
point while being logged in as root. Fortunately, this situation can be fixed by editing a file
in the root directory tree.

Solution

-login in text mode as root by appending a blank-3 to grub boot command line
-go to directory /root/.config/xfce4/xfconf/xfce-perchannel-xml
-edit the file xfwm4.xml, sudo nano xfwm4.xml
-change the value of the “use-compositing” parameter from “true” to “false”
-sudo reboot

After reboot, login as root should proceed normally.


Len E.

You should never be logging in to X as root under any circumstances. The root account has unfettered access to the system and running any type of X program can expose the system to security bugs within those programs or X itself. You are creating an unnecessary security risk to your system doing so.

Hi nazunallika:

Thank you for the prescriptive warning !

The only genuine need I’ve recently had for root access is to examine the anaconda-ks.cfg file in the
/root directory, and a command line login is sufficient for that.

Len E.