Skip to main content
Redhat Developers  Logo
  • Products

    Featured

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat OpenShift AI
      Red Hat OpenShift AI
    • Red Hat Enterprise Linux AI
      Linux icon inside of a brain
    • Image mode for Red Hat Enterprise Linux
      RHEL image mode
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • Red Hat Developer Hub
      Developer Hub
    • View All Red Hat Products
    • Linux

      • Red Hat Enterprise Linux
      • Image mode for Red Hat Enterprise Linux
      • Red Hat Universal Base Images (UBI)
    • Java runtimes & frameworks

      • JBoss Enterprise Application Platform
      • Red Hat build of OpenJDK
    • Kubernetes

      • Red Hat OpenShift
      • Microsoft Azure Red Hat OpenShift
      • Red Hat OpenShift Virtualization
      • Red Hat OpenShift Lightspeed
    • Integration & App Connectivity

      • Red Hat Build of Apache Camel
      • Red Hat Service Interconnect
      • Red Hat Connectivity Link
    • AI/ML

      • Red Hat OpenShift AI
      • Red Hat Enterprise Linux AI
    • Automation

      • Red Hat Ansible Automation Platform
      • Red Hat Ansible Lightspeed
    • Developer tools

      • Red Hat Trusted Software Supply Chain
      • Podman Desktop
      • Red Hat OpenShift Dev Spaces
    • Developer Sandbox

      Developer Sandbox
      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Secure Development & Architectures

      • Security
      • Secure coding
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
      • View All Technologies
    • Start exploring in the Developer Sandbox for free

      sandbox graphic
      Try Red Hat's products and technologies without setup or configuration.
    • Try at no cost
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • Java
      Java icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • API Catalog
    • Product Documentation
    • Legacy Documentation
    • Red Hat Learning

      Learning image
      Boost your technical skills to expert-level with the help of interactive lessons offered by various Red Hat Learning programs.
    • Explore Red Hat Learning
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

RHEL 8 VirtualBox Quick Install

May 7, 2019
Mike Guerette
Related topics:
ContainersLinuxSecurity
Related products:
Red Hat Enterprise Linux

