Step by Step Install Linux 8 (OEL) along with Guest Addition

In this article, we are going to perform step by step install Oracle Enterprise Linux 8.3 along with Oracle VM VirtualBox 6.1.22 install, configure require hardware, network, memory, etc. on VM, and enable guest edition.

To complete this demonstration, we will perform in the below four parts:

1. Install Oracle VM

2. Configure and install Linux 8
3. Enable guest addition
4. Post validations

1. Install Oracle VM

In this section, we will install Oracle VM VirtualBox 6.1.22 on a windows machine to fulfill Linux 8 installation. Click here to download Oracle VM VirtualBox and follow the below step for VirtualBox installation.

1.1. Download software Oracle VM VirtualBox:
Double click on executable (VirtualBox-6.1.22-144080-Win) file to start the installation.

1.2. Welcome page:
Click on Next.

1.3. Select the required features and click on Next.

1.4. Select all boxes and click on Next.

1.5. Click Yes for Network Interfaces.

1.6. Click on Install to begin the installation.

1.7. Monitor the progress of the installation.

1.8. Check the box to launch VM and click on Finish.

2. Configure and install Linux 8

In this section, we will create a new machine (VM) where we will configure require Hardware, Memory, Network, etc. to install Linux 8. Click here to download OEL ISO  image file. Foll0w the below steps and refer each image and marked in Green Border which are require attention for successful configuration/installation.

2.1. New Machine:
Click on tab Machine then New.

2.2. Name and operating system: Define machine name, select machine type and version of the operating system.

2.3. Memory size: Allocate requires memory.

2.4. Hard disk: Create virtual disk.
2.5. Hard disk file type: Select VirtualBox Disk Image.

2.6. Storage on physical hard disk: Dynamically allocated option will grow up to the size of the disk.

2.7. File location and size: Allocate requires disk size and the same size should be available on the specified location.
2.8. Configuration: Click on the setting button for remaining to require configuration.
2.9. General > Advanced: Select Bidirectional.

2.10. System > Motherboard: Select sequence of OS boot.

2.11. Click on System > Processor: Allocate processors subject available to a total processor on Windows.

2.12. Storage: Select require ISO image file under tab Optical Drive.

2.13.1. Network > Adaptor1: Set up adaptor 1.

2.13.2. Network > Adaptor2: Set up adaptor 2 then click on the button OK.

2.14. Review & start installation configuration: Review this screen and click on the Start button.

2.15. ISO file: Select correct start-up ISO image (same as selected in step and click on Start.

2.16. Automatic boot: Wait for the completion of the automatic boot.

2.17. Check the status: Wait for check completion and next screen prompt click on each parameter and do configuration as required.

2.18. Set Language.

2.19. Installation source: Choose Auto detector installation mode, optionally you may click on verify.

2.20. Installation destination: Select Automatic for storage configure partitioning with this option, Hard disk will be a partition with LVM (Logical Volume Manager) and formatted with xfs file system.

2.21. Keyboard layout.

2.22. Software selection: In base requirements select environment. For this installation, I opted Server with GUI and also select require additional software. If unsure about it then select all additional software for the selected environment.

2,23. KDUMP: We have disabled Kdump since it’s our LAB environment.

2.24. Time & date: Select Region, City, and timestamp format. After selection of required fields makes sure time & date reflected correctly as per the selected region.

2.25. Network and Hostname: In this section network card attached to the system will be visible. Enable NIC by clicking on ON Button and Enter Hostname (fully qualified) for the machine and click Apply button once both these changes is done click on the Configure button here we can define static IPs or DHCP option. For Static IP, we need to enter IP Address, Netmask, Gateway in the 6th TAB IPv4 Setting. Here we are using the DHCP option. Follow the below images for network configuration:

To configure network enp0s3:

To configure network enp0s8: Repeat the same step for network enp0s8 same as above enp0s3, after completion click on Done.

2.26. Security Policy:
Apply security policy ON.

2.27. Root password: Set root password.

2.28. Create User: Create a user and the same user can be made/add as administrator. 

2.29. Begin Installation: Once complete all configuration click on the button Begin Installation to start Linux 8.3 installation.

2.30. Monitor the progress.

2.31. Reboot System: Once installation complete, click on Reboot System.

2.32. Oracle Linux License Agreement: Accept the license and click on Done.

2.33. Initial Setup: Click on License Information then FINISH CONFIGURATION.

2.34. Login: Validate login with any one of the user, here we are using DBsGuru.

2.35. Gnome Initial Setup: This setup is required for each user whenever login first time. On the Welcome screen select preferred language.

2.36. Typing: Select typing language.

2.37. Privacy: Make it ON.

2.38. Ready to Go: Click on Start Using Oracle Linux Server.

3. Enable guest addition

To enable guest addition on OS is one more way for better performance along with copy & paste text, enable shared folder between guest to host vice versa, release the cursor, etc.

3.1 Enable Guest Addition:
Click on Device > Insert Guest Addition CD image.

3.2. Click on Run.

3.3. Authenticate: Provide root password.

As you can see, guest addition failed due to a mismatch of kernel-release. To resolve this issue, we will follow a workaround.

3.4 Workaround: 

3.4.1. Install/upgrade correct gcc and make.

[root@DBsGuruN3 VBox_GAs_6.1.22]# yum -y install gcc make
Last metadata expiration check: 0:33:40 ago on Mon 10 May 2021 06:26:56 PM IST.
Package gcc-8.3.1- is already installed.
Package make-1:4.2.1-10.el8.x86_64 is already installed.
Dependencies resolved.
 Package                                            Architecture                              Version                                              Repository                                            Size
 cpp                                                x86_64                                    8.3.1-                                    ol8_appstream                                         10 M
 gcc                                                x86_64                                    8.3.1-                                    ol8_appstream                                         23 M
 gcc-c++                                            x86_64                                    8.3.1-                                    ol8_appstream                                         12 M
 gcc-gdb-plugin                                     x86_64                                    8.3.1-                                    ol8_appstream                                        124 k
 libgcc                                             x86_64                                    8.3.1-                                    ol8_baseos_latest                                     85 k
 libgomp                                            x86_64                                    8.3.1-                                    ol8_baseos_latest                                    211 k
 libstdc++                                          x86_64                                    8.3.1-                                    ol8_baseos_latest                                    458 k
 libstdc++-devel                                    x86_64                                    8.3.1-                                    ol8_appstream                                        2.1 M

Transaction Summary
Upgrade  8 Packages

Total download size: 49 M
Downloading Packages:
(1/8): libgcc-8.3.1-                                                                                                                                    649 kB/s |  85 kB     00:00
(2/8): libstdc++-8.3.1-                                                                                                                                 3.1 MB/s | 458 kB     00:00
(3/8): libgomp-8.3.1-                                                                                                                                   1.3 MB/s | 211 kB     00:00
(4/8): gcc-gdb-plugin-8.3.1-                                                                                                                             82 kB/s | 124 kB     00:01
(5/8): libstdc++-devel-8.3.1-                                                                                                                           2.0 MB/s | 2.1 MB     00:01
(6/8): cpp-8.3.1-                                                                                                                                       2.0 MB/s |  10 MB     00:05
(7/8): gcc-c++-8.3.1-                                                                                                                                   1.6 MB/s |  12 MB     00:07
(8/8): gcc-8.3.1-                                                                                                                                       2.8 MB/s |  23 MB     00:08
Total                                                                                                                                                                         5.7 MB/s |  49 MB     00:08
warning: /var/cache/dnf/ol8_baseos_latest-e4c6155830ad002c/packages/libstdc++-8.3.1- Header V3 RSA/SHA256 Signature, key ID ad986da3: NOKEY
Oracle Linux 8 BaseOS Latest (x86_64)                                                                                                                                         3.0 MB/s | 3.1 kB     00:00
Importing GPG key 0xAD986DA3:
 Userid     : "Oracle OSS group (Open Source Software group) <build@oss.oracle.com>"
 Fingerprint: 76FD 3DB1 3AB6 7410 B89D B10E 8256 2EA9 AD98 6DA3
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                      1/1
  Upgrading        : libgcc-8.3.1-                                                                                                                                                     1/16
  Running scriptlet: libgcc-8.3.1-                                                                                                                                                     1/16
  Upgrading        : libstdc++-8.3.1-                                                                                                                                                  2/16
  Running scriptlet: libstdc++-8.3.1-                                                                                                                                                  2/16
  Upgrading        : libstdc++-devel-8.3.1-                                                                                                                                            3/16
  Upgrading        : cpp-8.3.1-                                                                                                                                                        4/16
  Running scriptlet: cpp-8.3.1-                                                                                                                                                        4/16
  Upgrading        : libgomp-8.3.1-                                                                                                                                                    5/16
  Running scriptlet: libgomp-8.3.1-                                                                                                                                                    5/16
  Upgrading        : gcc-8.3.1-                                                                                                                                                        6/16
  Running scriptlet: gcc-8.3.1-                                                                                                                                                        6/16
  Upgrading        : gcc-c++-8.3.1-                                                                                                                                                    7/16
  Upgrading        : gcc-gdb-plugin-8.3.1-                                                                                                                                             8/16
  Running scriptlet: gcc-gdb-plugin-8.3.1-                                                                                                                                             8/16
  Cleanup          : gcc-gdb-plugin-8.3.1-                                                                                                                                             9/16
  Running scriptlet: gcc-gdb-plugin-8.3.1-                                                                                                                                             9/16
  Cleanup          : gcc-c++-8.3.1-                                                                                                                                                   10/16
  Cleanup          : libstdc++-devel-8.3.1-                                                                                                                                           11/16
  Cleanup          : libstdc++-8.3.1-                                                                                                                                                 12/16
  Running scriptlet: libstdc++-8.3.1-                                                                                                                                                 12/16
  Running scriptlet: gcc-8.3.1-                                                                                                                                                       13/16
  Cleanup          : gcc-8.3.1-                                                                                                                                                       13/16
  Running scriptlet: cpp-8.3.1-                                                                                                                                                       14/16
  Cleanup          : cpp-8.3.1-                                                                                                                                                       14/16
  Cleanup          : libgcc-8.3.1-                                                                                                                                                    15/16
  Running scriptlet: libgcc-8.3.1-                                                                                                                                                    15/16
  Running scriptlet: libgomp-8.3.1-                                                                                                                                                   16/16
  Cleanup          : libgomp-8.3.1-                                                                                                                                                   16/16
  Running scriptlet: libgomp-8.3.1-                                                                                                                                                   16/16
  Verifying        : libstdc++-8.3.1-                                                                                                                                                  1/16
  Verifying        : libstdc++-8.3.1-                                                                                                                                                  2/16
  Verifying        : libgomp-8.3.1-                                                                                                                                                    3/16
  Verifying        : libgomp-8.3.1-                                                                                                                                                    4/16
  Verifying        : libgcc-8.3.1-                                                                                                                                                     5/16
  Verifying        : libgcc-8.3.1-                                                                                                                                                     6/16
  Verifying        : gcc-c++-8.3.1-                                                                                                                                                    7/16
  Verifying        : gcc-c++-8.3.1-                                                                                                                                                    8/16
  Verifying        : gcc-gdb-plugin-8.3.1-                                                                                                                                             9/16
  Verifying        : gcc-gdb-plugin-8.3.1-                                                                                                                                            10/16
  Verifying        : gcc-8.3.1-                                                                                                                                                       11/16
  Verifying        : gcc-8.3.1-                                                                                                                                                       12/16
  Verifying        : libstdc++-devel-8.3.1-                                                                                                                                           13/16
  Verifying        : libstdc++-devel-8.3.1-                                                                                                                                           14/16
  Verifying        : cpp-8.3.1-                                                                                                                                                       15/16
  Verifying        : cpp-8.3.1-                                                                                                                                                       16/16

  cpp-8.3.1-         gcc-8.3.1-           gcc-c++-8.3.1-             gcc-gdb-plugin-8.3.1-     libgcc-8.3.1-
  libgomp-8.3.1-     libstdc++-8.3.1-     libstdc++-devel-8.3.1-


3.4.2. Upgrade/install devl packages.

[root@DBsGuruN3 VBox_GAs_6.1.22]# yum -y install kernel-uek-devel-`uname -r`
Last metadata expiration check: 0:34:19 ago on Mon 10 May 2021 06:26:56 PM IST.
Dependencies resolved.
 Package                                           Architecture                            Version                                                   Repository                                          Size
 kernel-uek-devel                                  x86_64                                  5.4.17-2011.7.4.el8uek                                    ol8_UEKR6                                           17 M
Installing dependencies:
 binutils-devel                                    x86_64                                  2.30-79.0.1.el8                                           ol8_appstream                                      1.1 M
 zlib-devel                                        x86_64                                  1.2.11-16.el8_2                                           ol8_baseos_latest                                   57 k

Transaction Summary
Install  3 Packages

Total download size: 18 M
Installed size: 80 M
Downloading Packages:
(1/3): zlib-devel-1.2.11-16.el8_2.x86_64.rpm                                                                                                                                  825 kB/s |  57 kB     00:00
(2/3): binutils-devel-2.30-79.0.1.el8.x86_64.rpm                                                                                                                              2.7 MB/s | 1.1 MB     00:00
(3/3): kernel-uek-devel-5.4.17-2011.7.4.el8uek.x86_64.rpm                                                                                                                     4.8 MB/s |  17 MB     00:03
Total                                                                                                                                                                         5.2 MB/s |  18 MB     00:03
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                      1/1
  Installing       : zlib-devel-1.2.11-16.el8_2.x86_64                                                                                                                                                    1/3
  Installing       : binutils-devel-2.30-79.0.1.el8.x86_64                                                                                                                                                2/3
  Installing       : kernel-uek-devel-5.4.17-2011.7.4.el8uek.x86_64                                                                                                                                       3/3
  Running scriptlet: kernel-uek-devel-5.4.17-2011.7.4.el8uek.x86_64                                                                                                                                       3/3
  Verifying        : zlib-devel-1.2.11-16.el8_2.x86_64                                                                                                                                                    1/3
  Verifying        : binutils-devel-2.30-79.0.1.el8.x86_64                                                                                                                                                2/3
  Verifying        : kernel-uek-devel-5.4.17-2011.7.4.el8uek.x86_64                                                                                                                                       3/3

  binutils-devel-2.30-79.0.1.el8.x86_64                             kernel-uek-devel-5.4.17-2011.7.4.el8uek.x86_64                             zlib-devel-1.2.11-16.el8_2.x86_64


NOTE: Workaround depends on error to error.

3.4.3. After completion of above two steps successful, install guest addition.

[root@DBsGuruN3 VBox_GAs_6.1.22]# ./VBoxLinuxAdditions.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 6.1.22 Guest Additions for Linux........
VirtualBox Guest Additions installer
Removing installed version 6.1.22 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel
modules.  This may take a while.
VirtualBox Guest Additions: To build modules for other installed kernels, run
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup <version>
VirtualBox Guest Additions: or
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup all
VirtualBox Guest Additions: Building the modules for kernel
ValueError: File context for /opt/VBoxGuestAdditions-6.1.22/other/mount.vboxsf already defined

3.4.4. To take effect of guest addition reboot the machine.

[root@DBsGuruN3 VBox_GAs_6.1.22]# reboot

3.4.5. Validate status of vbox.

[root@DBsGuruN3 ~]# ps -eaf | grep vbox
root        2838       1  0 19:08 ?        00:00:00 /usr/sbin/VBoxService --pidfile /var/run/vboxadd-service.sh
root        4233    4176  0 19:09 pts/0    00:00:00 grep --color=auto vbox
[root@DBsGuruN3 ~]# lsmod | grep -io vboxguest
[root@DBsGuruN3 ~]# modinfo vboxguest
filename:       /lib/modules/5.4.17-2011.7.4.el8uek.x86_64/misc/vboxguest.ko
version:        6.1.22 r144080
license:        GPL
description:    Oracle VM VirtualBox Guest Additions for Linux Module
author:         Oracle Corporation
srcversion:     C765B996E302A573430B45C
alias:          pci:v000080EEd0000CAFEsv00000000sd00000000bc*sc*i*
retpoline:      Y
name:           vboxguest
vermagic:       5.4.17-2011.7.4.el8uek.x86_64 SMP mod_unload modversions

4. Post validations

Congratulations! The machine is ready to use. We will perform basic validation after successful installation.

4.1 Release and kernel validation.

[root@DBsGuruN3 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.3 (Ootpa)
[root@DBsGuruN3 ~]# cat /etc/oracle-release
Oracle Linux Server release 8.3
[root@DBsGuruN3 ~]# uname -a
Linux DBsGuruN3.labdomain 5.4.17-2011.7.4.el8uek.x86_64 #2 SMP Fri Oct 2 14:39:04 PDT 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@DBsGuruN3 ~]# hostname

4.2. Network validation.

[root@DBsGuruN3 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:c2:4e:51 brd ff:ff:ff:ff:ff:ff
    inet brd scope global dynamic noprefixroute enp0s3
       valid_lft 416sec preferred_lft 416sec
    inet6 fe80::bd68:a0af:2020:d7b7/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:20:ac:a1 brd ff:ff:ff:ff:ff:ff
    inet brd scope global dynamic noprefixroute enp0s8
       valid_lft 83515sec preferred_lft 83515sec
    inet6 fe80::191b:9974:6ae9:3eaf/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:e5:5c:9c brd ff:ff:ff:ff:ff:ff
    inet brd scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:e5:5c:9c brd ff:ff:ff:ff:ff:ff
[root@DBsGuruN3 ~]# ping -c 5 dbsguru.com
PING dbsguru.com ( 56(84) bytes of data.
64 bytes from kolkata.viewen.com ( icmp_seq=1 ttl=51 time=295 ms
64 bytes from kolkata.viewen.com ( icmp_seq=2 ttl=51 time=294 ms
64 bytes from kolkata.viewen.com ( icmp_seq=3 ttl=51 time=295 ms
64 bytes from kolkata.viewen.com ( icmp_seq=4 ttl=51 time=295 ms
64 bytes from kolkata.viewen.com ( icmp_seq=5 ttl=50 time=290 ms

--- dbsguru.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 20ms
rtt min/avg/max/mdev = 289.036/289.336/289.574/0.628 ms

4.3 Directory & partition validation: While installation we allocated 500GB harddisk with an auto partition which is divided into 3 partitions, one is used as the root partition, the second is used as /home, and the third used as a boot partition. The root partition is using LVM.

[root@DBsGuruN3 ~]# df -hT
Filesystem          Type      Size  Used Avail Use% Mounted on
devtmpfs            devtmpfs  2.9G     0  2.9G   0% /dev
tmpfs               tmpfs     2.9G     0  2.9G   0% /dev/shm
tmpfs               tmpfs     2.9G  9.5M  2.9G   1% /run
tmpfs               tmpfs     2.9G     0  2.9G   0% /sys/fs/cgroup
/dev/mapper/ol-root xfs        70G  7.4G   63G  11% /
/dev/mapper/ol-home xfs       423G  3.0G  420G   1% /home
/dev/sda1           xfs      1014M  286M  729M  29% /boot
tmpfs               tmpfs     594M  1.2M  593M   1% /run/user/42
tmpfs               tmpfs     594M  4.6M  590M   1% /run/user/0
/dev/sr0            iso9660    59M   59M     0 100% /run/media/root/VBox_GAs_6.1.22
[root@DBsGuruN3 ~]# pvs
  PV         VG Fmt  Attr PSize    PFree
  /dev/sda2  ol lvm2 a--  <499.00g    0
[root@DBsGuruN3 ~]# lvs
  LV   VG Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home ol -wi-ao---- <423.07g
  root ol -wi-ao----   70.00g
  swap ol -wi-ao----   <5.93g
[root@DBsGuruN3 ~]# fdisk -l /dev/sda
Disk /dev/sda: 500 GiB, 536870912000 bytes, 1048576000 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

Click here to know more about Step by Step Oracle 12cR2 Binary Installation and Database Creation On Linux
Click here to know about Oracle Database 19c RPM Installation On Oracle Linux 7

This document is just for learning purposes and always validate in the LAB environment first before applying in the LIVE environment.

Hope so you like this article
Please share your valuable feedback/comments/subscribe and follow us below and don’t forget to click on the bell icon to get the most recent update. Click here to understand more about our pursuit.


Related Articles


How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?


Hello and welcome to DBsGuru,DBsGuru is a group of experienced DBA professionals and serves databases and their related community by providing technical blogs, projects, training. Technical blogs are the source of vast information not about databases but its related product like middleware, PL/SQL, replication methodology, and so on.Thanks for the visits!Share Learn Grow!