diff --git a/documentation/INSTALL_RHEL9.md b/documentation/INSTALL_RHEL9.md new file mode 100644 index 0000000..8fdbc20 --- /dev/null +++ b/documentation/INSTALL_RHEL9.md @@ -0,0 +1,194 @@ +# Installation on RHEL 9 + +## Pre-requisites + +RHEL 9 pre-requisites : + +- RHEL 9 is installed +- The Red Hat repositories **baseos** and **appstream** are reachable + +Microshift pre-requisites : + +- RHEL 9.2 or 9.3 +- LVM volume group (VG) with unused space + +## Install Pre-requisites + +```sh +sudo subscription-manager register --username $RHN_LOGIN --auto-attach +sudo subscription-manager attach --pool=$RHN_POOL_ID +sudo dnf install -y osbuild-composer composer-cli cockpit-composer +sudo systemctl enable --now osbuild-composer.socket +sudo systemctl enable --now cockpit.socket +sudo systemctl restart osbuild-composer +sudo usermod -a -G weldr nmasse +``` + +Check that **os-composer** is working. + +``` +$ source /etc/bash_completion.d/composer-cli +$ composer-cli status show +API server status: + Database version: 0 + Database supported: true + Schema version: 0 + API version: 1 + Backend: osbuild-composer + Build: NEVRA:osbuild-composer-88.3-1.el9_3.x86_64 + +$ composer-cli sources list +appstream +baseos +``` + +## Clone this repository + +```sh +git clone https://github.com/nmasse-itix/red-hat-kiosk.git +cd red-hat-kiosk +export GIT_REPO_CLONE="$PWD" +``` + +## Nginx configuration + +```sh +sudo dnf install -y nginx +sudo systemctl enable --now nginx.service +sudo firewall-cmd --permanent --add-port={80/tcp,443/tcp} +sudo firewall-cmd --reload +sudo mkdir -p /var/www +sudo restorecon -Rv /var/www +sudo sed -i.bak 's|/usr/share/nginx/html|/var/www|g' /etc/nginx/nginx.conf +sudo systemctl restart nginx.service +``` + +## Rebuild of Google Chrome + +```sh +sudo dnf install -y git rpm-build +sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +sudo dnf install -y rpmrebuild +cd "$GIT_REPO_CLONE/chrome_repackage" +curl -s -Lo google-chrome-stable_current_x86_64.rpm https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm +rpmrebuild -s google-chrome-stable.spec -p google-chrome-stable_current_x86_64.rpm +rpm2cpio google-chrome-stable_current_x86_64.rpm | cpio -idmv +mv opt/google/ usr/bin/ +cd usr/bin/ +rm -f google-chrome-stable +ln -s google/chrome/google-chrome google-chrome-stable +ln -s google/chrome/google-chrome chrome +cd ../.. +RPM=$(rpm -q google-chrome-stable_current_x86_64.rpm) +mkdir -p $HOME/rpmbuild/BUILDROOT/$RPM/ +for i in etc usr; do cp -r $i $HOME/rpmbuild/BUILDROOT/$RPM/; done +sed -i.bak 's|/opt/google|/usr/bin/google|g' google-chrome-stable.spec +rpmbuild -bb google-chrome-stable.spec +ls -l $HOME/rpmbuild/RPMS/x86_64/ +``` + +## Repository Creation + +```sh +export REPO_LOCATION="/opt/custom-rpms/" +sudo dnf install -y createrepo +sudo mkdir -p "$REPO_LOCATION" +sudo cp $HOME/rpmbuild/RPMS/x86_64/* "$REPO_LOCATION" +sudo createrepo "$REPO_LOCATION" +sudo tee /etc/yum.repos.d/custom.repo <