Chapter 1: Installing Red Hat Enterprise Linux

Understanding RHEL installation options, kickstart automation, and virtual machine setup.


Key Concepts

Installation Methods

Method Use Case Notes

DVD/ISO

Manual installation

Interactive, good for learning

Kickstart

Automated installation

Reproducible, enterprise standard

Network (PXE)

Large deployments

Requires DHCP/TFTP infrastructure

Image-based

Cloud/container

Fastest, pre-built images

Minimum Requirements

Resource Minimum

RAM

1.5 GB (2 GB recommended)

Disk

10 GB (20 GB recommended)

CPU

1 core (2+ recommended)


Hands-On Exercises

Exercise 1.1: Create RHEL 9 VM with KVM

# Download Rocky Linux 9 (free RHEL clone)
curl -LO https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9-latest-x86_64-minimal.iso

# Create VM with virt-install
sudo virt-install \
  --name rhcsa-server1 \
  --ram 2048 \
  --vcpus 2 \
  --disk size=20 \
  --os-variant rocky9 \
  --cdrom ~/Rocky-9-latest-x86_64-minimal.iso \
  --network network=default \
  --graphics vnc

Exercise 1.2: Basic Kickstart File

Create /tmp/ks.cfg:

# RHCSA Lab Kickstart
#version=RHEL9

# System language
lang en_US.UTF-8

# Keyboard layout
keyboard us

# Network configuration
network --bootproto=dhcp --device=link --activate
network --hostname=server1.lab.local

# Root password (use openssl passwd -6 to generate)
rootpw --iscrypted $6$rounds=4096$...

# Create admin user
user --name=admin --groups=wheel --iscrypted --password=$6$...

# Timezone
timezone America/Los_Angeles --utc

# Partitioning
clearpart --all --initlabel
autopart --type=lvm

# Installation source
cdrom

# Packages
%packages
@^minimal-environment
vim-enhanced
bash-completion
%end

# Post-installation script
%post
systemctl enable cockpit.socket
%end

# Reboot after installation
reboot

Exercise 1.3: Installation Verification

After installation, verify:

# Check hostname
hostnamectl

# Check network
ip -4 addr show

# Check disk layout
lsblk

# Check RHEL version
cat /etc/redhat-release

# Check kernel
uname -r

Diagram: Installation Flow

D2 Source (render with Kroki or d2 CLI)
# RHEL Installation Flow
# Edit this D2 diagram as you learn

direction: down

title: RHEL 9 Installation Process {
  shape: text
  style.font-size: 24
}

boot: Boot from Media {
  shape: oval
  style.fill: "#e3f2fd"
}

media_check: Media Check {
  shape: diamond
  style.fill: "#fff3e0"
}

language: Select Language {
  shape: rectangle
}

install_summary: Installation Summary {
  shape: rectangle
  style.fill: "#e8f5e9"
  style.stroke: "#2e7d32"
  style.stroke-width: 2
}

components: {
  label: Configure Components
  style.fill: "#f3e5f5"

  keyboard: Keyboard Layout
  network: Network & Hostname
  time: Time & Date
  software: Software Selection
  storage: Installation Destination
  root: Root Password
  user: User Creation
}

begin: Begin Installation {
  shape: oval
  style.fill: "#bbdefb"
}

installing: Installing Packages {
  shape: rectangle
  style.fill: "#fff9c4"
}

reboot: Reboot {
  shape: oval
  style.fill: "#c8e6c9"
}

complete: Installation Complete {
  shape: oval
  style.fill: "#a5d6a7"
  style.stroke: "#1b5e20"
  style.stroke-width: 3
}

# Flow
boot -> media_check
media_check -> language: Pass
media_check -> boot: Fail

language -> install_summary

install_summary -> components.keyboard
install_summary -> components.network
install_summary -> components.time
install_summary -> components.software
install_summary -> components.storage
install_summary -> components.root
install_summary -> components.user

components.storage -> begin: Required

begin -> installing
installing -> reboot
reboot -> complete

Notes

Add your personal notes here as you work through the chapter.