Share:

     

    Overview

    This overview covers the key steps for installing Red Hat Enterprise Linux 8 so you can get started with software development.

    This tutorial does not replace the Red Hat Enterprise Linux 8 Installation Guide.  Instead, this tutorial provides an overview of the key steps for software developers. For detailed instructions, see the RHEL 8 documentation.

    You’ll install a system with a full graphical desktop that you can use for exploring RHEL 8. Unlike prior versions of RHEL 8, there are no separate downloads for server, workstation, or desktop.

    Before you begin

    To follow the steps in this guide you will need:

    1. A no-cost Red Hat Developer subscription and the RHEL 8 Binary DVD .iso file. When you register and download through developers.redhat.com, a subscription will be automatically added to your account. 
    2. Your Red Hat username and password. Your account was created during step one. You will need this to register the system attach it to your subscription. Completing these steps are required for your system to download software from Red Hat.
    3. A system that meets the following requirements:
      • A 64-bit x86 machine with with hardware virtualization assistance (Intel VT-X or AMD-V).  
      • At least 4 GB of RAM.
      • At least 28 GB of available disk space for the VM and the .iso file.
      • Has VirtualBox installed.

    Notes:

    • Hardware virtualization needs to be enabled in the BIOS/UEFI setup for your system.
    • On Windows it may be necessary to disable Hyper-V in order to avoid conflicts with VirtualBox.

    Create the VM

    In VirtualBox, create a new VM with the following criteria::

    • 2 GB of RAM at a minimum. 4 GB or larger is recommended.
    • A 20 GB or larger virtual disk.
    • 2 or more Virtual CPUs are recommended.

    Configure the VM to boot from the RHEL 8 Binary DVD .iso file that you downloaded earlier. In the VM’s settings, under Storage, select the optical drive under the IDE controller.  Then, use the CD icon drop down menu on the right to select Choose Virtual Optical Disk File. 

    Optional VM configuration:

    Networking

    The default networking choice NAT is the easiest to use, but you will not be able to access services such as ssh or http running on the RHEL VM from the host or the network. However, you can define port forwards in the Advanced section under the network adapter configuration to provide access.

    For example, in order to use ssh, define a port forward from Host Port 2222 to Guest Port 22.  This will allow you to use ssh on the host machine by using port 2222:

    $ ssh -p 2222 root@localhost
    

    Alternatively, you can attach the VM to directly network by sharing the network adapter from the host system as a bridged network adapter. In this configuration, the VM gets its own IP address, usually using your network’s DHCP server. The VM appears on the network the same way a physical computer would with its own hardware MAC address. The host’s network adapter is shared by a device driver that is installed by VirtualBox. The VM’s virtual network adapter can only be bridged to one physical network adapter at a time. If your system has more than one network adapter you need to choose which one to attach to. If your system switches between wired and wireless connections, you will need to switch the adapter that the VM is bridged to when changing between wired and wireless.

    Improved Network Performance with virtio (Windows and Linux hosts only)

    For improved VM network performance on Windows and Linux hosts, in the VM’s settings under Network Adapter Type select Paravirtualized Network (virtio-net).  The paravirtualized adapter removes much of the overhead of emulating a hardware network adapter.

    Copy and Paste

    In the VM settings General, on the Advanced tab, set Shared clipboard and Drag’n’Drop to Bidirectional.  Copy and paste requires VirtualBox Guest Additions to be installed.  After the RHEL VM is fully installed and has been registered, you can install the kernel packages that are required to install VirtualBox Guest Additions. 

    Tip: to copy and paste before you have setup VirtualBox Guest Additions, use ssh from a Terminal Window on the host.  You'll be able to copy and paste text to and from the Terminal window.

    Installation

    Now you are ready to run the RHEL 8 installer.  

    TL;DR The installation steps are:

    • Select software to be installed.  Choose the Workstation base environment, add Development Tools, Graphical Administration Tools, and Container tools. Note: Do not select Server with a GUI.
    • Choose the disks/partitions to use for installation.
    • Disable kdump to save memory.
    • Configure and enable the network connection so that networking starts at boot. Optionally set the host name.
    • Set the root password
    • Create your regular user ID and make your ID an administrator so you can use sudo.

    1. Boot the RHEL 8 installer

    Boot your system using the bootable installation media containing the RHEL 8 Binary DVD .iso:

    RHEL 8 boot the installer

    Note: During boot, you can skip the media checking step by hitting the Esc key

     

     

     

     

     

     

     

    On the following screens, select your preferred language and keyboard layout to use during installation.

     

     

     

     

     

     

     

    You should now see the main screen for configuring your installation:

     

     

     

    RHEL 8 Config Screen

     

     

     

    2. Select software to be installed

     

     

     

     

     

     

     

    Click Software Selection under SOFTWARE.  We recommend that you:

     

     

     

     

     

     

     

    • Choose Workstation on the left under Base Environment
    • Then, choose Container Management, Development Tools, and Graphical Admin Tools. 
    Note: Do not choose Server with a GUI as your base environment. There is a known issue that will prevent the graphical desktop from starting

     

     

     

    RHEL 8 Install Software Selection

     

     

     

    3. Choose disks/partitions for installation

     

     

     

     

     

     

     

    Click Installation Destination under SYSTEM.  Choose the disks/partitions to use for installing RHEL.  See the Red Hat Enterprise Linux 8 Installation Guide for more information.

     

     

     

     

     

     

     

    Note: if your system only has one disk and you are using the whole disk for the installation, just click Done

     

     

     

    RHEL 8 Install Select Disk

     

     

     

    4. Disable kdump to save memory

     

     

     

     

     

     

     

    Next, To save memory turn off kdump by clicking Kdump under SYSTEM.  Then, uncheck Enable Kdump.

     

     

     

    RHEL 8 Install Disable Kdump

     

     

     

    5. Configure and enable the network connection

     

     

     

     

     

     

     

    Next, configure the Network and optionally set the host name. Click Network & Host Name under SYSTEM.  Then:

     

     

     

     

     

     

     

    • Select your network adapter from the list. if you need to change any network settings click Configure…  .  
    • Turn the adapter on by clicking the toggle to the right of the OFF button in the upper right corner. 
    • Optionally, you can set the system's host name on the lower left.

    Note: If you do not enable the network adapter here, you will not have network connectivity when you boot the system.

     

     

     

    RHEL 8 Install Configure and Enable Network

     

     

     

    6. Begin the installation

     

     

     

     

     

     

     

    When you are satisfied with your configuration, click Begin Installation.

     

     

     

    RHEL 8 Install Begin Installation

     

     

     

    7. Create your user ID and set the root password, 

     

     

     

     

     

     

     

    While the installation is proceeding, click Root Password to set the root (Administrator) password.

     

     

     

     

     

     

     

    Next, create the regular user ID that you will use to log into the system by clicking User Creation.

     

     

     

     

     

     

     

    Important note: Select Make this user administrator.  This will enable sudo for your user ID.

     

     

     

    RHEL 8 Install Create User

     

     

     

    8. Reboot and eject installation media

     

     

     

     

     

     

     

    When installation is complete, click Reboot in the lower right corner.

     

     

     

     

     

     

     

    Important note: While your system is rebooting, don’t forget to eject the installation media so that you don’t inadvertently reboot into the RHEL 8 installer again

     

     

     

     

     

     

     

    If you have a machine (or VM) that reboots too quickly to eject the installation media, you can try:

     

     

     

     

     

     

     

    • Change the boot order in the BIOS
    • Shutdown the system and then restart the system to.  Eject the media during POST, or use the appropriate key for your BIOS (such F12, F10, Enter) to select a boot device.
    • On VirtualBox, select Devices from the VM's window menu, then select Optical Drives ->  Remove disc from virtual drive to eject the installation ISO.  If the system has already booted into the installer, you will need to click Force Unmount. Then reset the VM, either through the Machine menu, or using the keyboard shortcut Right CTRL + R (Windows/Linux) or Left Command + R (Mac).  The VM should then boot from the virtual hard disk.
    • On Hyper-V, select Media from the VM's menu. Then select Eject for the RHEL 8 DVD.

    System registration

    First Boot

    When the system reboots, click License Information to accept the license agreement. On the License Information screen, Click I accept the license agreement under the text of the license.

    RHEL 8 Install Accept License

    System Registration During First Boot

    Your system needs to be registered to download software and updates from Red Hat. When you joined Red Hat Developers, a no-cost developer subscription was added to your account. Registering your system attaches it to your subscription.

    If you configured and started the network connection during installation, you can register the system now using the graphical interface. If you didn’t activate your network connection, follow the instructions below to register with the subscription-manager CLI.

    To register your system, click Subscription Manager. On the next screen, if you need to configure a proxy click Configure Proxy, otherwise click Next. 

    On the following screen, enter your Red Hat username and password. When you joined Red Hat Developers, a Red Hat account was created for you. This the login that you use for Red Hat sites such as the Red Hat Customer Portal, access.redhat.com.  Then, click Register.

    RHEL 8 Install Register First Boot

    On the Confirm subscription screen, if more than one subscription is listed, select Red Hat Developer Subscription.  Then, click Attach.  When registration completes, click Done.

    Next, click Finish Configuration.

    Log into the system with the user ID and password you created during installation.

    During your first login, set your language, keyboard layout, and enable or disable location services. Then, connect your online accounts or click Skip.  Next Click Start Using Red Hat Enterprise Linux. After you’ve reviewed the GNOME Getting Started info, close the window.

    System Registration from the command line

    If you didn't register your system during the first boot, you can register at any time using the command line. Start a Terminal window by clicking Activities in the upper left corner.  Then select the Terminal icon on the lower left.  Alternatively, start typing terminal in the search box and then hit enter to accept the Terminal auto-completion.

    RHEL 8 Start Terminal

    In the terminal window, start a root shell:

    $ sudo bash
    

    Next, register your system with Red Hat Subscription Management:

    # subscription-manager register --auto-attach
    

    Enter your Red Hat username and password.  When registration has completed, you’ll see:

    Installed Product Current Status:
    Product Name: Red Hat Enterprise Linux for x86_64
    Status:       Subscribed
    
    

    Check that you now have the BaseOS and AppStream repos enabled with yum repolist:

    # yum repolist
    Updating Subscription Management repositories.
    Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
    Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)

    Install updates

    Once your system has been registered, you can use the command line or web console to install the latest updates.

    Updating from the command line  

    use yum update form within a Terminal session to install the latest updates.

    $ sudo yum update

    If an updated kernel package is installed during updates, you should reboot your system:

    $ reboot

    Cockpit Web console

    Red Hat Enterprise Linux 8 includes a web-based console called Cockpit that simplifies administration tasks especially for users who are new to Linux.

    Enabling the Cockpit Web Console

    Out of the box, Cockpit isn't enabled. We recommend that you enable Cockpit. To enable it, run the command below one time. You don’t have to worry about Cockpit consuming resources if you don’t use it. The following command tells systemd to only start Cockpit when it is accessed. 

    $ sudo systemctl enable --now cockpit.socket 
    

    By default, the system firewall will prevent access to Cockpit from the network. To allow access from the network:

    $ sudo firewall-cmd --add-port=9090/tcp
    $ sudo firewall-cmd --permanent --add-port=9090/tcp

    Using the Cockpit web console

    To access the Cockpit web console, start Firefox from the Activities menu,  Then enter the URL: http://localhost:9090/
     
    Log into Cockpit either your regular user ID or the root user ID.

    To use Cockpit from the network use: https://<hostname>:9090/ 

    Note: a self-signed SSL/TLS certificate is installed by default, which will generate a security exception because it isn't signed by a trusted CA. You will have to agree to proceed.

    For more information see Managing Systems Using the Web Console

    VirtualBox Guest Additions

    Adding VirtualBox Guest Additions to the RHEL VM improves the usability in a number of ways:

    • Enables copy and paste between the host and VM.
    • Eliminates the need for the VM to capture the mouse pointer. The integrated mouse pointer is much smoother.
    • The VMs screen is dynamically resizable so you can have more space to edit.
    • Folders can be easily shared between the host and the VM making it easy to share source code.

    First, make sure you’ve installed the latest updates using the instructions above. During installation a kernel module will be compiled and installed. There are a few prerequisites. First you should have installed Development Tools during system installation. If not, use:

    $ sudo yum groupinstall "Development Tools"

    Next, install kernel development packages so you can build loadable kernel modules:

    $ sudo yum install kernel-devel elfutils-libelf-devel

    Now insert the VirtualBox Guest Additions CD image using the Devices menu entry on the VM’s window.  A pop-up will ask you if you want to run the software on the CD image. Click Run.
     

    A terminal window will pop-up as the guest additions are built and installed.  When complete, hit enter to close the window.

    Some of the improvements, such as the mouse pointer integration will be immediately available. Others improvements won't be available until after the VM is rebooted.

    Coding time

    Use these documents for creating your first applications on Red Hat Enterprise Linux 8.

    • Python on RHEL 8
    • Node.js on RHEL 8
    • Java 8 and 11 on RHEL 8

    Appstreams

    The first step is to see what modules are available the Applications Streams (appstream) repo:

    $ sudo yum module list  # list all available modules in appstream
    

    Or, find just the modules named `nodejs`

    $ sudo yum module list nodejs
    

    From the output you can see that Node.js 10 is the default module to install, note the `[d]`.  You could have simply typed the following to install the default nodejs module.

    $ sudo yum module install nodejs
    

    Or even, shorter using ‘@’:

    $ sudo yum install @nodejs
    

    The above commands would have installed the nodejs with the default profile. A profile is group, usually a subset, of the packages in a module.  For this module the default profile is named `default. In the steps above, the `development` profile was chosen to get the packages in the development profile installed.

    To find out more about a module, use one of the following commands:

    $ sudo yum module info nodejs  # get info about the default nodejs module
    
    $ sudo yum module info nodejs:10   # get info about a specific module stream
    Last updated: July 24, 2023

    What’s up next?

     

    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Products

    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue