Skip to content
Author Nejat Hakan
eMail nejat.hakan@outlook.de
PayPal Me https://paypal.me/nejathakan


Installing openSUSE Linux

Introduction to openSUSE Linux

Welcome to the comprehensive guide on installing openSUSE Linux! This document is designed for university students and anyone eager to dive deep into the world of openSUSE. We will explore every facet of the installation process, from initial preparations to post-installation configurations, ensuring you have a solid foundation to build upon.

openSUSE is a powerful, flexible, and user-friendly Linux distribution sponsored by SUSE Software Solutions Germany GmbH and other companies. It's developed by a large, vibrant community and offers two main variants to cater to different user needs: Leap and Tumbleweed.

What is openSUSE?

At its core, openSUSE is a free and open-source RPM-based Linux distribution. It is known for its robustness, comprehensive toolset, and strong commitment to open-source principles.

  • openSUSE Leap:
    This is the regular release version of openSUSE. Leap versions are point releases (e.g., 15.5, 15.6) and offer a balance between stability and up-to-date software. It shares its core source code with SUSE Linux Enterprise (SLE), providing enterprise-grade stability and reliability. Leap is ideal for users who prefer a system that requires less frequent updates and values long-term support for each major version. Think of it as a Long-Term Support (LTS) like experience, perfect for servers, desktops, and development workstations where stability is paramount.
  • openSUSE Tumbleweed:
    This is a rolling release version. Tumbleweed delivers the latest stable versions of software packages as soon as they are tested and integrated. This means users get continuous updates and access to cutting-edge features and kernel versions. Tumbleweed is favored by developers, Linux enthusiasts, and users who want the newest software without waiting for point releases. Despite being a rolling release, Tumbleweed is renowned for its stability thanks to rigorous automated testing via openQA.

Why choose openSUSE?

openSUSE stands out for several reasons:

  • YaST (Yet another Setup Tool):
    This is openSUSE's powerful, centralized configuration tool. YaST allows you to manage almost every aspect of your system—software installation, hardware configuration, network setup, user management, security settings, and much more—all through an intuitive graphical or text-based interface. This significantly lowers the learning curve for system administration tasks.
  • Open Build Service (OBS):
    OBS is an open and complete distribution development platform. It allows developers to easily build and distribute software packages for openSUSE and many other Linux distributions and architectures. This fosters a rich ecosystem of available software.
  • openQA:
    This is an automated testing framework that extensively tests openSUSE releases (especially Tumbleweed) before they are made public. This contributes significantly to the stability and quality of the distribution.
  • Btrfs by Default:
    openSUSE was one of the first major distributions to adopt Btrfs (B-tree File System) as the default filesystem for the root partition. Btrfs offers advanced features like snapshots, copy-on-write (CoW), data integrity checks, and integrated volume management. This allows for easy system rollbacks using the snapper tool, which is integrated with YaST and the zypper package manager.
  • Comprehensive Documentation and Community:
    openSUSE boasts excellent official documentation, wikis, and active community forums, mailing lists, and IRC channels where users can find help and contribute.
  • Choice of Desktop Environments:
    While KDE Plasma and GNOME are prominently featured, openSUSE supports a wide array of desktop environments like XFCE, LXQt, MATE, and Cinnamon, catering to diverse user preferences.
  • Zypper Package Manager:
    zypper is a powerful command-line package manager that is fast, dependency-aware, and easy to use. It complements YaST's software management capabilities.

Key Features and Philosophies

  • Freedom and Choice:
    openSUSE empowers users with choices, from the installation media and desktop environment to software selection and system configuration.
  • Quality and Stability:
    Through tools like openQA and its connection to SUSE Linux Enterprise, openSUSE emphasizes providing a high-quality, stable operating system.
  • Transparency and Openness:
    The development process is open, and community contributions are highly valued.
  • Technical Excellence:
    The distribution often incorporates cutting-edge technologies while ensuring they are well-integrated and reliable.

System Requirements

The system requirements can vary slightly between Leap and Tumbleweed, and depend heavily on the chosen desktop environment and workload.

  • Minimum Requirements (for a basic graphical desktop):

    • Processor: Pentium 4 1.6 GHz or AMD equivalent (modern multi-core processor highly recommended).
    • RAM: 1 GB (2 GB highly recommended for smooth performance with modern desktops like KDE or GNOME).
    • Hard Disk Space: 10 GB for a minimal installation; 20 GB for a standard desktop installation with common applications. More space is needed for user data and additional software. For Btrfs with snapshots, allow at least 40GB for the root partition.
    • Graphics Card: Most modern graphics cards supporting at least 800x600 resolution (1024x768 or higher recommended).
    • A DVD drive or USB port for the installation media.
    • Internet access is not strictly required for installation from a full DVD/USB image but is highly recommended for updates and online repositories during setup.
  • Recommended Requirements (for a comfortable desktop experience):

    • Processor: Modern 64-bit dual-core processor or better (Intel Core i3/i5/i7, AMD Ryzen series).
    • RAM: 4 GB or more (8 GB+ for heavy multitasking, virtual machines, or demanding applications).
    • Hard Disk Space: 40 GB or more on an SSD (Solid State Drive) for optimal performance.
    • Graphics Card: A capable graphics card from NVIDIA, AMD, or Intel with good 3D acceleration support.
    • Internet connection.

This introduction should give you a good overview of what openSUSE is and why it might be the right Linux distribution for you. In the following sections, we will guide you through every step of getting it installed on your computer.

1. Pre-Installation Preparations

Before you embark on the openSUSE installation journey, careful preparation is key to a smooth and successful outcome. This section will guide you through the essential steps to take before you even boot from the installation media. Thorough preparation can save you from potential headaches, data loss, and ensure your system is ready for its new operating system.

Choosing your openSUSE Version

The first crucial decision is selecting the openSUSE version that best aligns with your needs and technical comfort level. As mentioned earlier, openSUSE offers two primary editions: Leap and Tumbleweed.

  • openSUSE Leap (Stable, Point Release)

    • What it is:
      Leap is the fixed-release version of openSUSE. It aligns with SUSE Linux Enterprise (SLE) sources, meaning it benefits from the stability and rigorous testing of an enterprise-grade operating system. New major versions of Leap (e.g., 15.x) are released periodically (typically annually or a bit longer), with minor updates (e.g., 15.5 to 15.6) providing bug fixes, security patches, and sometimes newer hardware enablement.
    • Software Freshness:
      Leap prioritizes stability over bleeding-edge software. While core system components are well-tested and stable, user applications might not always be the absolute latest versions available upstream. However, critical applications like web browsers and office suites are usually kept reasonably up-to-date.
    • Update Cycle:
      You'll primarily receive security patches and bug fixes. Upgrading to a new minor version (e.g., 15.5 to 15.6) is a straightforward process. Upgrading to a new major version (e.g., 15.x to 16.x, when available) is a more significant step.
    • Who it's for:
      • Users who prefer a highly stable and predictable system.
      • Desktop users who "just want things to work" without frequent major changes.
      • Server administrators who need reliability and long-term support.
      • New Linux users who might benefit from a less rapidly changing environment.
      • Users whose hardware might be older and benefits from a well-established kernel and driver base.
  • openSUSE Tumbleweed (Rolling Release)

    • What it is:
      Tumbleweed is a pure rolling release. This means it doesn't have distinct version numbers like Leap. Instead, it's a continuous stream of updates. As soon as new stable versions of software packages (kernel, desktop environments, applications) are tested and integrated through openQA, they become available to Tumbleweed users.
    • Software Freshness:
      Tumbleweed users always have access to the latest software. This is excellent for those who want the newest features, performance improvements, and hardware support.
    • Update Cycle:
      Updates are frequent, sometimes daily. A Tumbleweed system is kept current by regularly running sudo zypper dup (distribution upgrade). There are no "version upgrades" in the traditional sense; the system continuously evolves.
    • Who it's for:
      • Linux enthusiasts and power users who want the latest software and kernel features.
      • Developers who need up-to-date libraries and tools.
      • Users with very new hardware that might require the latest kernel and drivers for optimal support.
      • Those comfortable with a more dynamic system and occasional troubleshooting (though Tumbleweed is remarkably stable for a rolling release due to openQA).
  • openSUSE MicroOS (Transactional, Immutable OS - Brief Mention)

    • What it is:
      MicroOS is a modern, transactional, and immutable operating system designed for container hosts, IoT devices, and edge computing. System updates are atomic (either fully succeed or roll back), and the root filesystem is read-only to enhance reliability and security. It's not typically chosen for a general-purpose desktop installation by beginners but is an important part of the openSUSE ecosystem.
    • Who it's for:
      Users with specific needs for appliance-like systems, container deployments, or environments where predictability and rollback capabilities are paramount.

How to decide which version is right for you:

  • New to Linux or prefer stability? Choose Leap.
  • Want the latest software and features, and comfortable with frequent updates? Choose Tumbleweed.
  • Running a server that needs to be rock-solid with minimal changes? Choose Leap.
  • Developing software and need the latest toolchains and libraries? Tumbleweed is likely a better fit.
  • Have brand-new hardware? Tumbleweed might offer better out-of-the-box support due to its newer kernel.

For the purpose of this guide, most examples will assume you are installing openSUSE Leap for a desktop environment, but the process for Tumbleweed is largely identical, differing mainly in the ISO you download and the nature of post-installation updates.

Downloading the openSUSE ISO

Once you've decided on the version, you need to download the installation ISO image. An ISO image is a single file containing the entire contents of an installation DVD or USB drive.

  • Official Download Sources:

    • The primary and most reliable source is the official openSUSE website: https://get.opensuse.org/
    • Navigate to the download page for either Leap or Tumbleweed.
    • For Leap: You'll typically find options for:
      • Offline Image (DVD ISO):
        A large (~4GB) ISO containing most of the software, allowing for installation without an internet connection. This is recommended for most users.
      • Network Installation Image (NET ISO):
        A very small ISO (~150-200MB) that boots the installer but requires an active internet connection to download packages during installation. Useful if you want a very customized install or have limited bandwidth for the initial download but good bandwidth during installation.
    • For Tumbleweed:
      You'll usually find a single, full DVD ISO that is updated frequently (sometimes daily or every few days, referred to as "snapshots").
    • You might also find images for specific architectures (e.g., x86_64, ARM64). Most modern PCs will use x86_64.
  • Verifying the ISO Integrity (Checksums and GPG Signatures):

    • Why this is crucial:
      1. Security:
        Verifying the ISO ensures it hasn't been tampered with by malicious actors. A compromised ISO could install malware or backdoors on your system.
      2. Data Corruption:
        Downloads can sometimes get corrupted due to network issues. An incomplete or corrupted ISO will likely lead to a failed installation or an unstable system.
    • Checksums (SHA256):
      • Alongside the ISO download link, you will find a link to a checksum file (e.g., openSUSE-Leap-15.5-DVD-x86_64-Buildxxxx.iso.sha256). This file contains a unique alphanumeric string (the hash) generated from the original ISO file.
      • After downloading the ISO, you generate a SHA256 hash of your downloaded file and compare it to the official hash. If they match, your download is intact.
    • GPG Signatures (Advanced Verification):

      • For even stronger verification, openSUSE signs its ISOs and checksum files with a GPG (GNU Privacy Guard) key. You can download the checksum file and its corresponding GPG signature (.asc file).
      • You'll also need to import the openSUSE GPG public key. Then, you can verify the signature of the checksum file. This confirms that the checksum file itself is authentic and hasn't been tampered with. Then, you verify the ISO against the (now trusted) checksum.
      • This is a more involved process but offers the highest level of assurance. Detailed instructions are usually available on the openSUSE wiki or download pages.
    • Step-by-step SHA256 verification:

      1. Download the ISO file (e.g., openSUSE-Leap-15.5-DVD-x86_64.iso).
      2. Download the corresponding SHA256 checksum file (e.g., openSUSE-Leap-15.5-DVD-x86_64.iso.sha256). It's a small text file.
      3. Open the SHA256 file with a text editor. It will look something like this:
        SHA256 (openSUSE-Leap-15.5-DVD-x86_64.iso) = a1b2c3d4e5f6...[very long string]...789xyz0
        
        Copy the long hexadecimal string.
      4. On Linux: Open a terminal and navigate to the directory where you downloaded the ISO. Run:
        sha256sum openSUSE-Leap-15.5-DVD-x86_64.iso
        
        This will output a hash string. Compare it carefully with the one from the checksum file. Alternatively, if the checksum file is in the same directory and has the expected format (hash followed by filename), you can use:
        sha256sum -c openSUSE-Leap-15.5-DVD-x86_64.iso.sha256
        
        This command will check the hash and tell you "OK" if it matches.
      5. On Windows (Command Prompt or PowerShell): Open Command Prompt or PowerShell. Navigate to the download directory. Using PowerShell (Windows 10/11):
        Get-FileHash -Algorithm SHA256 .\openSUSE-Leap-15.5-DVD-x86_64.iso
        
        This will output the algorithm, hash, and path. Compare the hash. Using Command Prompt (certutil):
        certutil -hashfile openSUSE-Leap-15.5-DVD-x86_64.iso SHA256
        
        Compare the output hash.
      6. On macOS: Open Terminal. Navigate to the download directory. Run:
        shasum -a 256 openSUSE-Leap-15.5-DVD-x86_64.iso
        
        Compare the output hash.

      If the hashes do not match, DO NOT use the ISO. Download it again, possibly from a different mirror or using a download manager.

Creating Bootable Installation Media

Once you have a verified ISO image, you need to create a bootable medium, typically a USB flash drive. DVDs can also be used but are less common and slower.

  • USB Drives (Recommended):

    • You'll need a USB drive with sufficient capacity (at least 4GB for most offline ISOs, 8GB or more is a good safe bet). Be aware that all existing data on the USB drive will be erased during this process.
    • Tools for Windows:

      • Rufus (Recommended):
        A popular, lightweight, and reliable tool.
        1. Download Rufus from https://rufus.ie/.
        2. Insert your USB drive.
        3. Launch Rufus.
        4. Device:
          Select your USB drive (be very careful to select the correct one!).
        5. Boot selection:
          Click "SELECT" and browse to your downloaded openSUSE ISO file.
        6. Partition scheme:
          • If your system uses UEFI (most modern systems), choose GPT.
          • If your system uses legacy BIOS, choose MBR. (Rufus often auto-detects this based on your system or the ISO).
        7. Target system:
          • Usually "UEFI (non CSM)" for GPT.
          • "BIOS (or UEFI-CSM)" for MBR.
        8. Volume label:
          Can be left as default or changed (e.g., "openSUSE_Install").
        9. File system:
          Usually FAT32 (for UEFI compatibility) or NTFS. Rufus often sets this correctly.
        10. Leave "Cluster size" as default.
        11. Click "START".
        12. Rufus might ask if you want to write in "ISO Image mode" or "DD Image mode". For openSUSE ISOs, "DD Image mode" is generally recommended as it performs a bit-by-bit copy and is often more reliable for hybrid ISOs. If prompted, select DD mode.
        13. Confirm any warnings about data erasure. Wait for the process to complete.
      • Ventoy:
        An excellent tool that allows you to create a bootable USB drive where you can simply copy multiple ISO files (and other types like WIM, IMG, VHD(x), EFI) to the USB drive and boot from them via a menu. This is very convenient if you test multiple distributions.
        1. Download Ventoy from https://www.ventoy.net/.
        2. Extract the archive and run Ventoy2Disk.exe.
        3. Select your USB drive under "Device".
        4. Click "Install". Ventoy will partition and format the USB drive.
        5. Once done, a new partition (usually exFAT) will appear on your USB drive. Simply copy the openSUSE ISO file directly into this partition. You can copy multiple ISOs.
        6. Boot from this USB, and Ventoy will present a menu of all ISOs you copied.
      • balenaEtcher:
        A simple, cross-platform tool.
        1. Download Etcher from https://www.balena.io/etcher/.
        2. Launch Etcher.
        3. Click "Flash from file" and select your openSUSE ISO.
        4. Click "Select target" and choose your USB drive.
        5. Click "Flash!".
    • Tools for Linux:

      • dd (Command-line - Powerful but use with extreme caution):
        1. Identify your USB drive:
          This is the most critical step. An error here can wipe your hard drive. Open a terminal.
          • Run lsblk or sudo fdisk -l before inserting the USB drive.
          • Insert the USB drive.
          • Run lsblk or sudo fdisk -l again. The new device that appears (e.g., /dev/sdb, /dev/sdc - NOT /dev/sda which is usually your main hard drive, and NOT /dev/sdb1 which is a partition) is your USB drive. Triple-check this.
        2. Unmount the USB drive if it was auto-mounted:
          If lsblk shows any partitions of the USB device are mounted (e.g., /dev/sdb1 mounted on /media/user/USBDRIVE), unmount them:
          sudo umount /dev/sdb1 # (replace /dev/sdb1 with actual partition)
          # Repeat for all mounted partitions of the USB device
          sudo umount /dev/sdb* # Be careful with wildcards
          
        3. Write the ISO to the USB drive:
          sudo dd bs=4M if=/path/to/your/openSUSE-Leap-15.5-DVD-x86_64.iso of=/dev/sdb status=progress oflag=sync
          
          • bs=4M: Sets block size to 4 Megabytes (can speed up the copy).
          • if=...: Input file (your ISO).
          • of=/dev/sdb: Output file (your USB device - MAKE ABSOLUTELY SURE THIS IS CORRECT).
          • status=progress: Shows progress (GNU dd extension).
          • oflag=sync: Ensures data is physically written before the command finishes, improving reliability. Wait for dd to complete. It gives no output until it's done, unless status=progress is used.
      • Ventoy:
        Works the same way on Linux. Download the Linux version, extract, and run VentoyGUI.x86_64 (or similar for your architecture) or use the command-line script Ventoy2Disk.sh.
      • balenaEtcher:
        The AppImage or repository version works well on Linux.
    • Tools for macOS:

      • dd (Command-line - Similar caution as Linux):
        1. Identify USB drive: Open Terminal.
          diskutil list
          
          Insert USB, run again. Identify the device (e.g., /dev/disk2, /dev/disk3).
        2. Unmount the USB drive:
          diskutil unmountDisk /dev/diskX # Replace X with your disk number
          
        3. Write ISO:
          sudo dd bs=4m if=/path/to/openSUSE.iso of=/dev/rdiskX # Use /dev/rdiskX (raw disk) for speed
          
          Note 4m (lowercase m for macOS dd) instead of 4M. macOS dd doesn't have status=progress. You can press Ctrl+T to see status.
      • balenaEtcher: Works the same way on macOS.
  • DVDs (Less Common):

    • If your system has a DVD writer and you prefer this method:
    • Use any DVD burning software (e.g., K3b on Linux, built-in burner on Windows/macOS).
    • Choose the option "Burn Image" or "Write ISO to Disc".
    • Select your openSUSE ISO file.
    • Burn at a slow speed (e.g., 4x or 8x) to reduce the chance of errors.

Backing Up Your Existing Data

This is arguably the most important pre-installation step if you have an existing operating system or any data on the hard drive where you plan to install openSUSE. The installation process can, and often will, erase data, especially if you repartition the drive.

  • Importance of Backups:
    Data loss can occur due to accidental formatting, partitioning errors, hardware failure during installation, or simply choosing the wrong disk. A backup is your safety net.
  • What to Back Up:
    • Personal files: Documents, photos, videos, music, project files.
    • Application settings: Browser bookmarks/passwords, email client profiles, software configurations (if important and not cloud-synced).
    • Operating system license keys (e.g., Windows key if dual-booting).
    • Anything you cannot afford to lose.
  • Backup Strategies:
    • Full Backup: A complete copy of all selected data. Simplest to restore but can be time-consuming and require large storage.
    • Incremental Backup: Backs up only the files that have changed since the last backup (full or incremental). Faster to create, but restoration requires the last full backup and all subsequent incrementals.
    • Differential Backup: Backs up only the files that have changed since the last full backup. Faster than full, slower than incremental. Restoration requires the last full backup and the latest differential.
    • For a pre-installation backup, a Full Backup of your essential data is usually the most straightforward approach.
  • Tools for Backing Up:
    • External Hard Drives/USB Drives: The most common destination for backups.
    • Cloud Storage: Services like Dropbox, Google Drive, OneDrive, or specialized backup services (Backblaze, Carbonite). Ensure you have enough storage and a good internet connection.
    • Network Attached Storage (NAS): If you have one.
    • OS-Specific Tools:
      • Windows: File History, Backup and Restore (Windows 7), or third-party tools like Macrium Reflect Free, EaseUS Todo Backup Free.
      • macOS: Time Machine.
      • Linux: rsync (command-line, very powerful), Déjà Dup, Timeshift (for system snapshots, not primarily for user data but can be part of a strategy), Grsync (GUI for rsync).
    • Simple Copy-Paste: For critical personal files, even a manual copy-paste to an external drive is better than no backup.

Verify your backup!
After creating a backup, try to restore a few files to ensure the backup is readable and complete. An untested backup is not a reliable backup.

System Hardware Check and BIOS/UEFI Configuration

Before booting the installer, ensure your system's firmware (BIOS or UEFI) is configured correctly.

  • Checking Hardware Compatibility (General Guidelines):

    • openSUSE has excellent hardware support, but very new or obscure hardware might occasionally pose challenges.
    • If you have concerns about specific components (e.g., a new Wi-Fi card, a unique RAID controller), a quick web search like "openSUSE Leap 15.5 [your hardware model]" can reveal experiences from other users or official support status.
    • The openSUSE Hardware Portal (if available and up-to-date) or community forums can be resources.
  • Accessing BIOS/UEFI Settings:

    • To change firmware settings, you need to enter the setup utility when your computer first starts.
    • Restart your computer. When the manufacturer's logo appears (or just before the OS starts loading), press the designated key.
    • Common Keys: Del, F2, F10, F12, Esc. The key is often displayed briefly on the screen (e.g., "Press F2 to enter Setup"). Consult your computer/motherboard manual if unsure.
  • Essential BIOS/UEFI Settings:

    • Boot Order (Boot Priority):
      • This is the most critical setting for installation. You need to set your USB drive (or DVD drive) as the first boot device so the computer boots from the openSUSE installer instead of your existing OS.
      • Look for a "Boot" or "Boot Order" menu.
      • If using UEFI, you might see entries like "UEFI: USB Flash Drive Name" and "Legacy: USB Flash Drive Name". Prefer the UEFI option if your system supports it and you plan a UEFI installation.
    • Secure Boot (UEFI only):
      • Secure Boot is a UEFI feature designed to prevent malware from hijacking the boot process.
      • openSUSE officially supports Secure Boot. Its bootloader is signed with Microsoft's key, allowing it to boot even with Secure Boot enabled on most systems.
      • Considerations:
        • If you encounter issues booting the openSUSE installer or the installed system, disabling Secure Boot is a common troubleshooting step.
        • If you need to use third-party kernel modules (like proprietary NVIDIA drivers not installed from openSUSE repositories, or VirtualBox kernel modules) you might need to disable Secure Boot or sign those modules yourself (an advanced topic).
        • For a standard installation, you can often leave Secure Boot enabled. If problems arise, disable it and try again.
    • SATA Mode (SATA Configuration/Storage Configuration):
      • This setting determines how the system communicates with SATA hard drives and SSDs.
      • Common options:
        • AHCI (Advanced Host Controller Interface):
          This is the preferred mode for Linux. It offers the best performance and features (like NCQ). Most modern systems default to AHCI.
        • IDE (Integrated Drive Electronics) / Legacy / Compatibility:
          An older mode. Avoid if AHCI is available.
        • RAID (Redundant Array of Independent Disks) / Intel RST (Rapid Storage Technology):
          If your system uses Intel RST or a hardware RAID configuration, Linux might require specific drivers or configuration. If you are not using RAID and this option is selected, switching to AHCI is generally recommended before installing Linux. Caution:
          Changing the SATA mode after an operating system (like Windows) is already installed can make that OS unbootable without additional driver installations or registry tweaks. If dual-booting and Windows is set to RAID/RST, you might need to keep it that way or prepare Windows for the change to AHCI first. For a fresh install on a blank drive, set it to AHCI.
    • Fast Boot / Quick Boot (often in BIOS/UEFI or Windows Power Options):
      • Some motherboards and Windows (its "Fast Startup" feature) have options to speed up boot times. These can sometimes interfere with accessing the BIOS/UEFI setup, booting from USB, or dual-booting.
      • It's generally a good idea to disable Fast Boot/Quick Boot in the BIOS/UEFI and disable "Fast Startup" in Windows Power Options if you plan to dual-boot or are having trouble booting from USB.
    • Virtualization Technology (VT-x / AMD-V):
      • If you plan to run virtual machines (e.g., using KVM, VirtualBox, VMware) within openSUSE, ensure that Intel VT-x or AMD-V is enabled in the BIOS/UEFI. It's often found under "CPU Configuration" or "Advanced Settings."
    • CSM (Compatibility Support Module - UEFI only):
      • CSM allows a UEFI system to boot legacy BIOS operating systems.
      • If you are installing openSUSE in UEFI mode (recommended for modern systems), you can often disable CSM for a "pure" UEFI environment.
      • If you need to dual-boot with an older OS installed in legacy BIOS mode, or if your USB installer only boots in legacy mode, you might need CSM enabled.
      • For a new, UEFI-based openSUSE installation, aim for CSM disabled or UEFI-only boot mode.

After making any changes in BIOS/UEFI, remember to Save and Exit (usually F10).

Workshop Pre-Installation Preparations

This workshop will guide you through some practical steps to solidify your understanding of the pre-installation phase.

  • Project 1: Verifying your openSUSE ISO

    • Objective:
      Download an openSUSE Leap ISO and its SHA256 checksum, then verify the integrity of the downloaded ISO.
    • Steps:
      1. Navigate to the Download Site:
        Open your web browser and go to https://get.opensuse.org/leap/.
      2. Choose an Image:
        Select the "Offline Image" (the full DVD ISO, x86_64 architecture). Click the download link.
      3. Download the Checksum:
        On the same page, or a linked "Checksums" page, find the SHA256 checksum file for the exact ISO image you are downloading (e.g., openSUSE-Leap-15.X-DVD-x86_64-BuildYYYY.iso.sha256). Download this small text file to the same directory as your ISO.
      4. Wait for the ISO download to complete.
        This may take some time.
      5. Open the Checksum File:
        Use a text editor (like Notepad on Windows, TextEdit on macOS, gedit/kate/nano on Linux) to open the .sha256 file. You will see one or more lines, each containing a hash value and a filename. Find the line that corresponds to your downloaded ISO. Copy the long hexadecimal hash string. Example content of a .sha256 file:
        e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855  openSUSE-Leap-15.5-DVD-x86_64-Current.iso
        
      6. Verify on Linux (using terminal):
        • Open a terminal.
        • Navigate to your downloads directory: cd ~/Downloads (or wherever you saved the files).
        • Run the command: sha256sum openSUSE-Leap-15.X-DVD-x86_64-BuildYYYY.iso (replace with the actual ISO filename).
        • Compare the hash string output by this command with the hash string you copied from the .sha256 file. They must match exactly.
        • Alternatively (easier):
          If the .sha256 file is correctly formatted and in the same directory: sha256sum -c openSUSE-Leap-15.X-DVD-x86_64-BuildYYYY.iso.sha256 If it's successful, it will output: openSUSE-Leap-15.X-DVD-x86_64-BuildYYYY.iso: OK
      7. Verify on Windows (using PowerShell):
        • Open PowerShell.
        • Navigate to your downloads directory: cd ~\Downloads (or use cd C:\path\to\downloads).
        • Run the command: Get-FileHash -Algorithm SHA256 .\openSUSE-Leap-15.X-DVD-x86_64-BuildYYYY.iso (replace with the actual ISO filename).
        • The output will show "Algorithm", "Hash", and "Path". Compare the "Hash" value with the one from the .sha256 file. They must match exactly.
      8. What if they don't match?
        Your ISO download is corrupted or incomplete. Delete it and download it again.
  • Project 2: Creating a Bootable USB Drive

    • Objective:
      Create a bootable openSUSE installation USB drive using dd on Linux (as an example of a powerful command-line tool) and Rufus on Windows (as an example of a popular GUI tool).
    • You will need:
      A spare USB drive (at least 8GB recommended, data will be erased!).
    • Part A: Using dd on Linux (Proceed with extreme caution!)
      1. Insert your USB drive.
      2. Identify the USB device name:
        Open a terminal.
        • Run lsblk. Note the existing devices.
        • Run lsblk again after inserting the USB. Identify the new device (e.g., /dev/sdb, /dev/sdc). It will likely not have /boot or /home mount points associated with your main system. Double-check this! For example, if /dev/sda contains your current Linux system, it is NOT your USB.
        • Let's assume your USB drive is identified as /dev/sdx (replace x with the correct letter).
      3. Unmount any auto-mounted partitions of the USB drive:
        • If lsblk shows /dev/sdx1 (or similar) mounted, unmount it: sudo umount /dev/sdx1. Repeat for any other partitions on /dev/sdx.
      4. Write the ISO image:
        • Navigate to the directory containing your verified openSUSE ISO.
        • Execute the command (replace /dev/sdx and the ISO filename):
          sudo dd bs=4M if=openSUSE-Leap-15.X-DVD-x86_64-BuildYYYY.iso of=/dev/sdx status=progress oflag=sync
          
          CRITICAL:
          Ensure of=/dev/sdx is correct. A typo here could wipe another drive.
      5. Wait:
        The process will take some time. dd will not output anything until it's finished (unless status=progress is working on your dd version).
      6. Once the command prompt returns, the USB drive is ready. You can run sync one more time just to be sure all buffers are flushed: sudo sync.
    • Part B: Using Rufus on Windows
      1. Download Rufus from https://rufus.ie/ and run it.
      2. Device:
        Insert your USB drive. Rufus should automatically detect it. If you have multiple USB devices, select the correct one carefully.
      3. Boot selection:
        Click "SELECT" and choose your downloaded openSUSE ISO file.
      4. Partition scheme:
        Choose "GPT" if your computer uses UEFI (most modern ones). Choose "MBR" if it uses legacy BIOS.
      5. Target system:
        This will usually adjust based on the partition scheme (e.g., "UEFI (non CSM)" for GPT).
      6. Volume Label:
        You can name it (e.g., "openSUSE_Install").
      7. File system & Cluster size:
        Leave defaults, Rufus typically handles this well.
      8. Click "START".
      9. IMPORTANT:
        Rufus will likely show a dialog "ISOHybrid image detected". For openSUSE, it's generally best to select "Write in DD Image mode". Click OK.
      10. Confirm the warning that all data on the USB drive will be destroyed.
      11. Wait for the progress bar to complete and show "READY". Then click "CLOSE". Your USB drive is now bootable.

By completing these preparatory steps, you're setting a strong foundation for a successful openSUSE installation. You've chosen your version, ensured your installation media is authentic and intact, created the bootable drive, considered data backup, and familiarized yourself with essential BIOS/UEFI settings.

2. The openSUSE Installation Process

With your preparations complete and bootable installation media in hand, you are now ready to begin the actual openSUSE installation. This section will walk you through the initial stages of the installer, from booting up to the point where you make critical decisions about your system's configuration.

Booting from Installation Media

This is the first step in interacting with the openSUSE installer.

  1. Insert the Bootable Media:
    • If using a USB drive, insert it into a USB port on your computer.
    • If using a DVD, insert it into your DVD drive.
  2. Restart Your Computer:
    • If your computer is off, turn it on.
    • If it's already running, perform a full restart (not hibernate or sleep).
  3. Select the Boot Device:

    • As your computer starts, you need to tell it to boot from the installation media instead of its internal hard drive. There are two common ways to do this:
      • BIOS/UEFI Boot Menu (Recommended if available):
        Most modern computers have a key you can press during startup (similar to the BIOS/UEFI setup key, but often different) to bring up a one-time boot menu. Common keys for the boot menu are F12, F10, F8, Esc. This key is often displayed briefly on the screen (e.g., "Press F12 for Boot Menu").
        • If you access this menu, you'll see a list of available boot devices (e.g., your internal hard drive, USB drive, DVD drive).
        • Select your USB drive or DVD drive. If you see UEFI and non-UEFI (legacy) options for your media (e.g., "UEFI: Kingston USB" and "Kingston USB"), choose the UEFI option if you intend to install openSUSE in UEFI mode (which is standard for modern hardware).
      • BIOS/UEFI Setup Utility:
        If you cannot access a one-time boot menu, or prefer to set it permanently (and change it back later), enter the BIOS/UEFI setup utility (as described in the Pre-Installation section using keys like Del, F2, etc.).
        • Navigate to the "Boot" or "Boot Order" section.
        • Change the boot priority to make your USB drive or DVD drive the first boot device.
        • Save changes and exit. The computer will restart and should now boot from the installation media. (Remember to change this back after installation if you made it a permanent setting).
  4. The openSUSE Initial Boot Screen:

    • If successful, you will see the openSUSE installer's boot screen. This screen typically presents several options:

      • Installation:
        This is the default and most common option. It boots into the graphical installer.
      • Upgrade:
        If an existing openSUSE installation is detected, this option can be used to upgrade it.
      • More...:
        This usually leads to a submenu with more advanced options:
        • Rescue System:
          Boots into a minimal Linux environment from the installation media, which can be used for repairing a broken system, recovering data, or manually partitioning.
        • Boot Linux System:
          Allows you to boot an already installed Linux system if, for example, its bootloader is damaged.
        • Check Installation Media:
          Verifies the integrity of the installation media itself. This is a good idea if you suspect the media might be corrupted.
        • Firmware Test (Memory Test):
          Runs a utility like Memtest86+ to check your computer's RAM for errors. It's advisable to run this if you suspect hardware issues, though it can take a long time.
        • Boot Options (F1-F8 keys usually):
          You might see options to change language, video mode (e.g., nomodeset if you have display issues), or add other kernel parameters before booting the installer. For most standard installations, you won't need these immediately.
    • Action: Highlight "Installation" (it's usually pre-selected) and press Enter. The installer will begin to load. You'll see kernel messages scrolling by, followed by the graphical environment of the installer.

Language, Keyboard, and License Agreement

Once the installer environment loads, you'll be greeted with the initial configuration screens.

  1. Language and Keyboard Layout:

    • The first screen prompts you to select your Language and Keyboard Layout.
    • Language:
      Choose your preferred language from the list. This will affect the language used during the installation process and, by default, the language of the installed system. openSUSE offers a wide range of languages.
    • Keyboard Layout:
      Based on your language selection, a default keyboard layout will be suggested. If it's not correct (e.g., you selected "English (US)" language but use a UK keyboard), select the correct layout from the list.
    • Keyboard Test Area:
      There's usually a text box where you can type to verify that your keyboard layout is working as expected (e.g., check special characters like @, #, $, £, Z/Y for QWERTZ/QWERTY layouts).
    • Verbose Explanation:
      • The language setting influences not only the installer but also locale settings (like number formatting, currency symbols, date/time representation) on the installed system.
      • The keyboard layout is crucial for being able to type correctly, especially for passwords. If you select the wrong layout, what you type might not be what appears on screen.
    • Click "Next" after making your selections.
  2. License Agreement:

    • The next screen displays the openSUSE License Agreement. openSUSE is distributed under open-source licenses (primarily the GPL and others).
    • Verbose Explanation:
      • It's good practice to read or at least skim the license to understand your rights and obligations as a user of the software. Open-source licenses grant you significant freedoms, such as the right to use, modify, and distribute the software.
      • The license also includes disclaimers of warranty, which are standard for free software.
    • You must accept the license terms to proceed with the installation. Check the box or click the appropriate button to agree.
    • Click "Next".

System Probing and Hardware Detection

At this stage, the openSUSE installer, YaST (Yet another Setup Tool), will analyze your computer's hardware.

  • Process:
    YaST automatically probes for hardware components such as hard disks, network cards, graphics cards, sound cards, USB devices, etc.
  • Progress:
    You might see messages or a progress bar indicating that system probing is underway. This usually takes a short while.
  • Purpose:
    This step is crucial for the installer to understand your system's configuration, which helps in:

    • Suggesting appropriate drivers.
    • Offering default partitioning schemes.
    • Setting up network connections.
  • Network Configuration (May appear as a separate step or integrated here):

    • If you have a wired Ethernet connection plugged in, YaST will typically try to configure it automatically using DHCP (Dynamic Host Configuration Protocol) to obtain an IP address and network settings from your router.
    • If you use Wi-Fi, or if DHCP fails, you might be prompted to configure the network manually. However, for many desktop installations, network configuration can also be handled later during the "Installation Settings" review or after the installation is complete.
    • Online Repositories:
      During or after network setup, the installer might ask if you want to add online repositories during installation.
      • What this means:
        If you enable this, the installer will download the latest package lists and potentially updated packages from openSUSE's online servers.
      • Pros:
        • You get the most up-to-date versions of software installed from the start.
        • Potentially includes bug fixes and security patches not present on the ISO.
        • Can add additional repositories like non-OSS (for some proprietary but freely distributable software) or update repositories.
      • Cons:
        • Requires a stable and reasonably fast internet connection.
        • Can significantly increase the installation time as packages are downloaded.
        • If your internet connection is unreliable, it might cause issues.
      • Recommendation:
        • If you have a good internet connection and are using a Leap ISO (which might be a few months old), enabling online repositories is generally a good idea to get a fully updated system right away.
        • If you are using a very recent Tumbleweed snapshot, the benefit is less, as the ISO is already very current.
        • If you have no internet or a slow/unreliable connection, or are using the full DVD/Offline ISO, you can skip this and update the system after installation.
      • You'll typically see a list of default repositories (Main Repository, Main Update Repository, Non-OSS Repository, etc.). You can usually accept the defaults.
    • Click "Next" after network configuration/repository choice.

System Role

This is a key step where you define the primary purpose of your openSUSE installation, which influences the default set of software packages that will be installed.

openSUSE offers several predefined "System Roles":

  • Desktop with KDE Plasma:
    • Installs the KDE Plasma desktop environment, a feature-rich, highly customizable, and visually appealing DE.
    • Includes a comprehensive suite of KDE applications (Dolphin file manager, Konsole terminal, Kate text editor, Okular document viewer, Kontact PIM suite, etc.).
    • Good choice for users who want a powerful and flexible desktop experience.
  • Desktop with GNOME:
    • Installs the GNOME desktop environment, known for its modern design, simplicity, and focus on usability.
    • Includes core GNOME applications (Nautilus file manager, GNOME Terminal, Gedit text editor, Evince document viewer, Evolution email/calendar, etc.).
    • Good choice for users who appreciate a streamlined and contemporary desktop.
  • Desktop with XFCE:
    • Installs the XFCE desktop environment, which is lightweight, fast, and resource-efficient while still being visually appealing and user-friendly.
    • Includes XFCE's own set of applications (Thunar file manager, Xfce Terminal, Mousepad text editor, etc.).
    • Excellent choice for older hardware, users who prefer a snappy interface, or those who want a more traditional desktop layout.
  • Generic Desktop:
    • This option often allows for choosing other, less mainstream desktop environments that openSUSE supports, such as LXQt (very lightweight), MATE (a fork of GNOME 2), or Cinnamon. The availability might depend on the specific ISO (full vs. net install).
    • It might also install a very basic graphical environment (e.g., IceWM with X Window System) allowing you to build up your desktop from a minimal base.
  • Server (Text Mode):
    • Installs a minimal system without a graphical desktop environment.
    • Includes essential server tools and services.
    • The system will boot to a command-line interface (CLI).
    • Ideal for experienced users setting up a dedicated server (web server, file server, etc.).
  • Transactional Server:
    • Installs openSUSE MicroOS or a similar transactional system.
    • The root filesystem is read-only, and updates are atomic (applied as a whole or not at all, with easy rollbacks).
    • Designed for container hosts, appliances, and scenarios requiring high reliability and predictable updates. This is a more specialized role.

Implications of Your Choice:

  • Software Selection:
    The primary impact is the default set of software packages and desktop environment that will be installed.
  • Disk Space:
    Full-featured desktops like KDE Plasma or GNOME will require more disk space than XFCE or a Server installation.
  • System Resources:
    KDE and GNOME are generally more resource-intensive (RAM, CPU) than XFCE or a text-mode server.

Can you change this later?

Yes. Even if you pick one desktop, you can almost always install others later. However, the System Role choice determines the primary setup. You can also customize the software selection further in a later step ("Installation Settings").

Action:

Select the System Role that best suits your needs. For a typical desktop user, Desktop with KDE Plasma or Desktop with GNOME are common choices. For this guide, we'll often refer to these desktop environments.

Click "Next".

Suggested Partitioning vs. Expert Partitioner

After selecting the System Role, the installer will propose a partitioning scheme for your hard disk(s). This is one of the most critical parts of the installation.

  • What happens here:
    Based on the available disks, free space, and whether other operating systems are detected, YaST will suggest a way to divide your disk into partitions for openSUSE.
  • The Default Proposal:

    • openSUSE's default for a new installation on a blank disk (or using all available free space) often includes:
      • An EFI System Partition (ESP) if your system is booting in UEFI mode (typically ~500MB, FAT32).
      • A root partition (/) formatted with Btrfs. Btrfs is chosen for its snapshot capabilities, allowing system rollbacks via Snapper. The installer will also create default Btrfs subvolumes (e.g., for /home, /opt, /var, etc., though /home might be proposed as a separate XFS partition in some scenarios).
      • A swap partition for virtual memory (size depends on RAM and hibernation intentions).
      • Sometimes, a separate /home partition formatted with XFS or Ext4 might be proposed, especially if it detects you might want to share /home or preserve it across reinstalls.
  • Reviewing the Proposal:

    • The installer will display a summary of the proposed partitioning. Carefully review this proposal.
    • Does it use the correct disk?
    • Does it allocate reasonable sizes for the partitions?
    • Does it affect any existing partitions you want to keep (e.g., a Windows partition for dual-boot)?
  • Options Presented:

    • Accept Suggested Partitioning:
      If the proposal looks good and meets your needs (e.g., you are installing on a new/empty disk and are happy with the defaults), you can accept it.
    • Guided Setup / Edit Proposal Settings:
      This option might allow you to make some high-level changes to the proposal, like choosing a different disk, enabling LVM (Logical Volume Management), or enabling disk encryption, without going into the full manual partitioner.
    • Expert Partitioner:
      This option gives you complete manual control over partitioning. You can create, delete, resize, format, and assign mount points to partitions exactly as you wish. This is the option you'll need for custom schemes, dual-booting setups where you need to carefully manage existing partitions, or if you want different filesystems than the defaults.

When to use the Expert Partitioner:

  • You want a separate /home partition with a specific filesystem or size.
  • You are dual-booting with Windows and need to install openSUSE into free space you've already created.
  • You want to use specific filesystems for different mount points (e.g., XFS for /var, Ext4 for /boot).
  • You have multiple hard drives and want to specify which drive is used for which part of the system.
  • You need to resize existing partitions (though it's often safer to do this with dedicated tools before installation).
  • You want to set up LVM or software RAID manually.

We will delve much deeper into disk partitioning and the Expert Partitioner in the next major section.

For now, understand that you have a choice between an automated proposal and full manual control.

Action:

For now, you can simply look at the "Suggested Partitioning." If you are in a virtual machine or on a spare disk where you don't mind accepting defaults, you could proceed. However, for most real-world installations, you will likely want to at least inspect, if not modify, the partitioning. We will explore the "Expert Partitioner" extensively.

If you select "Expert Partitioner" (or an option to edit the proposal that leads to a similar interface), you'll be taken to a more detailed partitioning screen. If you just accept the suggestion, you might move on to the Timezone/User creation steps, with a final review later.

Workshop The openSUSE Installation Process (Initial Steps)

  • Project: Navigating the Initial Installation Screens

    • Objective:
      Familiarize yourself with the first few stages of the openSUSE installer. This workshop assumes you have successfully booted from your openSUSE installation media.
    • Steps:
      1. Boot from Media:
        Ensure your computer boots from the openSUSE USB/DVD.
      2. Installer Boot Menu:
        • At the openSUSE boot screen, observe the options: "Installation," "Upgrade," "More..."
        • Use the arrow keys to navigate. Select "Check Installation Media" and press Enter. Let this run to ensure your media is okay. (This might take a few minutes).
        • Once done (or if you skip), reboot or return to the menu and select "Installation" and press Enter.
      3. Language and Keyboard:
        • When the graphical installer appears, select your preferred Language (e.g., "English (US)").
        • Verify the Keyboard Layout (e.g., "English (US)"). Type some characters, including symbols like !@#$%^&*()_+-=[]{};':",./<>? and ZYXWVUTS to ensure they match your physical keyboard.
        • Click "Next".
      4. License Agreement:
        • Read (or skim) the license terms.
        • Check the box to agree to the license terms.
        • Click "Next".
      5. System Probing:
        • Observe the "Probing System" or similar messages. Wait for this to complete.
      6. Network Configuration (if prompted for Online Repositories):
        • If asked about "Online Repositories," read the explanation.
        • For this workshop, you can choose "Yes, Add Online Repositories" if you have a good internet connection, or "No, Skip" if you prefer to update later or have no connection. Review the list of repositories it proposes to add if you chose yes.
        • Click "Next".
      7. System Role:
        • You'll see options like "Desktop with KDE Plasma," "Desktop with GNOME," "XFCE," "Server," etc.
        • Select one of the desktop options for now, for example, "Desktop with KDE Plasma". Consider what kind of software and interface this choice implies.
        • Click "Next".
      8. Suggested Partitioning:
        • The installer will now show you a "Suggested Partitioning" screen. Do not click "Next" or "Accept" yet if you are on a real system with data you care about!
        • Carefully examine the proposal.
          • Which disk is it targeting?
          • What partitions is it suggesting (e.g., EFI, Btrfs root /, XFS /home, swap)?
          • What are their proposed sizes?
          • Does it mention formatting or deleting anything you want to keep?
        • This is a crucial review point. For this workshop, just observe. We will not proceed with installation yet. You can click "Back" or look for an "Abort" or "Quit Installer" option if you want to exit without making changes (often holding Ctrl+Alt+Del will reboot, or there's a quit option in one of the menus). If you are in a virtual machine with a blank virtual disk, you could hypothetically accept the suggestion to see what happens next, but the goal here is just familiarization with these screens.

This initial walkthrough familiarizes you with the sequence of the installer. The next section will focus intensely on understanding and controlling the "Disk Partitioning" stage, which is where you'll make the most impactful decisions for your system's layout.

3. Disk Partitioning Deep Dive

Disk partitioning is arguably the most critical and potentially complex part of any operating system installation. A well-thought-out partitioning scheme can lead to a flexible, manageable, and stable system, while mistakes can lead to data loss or installation failures. This section provides a very verbose exploration of partitioning concepts, Linux filesystems, various partitioning schemes, and how to use the openSUSE Expert Partitioner.

Understanding Disk Partitioning Concepts

Before diving into creating partitions, let's understand the fundamental concepts.

  • What are Partitions? Why are they Necessary?

    • A hard disk drive (HDD) or solid-state drive (SSD) is, at a low level, a contiguous block of storage space. A partition is a logical division of this physical storage.
    • Necessity:
      1. Organization:
        Partitions allow you to organize data. For example, one partition for the operating system, another for user files, and another for a different OS (in a dual-boot setup).
      2. Multiple File Systems:
        Each partition can be formatted with a different file system (e.g., Ext4 for Linux, NTFS for Windows, FAT32 for an EFI partition). Different file systems have different characteristics and purposes.
      3. Isolation:
        If one partition gets corrupted, it's less likely to affect data on other partitions (though not a guarantee against physical drive failure).
      4. Specific Roles:
        Certain partitions have specific roles, like the EFI System Partition for booting on UEFI systems, or a swap partition for virtual memory.
      5. Multi-booting:
        To install multiple operating systems on a single drive, each OS typically needs its own partition(s).
  • MBR (Master Boot Record) vs. GPT (GUID Partition Table)

    • These are two different methods for storing partitioning information on a drive. The choice between them is often dictated by your system's firmware (BIOS or UEFI) and disk size.
    • MBR (Master Boot Record):
      • History:
        The older standard, used with traditional BIOS systems.
      • Structure:
        The MBR is located in the first sector of the disk. It contains the partition table (describing the partitions) and a small piece of code called the bootloader.
      • Limitations:
        • Maximum Disk Size:
          Can only address disks up to 2 Terabytes (TB). If you have a disk larger than 2TB, MBR cannot utilize the space beyond 2TB effectively.
        • Number of Partitions:
          Supports a maximum of 4 primary partitions. To have more, one of the primary partitions can be designated as an extended partition, which can then be subdivided into multiple logical partitions. This is a somewhat clunky workaround.
      • Booting: Typically used with Legacy BIOS boot mode.
    • GPT (GUID Partition Table):
      • History:
        A newer standard, part of the UEFI (Unified Extensible Firmware Interface) specification.
      • Structure:
        Stores partitioning information in a more robust way, with multiple copies of the partition table on the disk for redundancy (one at the beginning, one at the end). Uses Globally Unique Identifiers (GUIDs) to identify disks and partitions.
      • Advantages:
        • Disk Size:
          Supports vastly larger disk sizes (theoretically up to many Zettabytes, practically limited by current OS and filesystem capabilities but far beyond MBR's 2TB).
        • Number of Partitions:
          By default, supports up to 128 primary partitions on Windows; Linux supports many more. No need for the extended/logical partition distinction.
        • Redundancy & Integrity:
          Includes CRC32 checksums to detect corruption in the partition table and has a backup copy.
      • Booting: The standard for UEFI boot mode. Requires an EFI System Partition (ESP).
    • How to Choose:
      • Modern Systems (UEFI):
        Almost always use GPT. This is the default and recommended approach.
      • Older Systems (Legacy BIOS only):
        You'll need to use MBR.
      • Disks larger than 2TB:
        You must use GPT to utilize the full capacity.
      • Dual-booting with Windows:
        If Windows is installed in UEFI mode (on a GPT disk), Linux should also be installed in UEFI mode on the same GPT disk. If Windows is installed in legacy BIOS mode (on an MBR disk), Linux should ideally be installed in legacy BIOS mode too for easier bootloader management. It's best to keep the boot modes consistent.
    • The openSUSE installer usually detects your system's boot mode (UEFI or Legacy BIOS) and defaults to the appropriate partitioning table type (GPT for UEFI, MBR for Legacy).
  • Common Linux Directories and their Purpose (Mount Points)

    • When you create partitions, you assign them "mount points." A mount point is a directory in the file system hierarchy where the partition's file system will be attached. Understanding the role of key directories helps in planning partitions:
      • / (root):
        The top-level directory, the base of the entire filesystem hierarchy. All other directories and files reside under root. This partition is essential.
      • /boot:
        Contains the Linux kernel, initial RAM disk (initramfs), and bootloader configuration files (e.g., GRUB).
        • Separate /boot partition?
          Often not strictly necessary if your root filesystem (/) is a standard one like Ext4 or Btrfs and isn't encrypted. However, a separate /boot partition (e.g., 500MB to 1GB, formatted as Ext4 or even FAT32) might be required or beneficial if:
          • You are using full-disk encryption for the root partition (the bootloader needs unencrypted access to kernel/initramfs).
          • You are using LVM for the root partition and your bootloader has limitations.
          • You are using a filesystem for / that GRUB might have trouble reading directly early in the boot process (less common now).
          • openSUSE with Btrfs root and Snapper for bootable snapshots usually handles /boot being part of the Btrfs subvolumes well, but some advanced or older setups might still opt for a separate /boot.
      • /home:
        Contains user-specific data: personal files, documents, application settings, desktop configurations for each user on the system.
        • Separate /home partition?
          This is a highly recommended practice.
          • Pros:
            If you reinstall or upgrade your OS, you can format the root partition (/) without losing your personal data and settings in /home. Makes system recovery and migration much easier. You can also choose a different filesystem for /home if desired (e.g., XFS or Ext4 for stability, while / might be Btrfs).
          • Cons:
            Requires pre-allocating space. If /home fills up, it won't use free space from / (and vice-versa) unless you use LVM or resize partitions later.
      • /var:
        Stands for "variable data." Contains files that are expected to grow in size, such as:
        • Logs (/var/log)
        • System mail (/var/mail, /var/spool/mail)
        • Print spools (/var/spool/cups)
        • Package manager caches (/var/cache/zypp, /var/cache/pkg)
        • Web server data (/var/www), database files (/var/lib/mysql)
        • Separate /var partition?
          Can be useful for servers or systems with high I/O or log generation to prevent a full /var from crashing the system by filling up the root partition. For desktops, it's often part of the root partition, but advanced users or those with specific needs (e.g., running many VMs whose disk images are in /var/lib/libvirt/images) might separate it.
      • /tmp:
        For temporary files created by users and applications. These files are usually deleted upon reboot. Often, /tmp is mounted as tmpfs, which means it resides in RAM (and swap if RAM is low), making it very fast. A separate /tmp partition is less common now due to tmpfs.
      • /srv:
        Contains site-specific data served by this system (e.g., data for FTP, HTTP servers). If you're running such services, you might consider a separate partition.
      • /opt:
        For optional, add-on application software packages. Some third-party proprietary software installs here. Usually part of the root partition unless you have specific reasons to separate it.
      • EFI System Partition (ESP):
        (Not a standard Linux directory mount point in the same way, but a crucial partition type).
        • Required for UEFI booting.
        • Formatted as FAT32 (VFAT).
        • Mount point: /boot/efi.
        • Contains bootloaders for all installed operating systems (e.g., GRUB for Linux, Windows Boot Manager).
        • Typically 200MB to 512MB in size. openSUSE installer often suggests ~500MB.
  • Swap Space

    • What is Swap?
      Swap space is a portion of your hard disk that Linux can use as an extension of your physical RAM (Random Access Memory). When your system runs out of physical RAM, the kernel moves inactive pages of memory (data) from RAM to the swap space on the disk to free up RAM for active processes. This is called "swapping" or "paging."
    • Swap Partition vs. Swap File:
      • Swap Partition:
        A dedicated partition on your disk exclusively used for swap. This has traditionally been the most common method on Linux.
      • Swap File:
        A regular file residing within an existing filesystem (like / or /home) that is designated as swap space. Swap files offer more flexibility (can be resized, added, or removed more easily than partitions) and are becoming increasingly popular. Btrfs has specific considerations for swap files (generally requiring them to be on a non-CoW subvolume or have CoW disabled for the file itself for performance and to avoid fragmentation issues).
      • openSUSE's installer traditionally defaults to creating a swap partition.
    • How Much Swap Do You Need?
      This is a perennial question with no single "right" answer. It depends on:
      • Amount of RAM:
        • Low RAM (e.g., 1-2GB):
          At least as much swap as RAM, or even 2x RAM, is advisable.
        • Medium RAM (e.g., 4-8GB):
          Swap equal to RAM is a common rule of thumb.
        • High RAM (e.g., 16GB+):
          You might need less swap relative to RAM (e.g., 4GB, 8GB, or even no swap if you never expect to exceed RAM and don't use hibernation). However, some swap (e.g., a few GB) can still be beneficial for performance by allowing the kernel to swap out rarely used pages.
      • Hibernation (Suspend-to-Disk):
        If you plan to use hibernation (where the system's state is saved to disk and the machine powers off completely), you need a swap partition (preferred for reliability with hibernation) or a properly configured swap file. The swap space must be at least as large as your physical RAM, and preferably a bit larger (e.g., RAM + 20% or RAM + sqrt(RAM)) to accommodate the hibernation image and any active swapping.
      • Workload:
        Running memory-intensive applications (video editing, large databases, many virtual machines) might require more swap.
    • General Recommendations (without hibernation):
      • RAM < 2GB: Swap = 2 * RAM
      • RAM 2GB - 8GB: Swap = RAM
      • RAM 8GB - 64GB: Swap = 0.5 * RAM (or at least 4GB)
      • RAM > 64GB: Small amount (e.g., 4GB-8GB) or consider if needed at all.
    • General Recommendations (WITH hibernation):
      • Swap Partition Size >= RAM. A common safe bet is 1.5x RAM if disk space is not extremely constrained. Ensure it's a partition for best hibernation reliability.

File Systems for Linux

A file system defines how data is stored and retrieved on a partition. It organizes files in a directory structure and keeps track of metadata (permissions, timestamps, etc.). Linux supports many filesystems. Here are the most relevant for an openSUSE installation:

  • Ext4 (Fourth Extended Filesystem):

    • History & Features:
      The successor to Ext3 and Ext2, Ext4 has been the de facto standard Linux filesystem for many years. It's mature, very stable, and widely used. Key features include:
      • Journaling: Helps protect against data corruption in case of a system crash or power outage by keeping a log (journal) of changes before they are fully written to disk.
      • Large file and filesystem size support.
      • Extents (for more efficient storage of large files).
      • Backward compatibility with Ext2/Ext3.
    • Pros:
      • Extremely stable and reliable, well-tested.
      • Good all-around performance.
      • Supported by almost all Linux tools and recovery utilities.
      • Less complex than Btrfs or XFS.
    • Cons:
      • Lacks some advanced features found in Btrfs (like built-in snapshots, CoW, data checksumming for user data).
      • Online defragmentation is possible but offline e2fsck is usually needed for filesystem checks/repairs.
    • When to use it:
      • Excellent choice for /home partitions due to its stability.
      • Good for root (/) partitions if you prefer simplicity over Btrfs features.
      • Often used for /boot partitions (if separate).
      • Suitable for removable media where compatibility with other Linux systems is important.
  • Btrfs (B-tree File System, often pronounced "Butter F S" or "Better F S"):

    • Advanced Features:
      Btrfs is a modern copy-on-write (CoW) filesystem with many advanced capabilities:
      • Copy-on-Write (CoW):
        When data is modified, Btrfs writes the changes to a new location on disk rather than overwriting the old data in place. This is fundamental to its snapshot feature.
      • Snapshots:
        Allows you to create instantaneous, space-efficient "pictures" of the filesystem (or subvolumes) at a particular point in time. These can be used for backups or system rollbacks. openSUSE integrates Btrfs snapshots with its Snapper tool, allowing you to roll back system changes (e.g., after a problematic update) or even boot from a previous snapshot.
      • Subvolumes:
        Btrfs can manage multiple internal "filesystems" (subvolumes) within a single Btrfs partition. Each subvolume can be mounted independently and can have its own snapshot policies. openSUSE uses subvolumes by default (e.g., @/.snapshots, @/var, @/home if /home is on the Btrfs root, etc.).
      • Data and Metadata Checksumming:
        Helps detect and potentially repair data corruption (if using RAID profiles with redundancy).
      • Transparent Compression:
        Can compress files on-the-fly (e.g., with zlib, LZO, zstd), saving disk space at some CPU cost.
      • Integrated RAID:
        Supports software RAID levels 0, 1, 10, 5, and 6 directly within the filesystem.
      • Online resizing, defragmentation, and scrubbing.
    • Pros:
      • Powerful snapshot and rollback capabilities (major advantage for openSUSE).
      • Data integrity features (checksums).
      • Efficient use of space for snapshots.
      • Flexible subvolume management.
    • Cons:
      • Performance:
        CoW can sometimes lead to performance overhead for certain workloads (e.g., database files, virtual machine disk images that are frequently modified in place). For such files, disabling CoW (chattr +C on the file/directory) is recommended.
      • Fragmentation:
        CoW can also lead to fragmentation over time, especially for large, frequently modified files. Regular defragmentation might be needed for specific use cases.
      • Complexity:
        More complex than Ext4, and some advanced features are still maturing or have specific usage caveats.
      • RAID 5/6:
        Btrfs RAID 5/6 modes have historically had stability concerns (the "write hole" issue, though much improved, caution is still advised by some). RAID 1 and 10 are generally considered stable.
    • openSUSE's Default:
      openSUSE defaults to Btrfs for the root (/) partition precisely for its Snapper integration and rollback capabilities. If /home is on the same partition, it's often a subvolume.
    • Understanding Subvolumes in openSUSE:
      • When you install openSUSE with Btrfs root, it creates a top-level Btrfs filesystem on the partition. Inside this, it creates subvolumes.
      • The actual root of your live system might be a subvolume named @ or /@.
      • Other directories like /opt, /srv, /tmp, /usr/local, /var (parts of it like /var/log, /var/crash) are often created as separate subvolumes.
      • This allows these directories to be excluded from snapshots of the main system root if desired, or to have different CoW properties. For example, /var/log might have CoW disabled to prevent excessive snapshot growth.
      • /.snapshots is a special subvolume where Snapper stores snapshots.
  • XFS (Extended File System):

    • High-Performance Journaling Filesystem:
      XFS was originally developed by Silicon Graphics (SGI) for their IRIX OS. It's known for its excellent performance with large files, large numbers of files, and parallel I/O operations.
    • Features:
      Robust journaling, efficient allocation groups, good scalability.
    • Pros:
      • Excellent performance for large files and high-throughput workloads.
      • Scales well to very large filesystems and storage arrays.
      • Mature and stable for its intended use cases.
      • Online defragmentation and resizing.
    • Cons:
      • Historically, shrinking an XFS filesystem was not possible (though recent versions might have limited support, it's generally not something you plan for). You can grow it online easily.
      • Some older recovery tools might not be as prevalent as for Ext4.
      • Can be slightly more susceptible to data loss on power failure if write barriers are not properly handled by the underlying storage (less of an issue on modern hardware/kernels).
    • When to use it:
      • Often recommended by openSUSE for separate /home partitions, especially if you deal with large media files or want a non-CoW filesystem for home.
      • Excellent for partitions storing large datasets, like /var (if it hosts databases or many large log files), /srv (for web/file servers), or dedicated data storage partitions.
      • Media production workstations.
  • FAT32 (File Allocation Table 32):

    • Universal Compatibility:
      An older filesystem, but its main advantage is near-universal compatibility across operating systems (Windows, macOS, Linux, cameras, embedded devices).
    • Limitations:
      • Maximum file size of 4GB.
      • Maximum partition size can be problematic for some OSes beyond 32GB (though Linux can handle larger FAT32 partitions).
      • Lacks journaling, permissions, and other modern filesystem features.
    • When to use it:
      • EFI System Partition (ESP):
        The UEFI specification requires the ESP to be formatted as FAT32 (or sometimes FAT16/FAT12 for very small ones, but FAT32 is standard). This is its primary use in a modern Linux installation. The mount point is typically /boot/efi.
      • USB flash drives or SD cards for maximum interoperability between different devices and OSes.
  • exFAT (Extended File Allocation Table):

    • Successor to FAT32:
      Designed by Microsoft to overcome FAT32's limitations, especially the 4GB file size limit. Supports much larger files and partitions.
    • Compatibility:
      Good support on modern Windows, macOS, and Linux (kernel support is now standard).
    • When to use it:
      • Large USB flash drives or external hard drives where interoperability with Windows/macOS is needed and files larger than 4GB are stored.
      • Not typically used for Linux system partitions.
  • NTFS (New Technology File System):

    • Windows Native:
      The standard filesystem used by Windows.
    • Linux Support:
      Linux has excellent read support for NTFS. Write support is provided by the ntfs-3g driver, which is generally stable and reliable for most common operations. However, for critical, high-performance writes, it's still often safer to do them from Windows itself if possible.
    • When to use it:
      • You don't format a partition as NTFS during a Linux installation unless you have a very specific reason to create a shared data partition for Windows from Linux.
      • Primarily, you'll interact with existing NTFS partitions if you are dual-booting with Windows. Linux can read and write to your Windows C: drive or other NTFS data partitions.
      • The openSUSE installer will detect existing NTFS partitions and can usually mount them if you choose to.

Partitioning Schemes

Now let's combine these concepts into practical partitioning schemes. The "best" scheme depends on your needs (desktop, server, dual-boot, hibernation, etc.) and personal preferences. We'll use the openSUSE installer's "Expert Partitioner" context.

  • Scheme 1: Simple Single Partition (for beginners, VMs, or specific use cases)

    • Description:
      The simplest approach. Almost everything goes into a single main partition, plus necessary auxiliary partitions (ESP for UEFI, swap).
    • Partitions:
      1. EFI System Partition (ESP): (If UEFI system)
        • Size: ~500 MB
        • Type: FAT32 (VFAT)
        • Mount Point: /boot/efi
      2. Root Partition (/):
        • Size: Remaining disk space minus swap.
        • Type: Btrfs (openSUSE default, for snapshots) or Ext4 (if simplicity is preferred and snapshots are not a priority).
        • Mount Point: /
        • If Btrfs, openSUSE will create subvolumes for /home, /opt, /var, etc., within this partition.
      3. Swap Partition:
        • Size: Based on RAM (see swap discussion above, e.g., RAM size or more if hibernation).
        • Type: Linux Swap
        • Mount Point: (None, identified as 'swap')
    • Pros: Easy to set up. No need to pre-allocate space for /home or other directories.
    • Cons:
      • If the root filesystem gets corrupted, all data (including user data in /home if it's a Btrfs subvolume) is at risk.
      • Reinstalling the OS means wiping everything (unless /home is a Btrfs subvolume and you carefully manage it, but it's trickier than a separate partition).
      • Less flexibility if one part of the system (e.g., /var/log) fills up; it consumes space from the entire partition.
    • openSUSE Installer Steps (Expert Partitioner):
      1. Select the disk.
      2. If GPT is not used, tell it to create a new GPT partition table (if UEFI).
      3. Create ESP: Click "Add Partition" -> Primary -> Size (500MB) -> Role: "EFI Boot Partition" (this usually sets FAT32 and /boot/efi automatically).
      4. Create Swap: Click "Add Partition" -> Primary -> Size (your calculated swap size) -> Role: "Swap" (this sets filesystem to Swap).
      5. Create Root: Click "Add Partition" -> Primary -> Size (use remaining space) -> Role: "Operating System".
        • Filesystem: Choose Btrfs or Ext4.
        • Mount Point: /
      6. Review and accept.
  • Scheme 2: Separate /home partition (Common and Highly Recommended Practice)

    • Description:
      The OS files (/) are on one partition, and user data (/home) is on another.
    • Partitions:
      1. EFI System Partition (ESP): (If UEFI)
        • Size: ~500 MB
        • Type: FAT32
        • Mount Point: /boot/efi
      2. Root Partition (/):
        • Size: 30GB - 60GB is often sufficient for most desktop systems. For Btrfs with snapshots, lean towards the higher end (or more if you install many large applications).
        • Type: Btrfs (for snapshots) or Ext4.
        • Mount Point: /
      3. /home Partition:
        • Size: Majority of the remaining space, as this is where your personal files, downloads, media, etc., will live.
        • Type: XFS (openSUSE often suggests this, good for large files) or Ext4 (very stable and reliable). Avoid Btrfs for /home if your / is already Btrfs unless you specifically want Btrfs features for home and understand subvolume management. Using a different, non-CoW filesystem like XFS/Ext4 for /home can sometimes be simpler and avoid CoW overhead for certain file types.
        • Mount Point: /home
      4. Swap Partition:
        • Size: Based on RAM and hibernation needs.
        • Type: Linux Swap
    • Pros:
      • Preserves User Data:
        You can reinstall or switch Linux distributions by formatting only the / partition, leaving your /home data intact.
      • Flexibility:
        Choose different filesystems for OS and data.
      • Can allocate space more granularly.
    • Cons:
      • If / fills up, it can't use space from /home (and vice-versa) without resizing (which LVM can help with, but that's more advanced).
      • Slightly more complex setup.
    • openSUSE Installer Steps (Expert Partitioner):
      1. Create ESP and Swap as in Scheme 1.
      2. Create Root (/): "Add Partition" -> Primary -> Size (e.g., 50GB) -> Role: "Operating System" -> Filesystem: Btrfs (or Ext4) -> Mount Point: /.
      3. Create Home (/home): "Add Partition" -> Primary -> Size (use most of the remaining space) -> Role: "Data and ISV Applications" (or manually set) -> Filesystem: XFS (or Ext4) -> Mount Point: /home.
      4. Review and accept.
  • Scheme 3: Advanced Partitioning (More Granular Control)

    • Description:
      For users who want fine-grained control over various parts of the filesystem, often separating /boot and /var.
    • Partitions:
      1. EFI System Partition (ESP):
        (If UEFI) ~500MB, FAT32, /boot/efi.
      2. /boot Partition:
        (Optional, but considered here)
        • Size: 500MB - 1GB (enough for several kernels and initramfs images).
        • Type: Ext4 (common and reliable) or FAT32 (less common for /boot itself unless specific bootloader needs).
        • Mount Point: /boot
        • Why separate /boot? If root (/) is encrypted, or uses LVM/RAID setups that GRUB might struggle with early, or if you use a filesystem for / that is not well-supported by GRUB for booting (rare these days). openSUSE's Btrfs/Snapper setup usually integrates /boot into the root subvolumes effectively.
      3. Root Partition (/):
        • Size: 25GB - 50GB (can be smaller if /var and /usr are also separate, but keep enough for core system and applications).
        • Type: Btrfs or Ext4.
        • Mount Point: /
      4. /home Partition:
        • Size: As needed for user data.
        • Type: XFS or Ext4.
        • Mount Point: /home
      5. /var Partition:
        • Size: Depends on usage. For a desktop, 5-20GB might be fine. For a server with heavy logging or databases, much larger.
        • Type: XFS (good for logs, variable data) or Ext4.
        • Mount Point: /var
      6. Swap Partition: As needed.
    • Pros:
      Maximum control, isolates different parts of the system, can optimize filesystems per role.
    • Cons:
      Most complex setup. Requires careful planning of sizes. Over-partitioning can lead to wasted space if some partitions are underutilized while others are full.
    • openSUSE Installer Steps (Expert Partitioner):
      Similar to Scheme 2, but add steps for creating /boot (if desired) and /var with their respective filesystems and mount points. Ensure Role is set appropriately or filesystem/mount point manually specified.
  • Scheme 4: Partitioning for Hibernation

    • Description:
      The key requirement for hibernation is a sufficiently large swap partition (a swap file can sometimes work but is less reliable for hibernation across different distributions and setups, and may require specific kernel parameters and configurations).
    • Key Consideration:
      The swap partition must be at least the size of your physical RAM. To be safe and accommodate ongoing swap usage even when not hibernating, 1.5x to 2x RAM for the swap partition is often recommended if hibernation is a priority.
    • Partitions (Example based on Scheme 2 with Hibernation):
      1. EFI System Partition (ESP):
        (If UEFI) ~500MB, FAT32, /boot/efi.
      2. Root Partition (/):
        e.g., 50GB, Btrfs.
      3. /home Partition:
        e.g., Remaining space minus swap, XFS or Ext4.
      4. Swap Partition:
        • Size: RAM size + a buffer (e.g., RAM * 1.5). If you have 8GB RAM, make swap 12GB-16GB. If 16GB RAM, make swap 24GB-32GB (if space allows and hibernation is critical).
        • Type: Linux Swap.
    • Post-Installation Steps (Brief Mention):
      • After installation, you may need to tell the kernel where to resume from. This usually involves adding a resume=/dev/sdXN (where /dev/sdXN is your swap partition) parameter to the kernel boot line in your GRUB configuration. YaST sometimes handles this if it detects a suitable swap partition during install, but it's good to verify.
      • Ensure your desktop environment's power manager supports hibernation and is configured to use it.
    • openSUSE Installer Steps (Expert Partitioner):
      • The main difference from other schemes is simply making the swap partition larger. When creating the swap partition, input the calculated size. The installer should detect its role as swap.
  • Scheme 5: Dual-Booting with Windows

    • Prerequisites:
      • Windows already installed (Strongly Recommended):
        It's much easier to install Windows first, then Linux. Windows installers are notorious for overwriting Linux bootloaders if installed second.
      • Free Space Created:
        You must shrink your Windows partition(s) from within Windows itself using its "Disk Management" tool (diskmgmt.msc). This is safer than trying to resize NTFS partitions from Linux, as Windows knows best how to move its own files.
        1. In Windows, open Disk Management.
        2. Right-click on your C: drive (or other NTFS partition you want to shrink).
        3. Select "Shrink Volume..."
        4. Enter the amount of space to shrink by (this will become unallocated space for openSUSE). Calculate how much space you need for openSUSE (root, home, swap).
        5. Click "Shrink."
      • Disable Windows Fast Startup:
        In Windows Power Options, disable "Turn on fast startup." This ensures Windows fully shuts down, releasing the filesystems and making them safer to access from Linux. Also, disable hibernation in Windows if you won't be using it (powercfg /h off in an admin cmd).
      • BIOS/UEFI Mode Consistency:
        Check if Windows is installed in UEFI mode or Legacy BIOS mode.
        • In Windows, run msinfo32. Look for "BIOS Mode". If it says "UEFI", Windows is in UEFI mode. If "Legacy", it's BIOS.
        • You must boot the openSUSE installer in the same mode as Windows. If Windows is UEFI, boot openSUSE installer in UEFI mode. If Windows is Legacy, boot openSUSE installer in Legacy mode. This ensures GRUB (Linux bootloader) can be installed correctly and can chainload Windows.
    • Partitioning Strategy for openSUSE in the Free Space:
      • EFI System Partition (ESP):
        • If Windows is in UEFI mode, it already has an ESP.
          You must reuse this existing ESP. Do NOT create a new one. The openSUSE installer should detect the existing ESP and configure it to be mounted at /boot/efi and install GRUB there alongside the Windows Boot Manager.
        • If Windows is in Legacy MBR mode, there is no ESP. GRUB will typically be installed to the MBR of the disk.
      • Within the unallocated space you created, you will create your Linux partitions (e.g., following Scheme 2: root, /home, swap).
    • Bootloader (GRUB):
      • The openSUSE installer should automatically detect your Windows installation and add an entry for it in the GRUB boot menu.
      • If Secure Boot is enabled in UEFI, openSUSE's signed bootloader (shim) should work with it. If issues arise, disabling Secure Boot is a common workaround.
    • openSUSE Installer Steps (Expert Partitioner for Dual-Boot):
      1. Boot openSUSE installer in the mode matching your Windows installation (UEFI or Legacy).
      2. Proceed to the partitioning stage and choose "Expert Partitioner."
      3. You will see your existing Windows partitions (NTFS) and the unallocated space you created. Do NOT delete or modify your Windows partitions.
      4. If UEFI and existing ESP:
        • Select the existing ESP (usually a small FAT32 partition).
        • Click "Edit."
        • Ensure its "Mount Point" is set to /boot/efi. Do NOT format it.
      5. In the unallocated space:
        Create your Linux partitions:
        • Root (/): e.g., 50GB, Btrfs.
        • /home: e.g., desired size, XFS or Ext4.
        • Swap: e.g., RAM size, Linux Swap.
        • Assign mount points and filesystems as needed.
      6. Bootloader Location:
        The "Booting" section of the installation summary (later step) should show GRUB2 (or GRUB2-EFI) being installed to the correct location (ESP for UEFI, or MBR of the disk for Legacy BIOS). Usually, the defaults are fine if you've set up the ESP correctly.
      7. Review very carefully before accepting, ensuring only the unallocated space is being used for new Linux partitions and that Windows partitions are untouched (except for the ESP being assigned /boot/efi mount point without formatting).

Using the openSUSE Expert Partitioner

The Expert Partitioner is YaST's powerful tool for detailed disk management.

  • Interface Overview:

    • Typically, on the left, you see a list of "Available Storage" (hard disks, USB drives, etc.).
    • On the right, you see details of the selected device, including its existing partitions or a graphical representation.
    • Buttons for actions: "Add Partition," "Edit," "Delete," "Resize" (use with caution on existing data), "Rescan Devices."
    • Options for "Create new partition table" (e.g., GPT, MBR).
    • Below, a list of configured mount points for the Linux system you are installing.
  • Navigating and Creating Partitions:

    1. Select Disk:
      Click on the hard disk you want to partition (e.g., /dev/sda, /dev/sdb).
    2. Partition Table:
      If it's a new/blank disk, or you want to change the type, you might need to create a partition table (e.g., "Create GPT"). Often, if you just start adding partitions, it will ask.
    3. Add Partition:
      Click "Add Partition..."
      • Partition Type:
        "Primary" is standard. (Extended/Logical is for MBR if you need more than 4).
      • Size:
        Enter size (e.g., "50 GB", "500 MB"). You can use units like M, G, T.
      • Next/Options:
    4. Role / Formatting Options:
      • Role:
        YaST has predefined "Roles" that try to intelligently set filesystem and mount point:
        • "Operating System": For /. Suggests Btrfs or Ext4.
        • "Data and ISV Applications": For /home, /opt. Suggests XFS or Ext4.
        • "Swap": For swap.
        • "EFI Boot Partition": For ESP. Sets FAT and /boot/efi.
        • "Do not format": If you are using an existing partition that's already formatted and has data you want to keep but just assign a mount point (e.g., a shared data partition).
      • Filesystem:
        If you don't pick a role that sets it, or want to override, select from Btrfs, Ext4, XFS, FAT, Swap, etc.
      • Mount Point:
        Crucial. Enter where this partition should be mounted in the Linux filesystem (e.g., /, /home, /boot, /boot/efi, /var). For swap, it's not mounted in the usual sense.
      • Format Options:
        Depending on the filesystem, you might see options like label, block size, etc. Defaults are usually fine. For Btrfs, you might see subvolume options, but often these are handled by defaults when / is Btrfs.
    5. Click "Finish" for that partition. Repeat for all partitions you need to create.
  • Modifying Existing Partitions:

    • Select an existing partition.
    • Click "Edit." You can change its mount point, decide to format it (or not), etc.
    • Use "Delete" with extreme caution.
    • "Resize" also carries risk if the partition contains data. It's generally safer to resize before installation using GParted from a live CD or Windows Disk Management for NTFS.
  • Btrfs Subvolume Management within the Installer:

    • When you format a partition as Btrfs and assign it as /, YaST automatically proposes a set of default subvolumes (@/opt, @/srv, @/tmp, @/usr/local, @/var/log, etc.).
    • You can usually see and sometimes modify these proposed subvolumes in the Expert Partitioner if you delve into the Btrfs options for the root partition. For most users, the defaults are sensible.
    • If you create a separate /home on XFS/Ext4, it won't be a Btrfs subvolume. If you choose to make /home also Btrfs (on the same partition as / or a different Btrfs partition), then you'd manage its subvolume status.
  • LVM (Logical Volume Management) - Brief Introduction:

    • What it is:
      LVM is a layer of abstraction between your physical partitions and the filesystems you use. It allows you to group physical partitions (or whole disks) into "volume groups" (VGs), and then create "logical volumes" (LVs) from the space in the VG. These LVs behave like regular partitions and can be formatted with filesystems.
    • Benefits:
      • Flexibility:
        Easily resize logical volumes (grow or shrink, if filesystem supports it) as long as there's free space in the volume group.
      • Snapshots:
        LVM also supports snapshots (different from Btrfs snapshots, these are block-level).
      • Span multiple disks: A single logical volume can span multiple physical disks.
    • When it might be useful:
      Servers, systems where disk space needs are dynamic, or if you want to easily add more disk space to existing filesystems later.
    • openSUSE Installer:
      The Expert Partitioner has options to configure LVM. You would:
      1. Create physical partitions and set their type to "Linux LVM" (or initialize them for LVM use).
      2. Create a Volume Group from these physical volumes.
      3. Create Logical Volumes within the VG, specifying their size and name.
      4. Then, format these LVs with filesystems and assign mount points just like regular partitions.
    • Complexity:
      Adds a layer of complexity. For most desktop users, especially with Btrfs, LVM might be overkill unless specific flexibility is needed. Btrfs itself offers some volume management-like features with its subvolumes and ability to add devices to a Btrfs filesystem.

Once you have defined all your partitions, mount points, and formatting options in the Expert Partitioner, you click "Accept" or "Next". YaST will show a summary of changes to be made to the disks. Review this final summary extremely carefully before proceeding, as the next step will actually write these changes to disk.

Workshop Disk Partitioning

This workshop provides practical scenarios to apply the concepts learned. It's best performed in a virtual machine or on a spare disk where no valuable data is at risk.

  • Project 1: Implementing a Separate /home Partition

    • Scenario:
      You have a new (or wiped) 100GB virtual disk. You want to install openSUSE Leap in UEFI mode.
    • Goal:
      1. EFI System Partition: 500MB, FAT32, mounted at /boot/efi.
      2. Root (/) partition: 30GB, Btrfs, mounted at /.
      3. Home (/home) partition: ~60GB (adjust based on remaining), XFS, mounted at /home.
      4. Swap partition: Remaining space (should be around 9.5GB, assuming 100GB total), Linux Swap.
    • Step-by-step using the Expert Partitioner (after reaching the partitioning stage in the installer):
      1. If prompted with "Suggested Partitioning", choose the option for "Expert Partitioner" (or "Create Partition Setup" / "Custom Partitioning").
      2. Select your 100GB disk (e.g., /dev/sda). If it's unformatted, it might ask to create a partition table. Choose GPT.
      3. Create EFI System Partition:
        • Click "Add Partition...".
        • Size: 500 MB.
        • Type: Primary (default). Click Next.
        • Role: Select "EFI Boot Partition". This should automatically set Filesystem to FAT and Mount point to /boot/efi.
        • Click "Finish".
      4. Create Swap Partition:
        • Click "Add Partition...".
        • Size: Calculate roughly. If root is 30GB and ESP is 0.5GB, then 100 - 30 - 0.5 = 69.5GB remaining for home+swap. If home is ~60GB, then swap is ~9.5GB. Enter 9.5 GB (or let it take a calculated chunk later).
        • Type: Primary. Click Next.
        • Role: Select "Swap". This sets Filesystem to "Swap" and Mount point to "swap".
        • Click "Finish".
      5. Create Root (/) Partition:
        • Click "Add Partition...".
        • Size: 30 GB.
        • Type: Primary. Click Next.
        • Role: Select "Operating System".
        • Filesystem: It should default to Btrfs. Verify this.
        • Mount point: It should default to /. Verify this.
        • Click "Finish".
      6. Create Home (/home) Partition:
        • Click "Add Partition...".
        • Size: Select "Maximum Size" or manually enter the remaining space (e.g., 60 GB if you sized swap precisely, or just let it use what's left after the other partitions).
        • Type: Primary. Click Next.
        • Role: Select "Data and ISV Applications".
        • Filesystem: Change this to XFS.
        • Mount point: Set this to /home.
        • Click "Finish".
      7. Review: You should now see your list of partitions:
        • A FAT32 partition mounted at /boot/efi.
        • A Btrfs partition mounted at /.
        • An XFS partition mounted at /home.
        • A Swap partition.
      8. Click "Accept" (or "Next"). The installer will show a summary of what will be formatted. Review carefully. (In a real install, this is when changes would be applied upon confirmation).
  • Project 2: Setting up for Hibernation

    • Scenario:
      You have a system with 8GB of physical RAM and want to reliably use hibernation. You are using a 250GB disk. You'll follow a "separate /home" scheme.
    • Goal:
      Create a swap partition of at least 12GB (8GB RAM * 1.5).
    • Step-by-step using Expert Partitioner:
      1. Reach the Expert Partitioner. Assume UEFI and GPT.
      2. Create EFI System Partition: 500MB, FAT32, /boot/efi.
      3. Create Swap Partition (Focus here):
        • Click "Add Partition...".
        • Size: Enter 12 GB (or 16 GB if you want to be very safe or have ample space).
        • Role: "Swap".
        • Click "Finish".
      4. Create Root (/) Partition:
        • Size: e.g., 50 GB.
        • Role: "Operating System", Filesystem: Btrfs, Mount point: /.
        • Click "Finish".
      5. Create Home (/home) Partition:
        • Size: "Maximum Size" (remaining space).
        • Role: "Data and ISV Applications", Filesystem: XFS, Mount point: /home.
        • Click "Finish".
      6. Review and Accept. The key difference is the deliberate sizing of the swap partition for hibernation.
  • Project 3 (Conceptual for Dual-Boot): Planning a Dual-Boot Partition Scheme

    • Scenario: You have a laptop with a single 500GB SSD. Windows 10 is already installed in UEFI mode and uses about 150GB. You want to install openSUSE Leap alongside it.
    • Task:
      1. Describe the steps you would take before booting the openSUSE installer.
      2. Outline the partition scheme you'd aim to create for openSUSE within the free space, including ESP handling, root, home, and swap, assuming you want a robust openSUSE setup.
    • Answer Outline:
      1. Pre-Installer Steps (in Windows):
        • Backup Important Windows Data:
          Critical first step.
        • Disable Fast Startup:
          Go to Windows Power Options -> "Choose what the power buttons do" -> "Change settings that are currently unavailable" -> Uncheck "Turn on fast startup".
        • Disable Windows Hibernation (optional but good):
          Open Command Prompt as Administrator, type powercfg /h off.
        • Shrink Windows Partition:
          • Open Disk Management (diskmgmt.msc).
          • Right-click the main Windows partition (usually C:).
          • Select "Shrink Volume...".
          • Decide how much space for openSUSE. Let's say you want ~150GB for openSUSE. You need to shrink the Windows partition by at least that amount, plus a little buffer if possible. If Windows uses 150GB and the disk is 500GB, you have 350GB free on the Windows partition. Shrinking it by 150GB would leave Windows with 200GB and create 150GB of unallocated space.
          • Enter the amount to shrink (e.g., 153600 MB for 150GB) and click "Shrink".
      2. openSUSE Partition Scheme within the 150GB Unallocated Space (using Expert Partitioner):
        • Boot openSUSE Installer in UEFI mode.
        • ESP Handling:
          • Locate the existing EFI System Partition (created by Windows, likely FAT32, 100-500MB).
          • Select it, click "Edit."
          • Set Mount Point to /boot/efi.
          • Crucially, ensure "Do not format this partition" is selected or implied (the installer usually won't reformat an existing ESP unless you explicitly tell it to).
        • Linux Partitions (in the 150GB unallocated space):
          • Root (/):
            • Size: ~40-50 GB (Btrfs for snapshots needs a bit more breathing room).
            • Filesystem: Btrfs.
            • Mount Point: /.
          • Swap:
            • Size: Depends on RAM. If 8GB RAM, maybe 8-12GB for swap (allowing for hibernation). Let's say 12GB.
            • Filesystem: Linux Swap.
          • /home:
            • Size: Remaining space from the 150GB (150 - 50 - 12 = ~88GB).
            • Filesystem: XFS or Ext4.
            • Mount Point: /home.
        • Bootloader:
          Confirm later in "Booting" summary that GRUB2-EFI is being installed to the shared ESP.
        • Review:
          Double-check that only the unallocated space is being used for new Linux partitions and that the existing Windows (NTFS) and ESP partitions are correctly handled (NTFS untouched, ESP mounted but not formatted).

Mastering disk partitioning takes practice and understanding. Don't be afraid to experiment in a safe environment like a virtual machine. The openSUSE Expert Partitioner gives you all the tools you need, but with great power comes great responsibility to ensure you're making the correct choices for your system.

4. User Creation and System Configuration

After the partitioning decisions are made and accepted (or if you used the suggested partitioning), the openSUSE installer proceeds to gather information for setting up your user accounts, time zone, and provides a final overview of all installation settings before committing to the actual installation of packages.

Clock and Time Zone

Accurate timekeeping is essential for many system functions, including logging, cron jobs, file timestamps, and network communication.

  1. Region and Time Zone Selection:

    • The installer will present a map of the world or a list of regions and cities.
    • Region:
      Select your continent/general region (e.g., Europe, Americas, Asia).
    • Time Zone:
      Select your specific time zone, often by choosing a major city within your zone (e.g., "Europe/London", "America/New_York", "Asia/Tokyo").
    • The installer will display the current time based on your selection. Verify it's correct. If not, you might need to adjust the selected zone or manually set the time (though manual setting is less common if the zone is correct).
  2. Hardware Clock Set to UTC:

    • Below the time zone selection, you will usually find an option: "Hardware clock set to UTC".
    • What this means:
      • Your computer has a hardware clock (Real-Time Clock or RTC) on the motherboard that keeps time even when the computer is off.
      • Operating systems can interpret the time stored in this hardware clock in two ways:
        • Local Time: The hardware clock stores the actual local time (e.g., 2 PM in your city). This is how Windows traditionally sets the RTC by default.
        • UTC (Coordinated Universal Time): The hardware clock stores UTC (which is similar to GMT). The operating system then calculates the local time by applying the time zone offset and Daylight Saving Time (DST) rules. This is the strongly recommended setting for Linux systems and for dual-booting environments.
    • Why UTC is Recommended for Linux:
      • DST Handling:
        UTC makes handling Daylight Saving Time changes much smoother and less ambiguous. The OS applies DST rules to the UTC base time.
      • Consistency:
        Avoids confusion if you travel between time zones or if different OSes try to adjust the RTC.
      • Dual-Booting:
        If you dual-boot Linux and Windows, both operating systems should be configured to treat the hardware clock the same way (preferably as UTC).
        • If Linux uses UTC and Windows uses Local Time (default), they will fight over the hardware clock, and your time will often be incorrect in one or both OSes after switching.
        • To make Windows use UTC, you typically need to make a registry change: Create a DWORD (32-bit) Value named RealTimeIsUniversal under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation and set its value to 1.
    • openSUSE Installer Action:
      • It is highly recommended to leave "Hardware clock set to UTC" checked (enabled).
      • If you are only installing openSUSE and will never dual-boot with an OS that insists on local time RTC (like an un-tweaked Windows), UTC is still the best practice.
      • If you are dual-booting with Windows and have not configured Windows to use UTC, you might temporarily uncheck this box during installation to avoid immediate time conflicts. However, the long-term solution is to configure Windows for UTC. If you uncheck it, openSUSE will set the RTC to local time.
    • Click "Next".

Creating the Main User Account

This is where you create the primary non-root user account that you will use to log in to your new openSUSE system.

  1. User's Full Name:
    • Enter your full name (e.g., "Jane Doe"). This is mostly for display purposes and informational.
  2. Username:
    • Enter a desired username (e.g., "jane", "jdoe"). This is the actual login name.
    • Rules/Conventions:
      • Usually lowercase.
      • Can contain letters and numbers.
      • Avoid spaces or special characters (some systems allow . or _, but simpler is often better).
      • Keep it reasonably short but descriptive.
  3. Password:

    • Enter a strong password for this user account.
    • Strong Password Best Practices:
      • Minimum length (e.g., 10-12 characters or more).
      • Mix of uppercase letters, lowercase letters, numbers, and symbols (e.g., !@#$%^&*).
      • Avoid easily guessable words (dictionary words, names, birthdays).
      • Unique to this account (don't reuse passwords from other services).
      • Consider using a passphrase (a sequence of words) for easier recall and good strength.
    • The installer will ask you to Confirm Password by typing it again to ensure accuracy.
    • There's often a password strength indicator.
  4. Option: "Use this password for system administrator" (i.e., for root)

    • What this means:
      If you check this box, the password you just set for your regular user account will also be used as the password for the root user (the superuser/administrator).
    • Pros:
      • Convenience: You only need to remember one password.
      • Simpler for single-user systems where the main user is also the administrator.
    • Cons (Security Perspective):
      • Reduced Security: If your user account password is compromised, the attacker immediately gains root access.
      • Best practice often suggests having a separate, very strong password for root that is different from any regular user password. This provides an additional layer of security.
      • Using sudo (which prompts for your user password to execute commands as root) is the more common way to perform administrative tasks, rather than logging in directly as root. So, even if root has its own password, you don't use it constantly.
    • Recommendation:
      • For beginners or single-user desktop systems where convenience is prioritized, checking this box is common and acceptable, provided your user password is very strong.
      • For multi-user systems, servers, or users with higher security consciousness, it's better to uncheck this box and set a separate, unique, and strong password for the root user in the next step.
  5. Option: "Automatic Login"

    • What this means:
      If you check this box, your user account will automatically log in when the system starts, bypassing the login screen where you would normally enter your password.
    • Pros:
      • Convenience: Faster startup directly to your desktop, especially on a single-user, physically secure machine.
    • Cons (Security Implications):
      • Major Security Risk if the computer is not physically secure: Anyone who can turn on the computer will have access to your files and system.
      • Not recommended for laptops that might be lost or stolen.
      • Not recommended for shared computers.
      • Even on a home desktop, consider if others might have access.
    • Recommendation:
      • For most users, especially those new to Linux or concerned about security, it is strongly recommended to leave "Automatic Login" unchecked. Entering your password at login is a fundamental security measure.
      • Only consider this if the computer is in a very secure private location and you are the sole user and understand the risks.
  6. Other Options (May vary):

    • Receive System Mail:
      Usually checked by default. The root user (and sometimes other system services) might send email notifications about system events. These would be delivered to this user if checked.

Root (Administrator) Password

If you unchecked "Use this password for system administrator" in the previous step, you will now be prompted to set a password specifically for the root user.

  • Importance of root:
    • The root user has unrestricted privileges on a Linux system. It can do anything: read/write/delete any file, install/remove software, change system configuration, stop services, etc.
    • Protecting root access is paramount for system security.
  • Setting the root Password:
    • Enter a very strong, unique password for root. This password should ideally be different from your regular user password.
    • You will be asked to confirm the root password.
  • When is the root password used?
    • Logging in directly as root (generally discouraged for routine tasks; sudo is preferred).
    • Sometimes, specific administrative tools or recovery scenarios might require the root password.
    • When using su - or su to switch to the root user in a terminal, it will ask for the root password. (Whereas sudo -i or sudo su - asks for your user password).

If you did check "Use this password for system administrator," this step for setting a separate root password will be skipped.

Click "Next" after handling user and root passwords.

Installation Settings Overview

This is a crucial "point of no return" screen. YaST presents a comprehensive summary of all the configuration choices you've made so far, and some additional settings that might have been defaulted. Review this screen very carefully before proceeding.

The summary typically includes clickable headings that allow you to revisit and change specific settings if needed.

  • Software:
    • This section shows the System Role you selected (e.g., "Desktop with KDE Plasma") and a summary of the software patterns and packages that will be installed.
    • Clicking on "Software" will take you to the YaST Software Management interface within the installer. Here you can:
      • View Patterns:
        Patterns are collections of packages for a specific purpose (e.g., "KDE Plasma Desktop," "GNOME Desktop," "Web and LAMP Server," "Office Software"). You can select or deselect entire patterns.
      • Search for Individual Packages:
        You can search for specific software packages and mark them for installation or removal.
      • Change System Role:
        You might even be able to change your primary system role here.
      • Verbose Explanation:
        This is your chance to customize the initial software set. For example, if you chose KDE but also want a few GNOME utilities, you could add them. If you want a more minimal install, you could deselect some patterns or packages (though be careful not to remove essential components). For a first-time user, sticking close to the defaults for your chosen System Role is usually wise. You can always add/remove software easily after installation.
  • Booting (Bootloader Configuration):
    • This section summarizes how the bootloader (usually GRUB2 for MBR/BIOS or GRUB2-EFI for UEFI) will be configured.
    • Clicking on "Booting" allows you to change bootloader settings:
      • Bootloader Type:
        GRUB2 / GRUB2-EFI.
      • Bootloader Location:
        • For UEFI: Should be the EFI System Partition (ESP).
        • For Legacy BIOS: Typically the Master Boot Record (MBR) of the primary boot disk (e.g., /dev/sda). Sometimes PBR (Partition Boot Record) of the Linux root or boot partition is an option, but MBR is more common for making Linux the primary boot OS.
      • Secure Boot:
        If your system has Secure Boot enabled and you're in UEFI mode, this section might show options related to enabling/disabling Secure Boot support for GRUB. openSUSE's shim is signed, so it usually works.
      • Kernel Parameters:
        You can add default kernel parameters that will be applied at every boot (e.g., nomodeset if you anticipate graphics issues, or resume=/dev/sdXN for hibernation). It's usually best to leave this default unless you know you need specific parameters.
      • Timeout:
        How long GRUB waits before booting the default entry.
      • Protective MBR flag (for GPT disks):
        Usually enabled by default.
    • Verbose Explanation:
      For most standard installations, the defaults chosen by YaST are correct. However, in complex dual-boot scenarios or if you have specific boot requirements, you might need to adjust these. Ensuring GRUB is installed to the correct location (ESP for UEFI, MBR for BIOS) is critical for the system to boot.
  • System (Hostname, Domain, etc.):
    • This section might allow you to set the system's hostname (e.g., "my-opensuse-pc") and domain name (if part of a local network domain). Defaults are often generated.
  • Firewall and SSH Service:
    • Firewall:
      • By default, openSUSE usually enables the firewall (firewalld or SuSEfirewall2) for security. This is generally a good thing.
      • If you click on this, you can disable the firewall (not recommended unless you have another firewall or are on a very trusted network and know the implications) or configure specific open ports. The default configuration for a desktop usually allows necessary outgoing connections and blocks unsolicited incoming connections.
    • SSH Service:
      • The SSH (Secure Shell) service allows remote login to your computer via the command line.
      • For a desktop System Role, SSH is usually disabled by default.
      • For a server System Role, SSH is usually enabled by default.
      • You can click to enable or disable it. If you plan to access your machine remotely, enable it. Ensure you use strong passwords or, even better, set up key-based authentication later.
  • Default Systemd Target:
    • Systemd is the init system used by openSUSE. "Targets" are equivalent to runlevels in older init systems.
    • graphical.target: Boots into a graphical desktop environment. This is the default if you selected a Desktop System Role.
    • multi-user.target: Boots to a text-based command-line login. This is the default if you selected a Server System Role.
    • You can usually change this here if, for example, you installed a desktop but want it to boot to text mode by default for some reason.
  • Other Settings: Depending on your choices, you might see summaries for Kdump (kernel crash dumping mechanism, usually enabled), security settings (like AppArmor profiles), etc.

The "Install" Button: Once you have meticulously reviewed all these settings and are satisfied, you will click the "Install" button (or similar, like "Confirm Installation"). A final confirmation dialog will appear, warning you that changes will be made to your disks and packages will be installed. This is your very last chance to abort without modifying your system.

Workshop User Creation and System Configuration Review

  • Project: Finalizing Installation Settings

    • Objective:
      Walk through the user creation, time zone, and final review stages of the openSUSE installer. This assumes you have just completed the partitioning setup in the installer.
    • Steps:
      1. Clock and Time Zone:
        • You should now be at the "Clock and Time Zone" screen.
        • Select your Region from the map or dropdown (e.g., "Europe").
        • Select your Time Zone (e.g., "London" or your local city).
        • Verify the displayed time is correct.
        • Observe the "Hardware clock set to UTC" checkbox. For this workshop (especially if in a VM or on a test system), leave it checked (enabled). Discuss the implications if you were dual-booting with a default Windows install.
        • Click "Next".
      2. Local User (Create New User):
        • User's Full Name: Enter a name, e.g., "Test User".
        • Username: Enter a username, e.g., "testuser".
        • Password: Enter a password (e.g., "P@$$wOrd123!" - use something you'll remember for the workshop but make it strong in a real install).
        • Confirm Password: Re-enter the password.
        • "Use this password for system administrator": For this workshop, uncheck this box so you can practice setting a separate root password.
        • "Automatic Login": Leave this unchecked.
        • Click "Next".
      3. Password for the System Administrator "root":
        • Since you unchecked the box in the previous step, you'll now set the root password.
        • Password: Enter a different, strong password for root (e.g., "RootP@$$wOrd321!").
        • Confirm Password: Re-enter it.
        • Click "Next".
      4. Installation Settings (Overview Screen):
        • You are now at the crucial "Installation Settings" summary. Do not click "Install" yet.
        • Examine each section:
          • Software:
            Note the System Role. Click on "Software".
            • The YaST Software Manager will open.
            • Explore the "View" filter (e.g., "Patterns"). Look at the patterns selected for your chosen desktop (e.g., KDE Plasma or GNOME).
            • Try searching for a package you know (e.g., "gimp" or "vlc") but do not change any selections. Just see how it works.
            • Click "Accept" or "OK" in the Software Manager to return to the summary.
          • Booting:
            Click on "Booting".
            • Observe the Bootloader (GRUB2-EFI or GRUB2).
            • Check the "Bootloader Location." Does it make sense for your setup (ESP for UEFI, MBR for BIOS)?
            • Look at other options like "Kernel Parameters" (don't change them).
            • Click "OK" to return.
          • Firewall and SSH:
            • Note if the Firewall is enabled (it should be).
            • Note if SSH is disabled (it should be for a desktop role).
            • You can click on it to see the options, but don't change them for now. Click "OK" or "Cancel" to return.
          • Review other sections briefly.
      5. The Decision Point:
        • At this point in a real installation, if all settings are correct, you would click the "Install" button.
        • A final confirmation pop-up would appear, warning about disk changes. You would click "Install" again to begin.
        • For this workshop, if you are on a system with valuable data or not in a disposable VM, DO NOT PROCEED. You can typically abort the installer (look for a quit option, or Ctrl+Alt+Backspace might restart the X server, or worst case, power off the VM/machine).
        • If you are in a disposable VM and want to see the installation begin, you can click "Install" and confirm.

This workshop section helps you understand the flow and importance of the final configuration steps before the actual file copying and system setup begin. Careful review here prevents surprises and ensures the system is installed as intended.

5. The Installation Process and First Boot

Once you've confirmed all settings in the "Installation Settings" overview and clicked "Install," the actual process of writing openSUSE to your hard disk begins. This section covers what happens during this phase, the automatic reboot, and your very first boot into your newly installed openSUSE system.

Performing the Installation

After your final confirmation, YaST takes over and automates the entire installation process based on your selections.

  1. Disk Preparation:

    • The first thing YaST does is apply the partitioning changes you specified. This includes:
      • Creating new partition tables (if necessary).
      • Creating the individual partitions.
      • Formatting the partitions with the chosen filesystems (e.g., Btrfs for /, XFS for /home, FAT32 for ESP, preparing swap).
    • This is a destructive process for the targeted areas of the disk. Any data previously on partitions that are being formatted will be erased.
  2. Package Installation:

    • Once the filesystems are ready, the installer begins copying and installing the software packages.
    • You'll see a progress bar, often with details about:
      • The total number of packages to install.
      • The current package being installed.
      • The estimated time remaining.
    • The packages are sourced from the installation media (DVD/USB ISO). If you enabled "Online Repositories" earlier and have an internet connection, the installer might also download updated packages or additional packages from these repositories. This can extend the installation time but results in a more up-to-date system from the outset.
    • A slideshow often runs during this phase, showcasing openSUSE features, community, and tips. You can usually click to read "Details" or "Release Notes."
  3. System Configuration:

    • While packages are installing, or after the bulk of them are copied, the installer performs various configuration tasks:
      • Setting up the bootloader (GRUB2/GRUB2-EFI) and writing its configuration so the system can boot.
      • Configuring system hardware based on detected components.
      • Setting the hostname, time zone, and locale.
      • Creating user accounts and setting passwords.
      • Configuring network settings.
      • Setting up basic security (firewall, AppArmor profiles if selected).
      • Running post-installation scripts for various packages.
  4. Patience is Key:

    • The duration of the installation process can vary significantly depending on:
      • The speed of your computer (CPU, RAM, disk I/O - SSDs are much faster than HDDs).
      • The speed of your installation media (USB 3.0 is faster than USB 2.0, DVD is slowest).
      • The number of packages being installed (a full KDE or GNOME desktop takes longer than a minimal server).
      • Whether online repositories are being used (internet speed then becomes a factor).
    • Typical installation times can range from 15-20 minutes on a fast modern system with an SSD to an hour or more on older hardware or with slower media/internet.
    • Avoid interrupting the installation process unless absolutely necessary, as this could leave your system in an inconsistent or unbootable state.

Automatic Reboot

  1. Installation Completion:
    • Once all packages are installed and configured, the installer will display a message indicating that the installation is complete.
  2. Prompt to Reboot:
    • It will then prompt you to reboot your computer to start using your new openSUSE system.
    • There's usually a countdown timer, after which the system will reboot automatically if you don't click "Reboot Now."
  3. Remove Installation Media:
    • Crucial Step: As the computer begins to shut down for the reboot, or immediately when it starts back up (before it boots from the hard drive), remove the USB installation drive or DVD from the drive.
    • If you forget to remove it, the computer might boot back into the installer again instead of your newly installed system (if the BIOS/UEFI boot order still prioritizes USB/DVD). If this happens, simply remove the media and reboot again.

First Boot into openSUSE

This is the exciting moment when you see your new openSUSE system come to life for the first time from the hard drive.

  1. GRUB Boot Menu (if applicable):

    • If you have only openSUSE installed, you might see the GRUB menu briefly, or it might boot directly into openSUSE after a short timeout.
    • If you are dual-booting (e.g., with Windows), the GRUB boot menu will appear. It will list:
      • openSUSE Leap 15.X (or openSUSE Tumbleweed) - usually the default, highlighted entry.
      • Advanced options for openSUSE Leap 15.X - allows booting older kernels or in recovery mode.
      • Windows Boot Manager (on /dev/sdXY) - or similar entry for your other OS.
    • Use the arrow keys to select an operating system and press Enter. If you do nothing, GRUB will boot the default entry (openSUSE) after the timeout.
  2. System Startup:

    • You'll see kernel messages scrolling by (this is normal), or a graphical boot splash screen (Plymouth theme) might hide these messages.
    • Systemd services will be started.
    • The display manager (e.g., SDDM for KDE, GDM for GNOME) will load, presenting you with the login screen.
  3. Logging In:

    • At the login screen:
      • Your username (that you created during installation) should be listed, or you might need to type it.
      • Click on your username or type it.
      • Enter the password you set for your user account.
      • Press Enter or click the "Login" button.
    • If you chose a desktop environment like KDE Plasma or GNOME, you might also see a session selector (often a small icon) allowing you to choose between different window managers or sessions if multiple are installed (e.g., "Plasma (Wayland)", "Plasma (X11)", "GNOME", "GNOME Classic"). For a first boot, the default is usually fine.
  4. Welcome to Your Desktop!

    • After a successful login, your chosen desktop environment (KDE Plasma, GNOME, XFCE, etc.) will load.
    • You'll see your desktop background, panels, icons, etc.

Welcome Screen and Initial Setup (if applicable)

Many modern desktop environments provide a welcome application or initial setup wizard on the first login.

  • KDE Plasma Welcome Center:
    • KDE Plasma often shows a "Welcome Center" application.
    • This provides quick links to:
      • Learn about Plasma features.
      • Customize desktop settings (look and feel, themes, colors).
      • Configure online accounts (Google, Nextcloud, etc.).
      • Find applications.
      • Access help and documentation.
    • It's a good idea to explore this if you're new to KDE Plasma.
  • GNOME Initial Setup / GNOME Tour:
    • GNOME may run an "Initial Setup" tool on first login (or a "GNOME Tour" application).
    • This might help you:
      • Confirm language and keyboard settings again (usually already set).
      • Connect to Wi-Fi networks (if not already configured).
      • Configure online accounts.
      • Enable location services.
      • Give a brief tour of GNOME Shell's interface (Activities Overview, Dash, workspaces).
  • Connecting to Wi-Fi:
    • If you didn't configure Wi-Fi during installation (e.g., you used a wired connection or skipped network setup) and need it now:
      • Look for the network manager applet in your system tray (usually a Wi-Fi icon or network icon).
      • Click it to see available wireless networks.
      • Select your Wi-Fi network (SSID).
      • Enter the Wi-Fi password when prompted.
      • You should then be connected to the internet.

Congratulations! You have successfully installed openSUSE Linux and booted into your new system.

Workshop First Boot Experience

  • Project: Exploring Your New openSUSE Desktop

    • Objective:
      Successfully boot into your newly installed openSUSE system, log in, and perform some initial exploratory tasks.
    • Prerequisites:
      You have just completed the openSUSE installation, and the system has rebooted. You have removed the installation media.
    • Steps:
      1. Boot Sequence:
        • Watch the computer boot. If you are dual-booting, you should see the GRUB menu. Select your openSUSE installation (it should be the default).
        • Observe any boot splash screen or kernel messages.
      2. Login Screen:
        • When the login screen appears:
          • Select or type your username.
          • Carefully type your user password.
          • (Optional) If there's a session selector (e.g., a gear icon or dropdown), click it to see what options are available (e.g., Plasma X11, Plasma Wayland, GNOME, etc.). For now, just use the default.
          • Click "Login" or press Enter.
      3. Desktop Loads:
        • Wait for your desktop environment to load completely.
      4. Welcome Application (KDE/GNOME):
        • If a "Welcome Center" (KDE) or "GNOME Tour/Initial Setup" (GNOME) appears, take a few minutes to click through it. Don't change too many settings yet, just get a feel for what it offers.
        • Close the welcome application when you're done with the initial tour.
      5. Connect to Wi-Fi (If Necessary):
        • If you are not using a wired connection and haven't set up Wi-Fi yet:
          • Locate the network icon in your system tray/panel (usually top-right or bottom-right).
          • Click it, find your Wi-Fi network's name (SSID), select it, and enter the password.
          • Verify you have internet connectivity by trying to open a web browser (e.g., Firefox, which is usually pre-installed) and visiting a website like opensuse.org.
      6. Open a Terminal:
        • Find and launch a terminal application.
          • KDE Plasma:
            Look for "Konsole" in the application menu (often Kicker > Applications > System > Konsole).
          • GNOME:
            Press the Super key (Windows key), type terminal, and click on the "Terminal" icon.
          • XFCE:
            Look for "Xfce Terminal" in the applications menu.
      7. Run Basic Commands:
        In the terminal, type the following commands one by one, pressing Enter after each. Observe their output:
        • whoami (Prints your current username)
        • hostname (Prints the computer's hostname)
        • pwd (Prints the current working directory, should be your home directory like /home/yourusername)
        • ls (Lists files and directories in the current directory)
        • uname -a (Prints detailed Linux kernel and system information)
        • lsblk (Lists block devices - your hard drives and their partitions. Compare this to the partitioning scheme you created.)
        • df -h (Shows disk free space on mounted filesystems in human-readable format. Check your /, /home, and /boot/efi usage.)
        • free -h (Shows RAM and swap usage in human-readable format.)
      8. Find and Launch YaST:
        • openSUSE's central configuration tool, YaST, is very important.
        • KDE Plasma:
          Open the Application Launcher (Kicker) -> "System" -> "YaST". Or type "YaST" in the launcher search.
        • GNOME:
          Press Super key, type "YaST", click the YaST icon.
        • It will ask for the root password (the one you set for the system administrator, or your user password if you chose to use it for root). Enter it.
        • The YaST Control Center will open. Briefly look at the categories of modules available (Software, Hardware, System, Network Devices, Security and Users, etc.). Do not change any settings in YaST yet. Just familiarize yourself with its layout.
        • Close YaST.
      9. Explore Your Desktop:
        • Click around the application menu.
        • Open the file manager (Dolphin in KDE, Nautilus/Files in GNOME, Thunar in XFCE) and look at your home directory.
        • Try changing the desktop wallpaper.
        • Find the system settings application for your desktop environment.

This initial exploration helps you confirm that the installation was successful and that your basic environment is functional. The next step, covered in the following section, is crucial: updating your system and performing other essential post-installation tasks.

6. Post-Installation Essentials

You've successfully installed openSUSE and taken your first look around! Now, it's time for some essential post-installation steps to ensure your system is up-to-date, secure, has the necessary multimedia support, and is configured for optimal use. These steps are crucial for a smooth and complete openSUSE experience.

System Updates

The ISO image you used for installation, especially for Leap, might not contain the absolute latest versions of all software packages. Security vulnerabilities are constantly discovered and patched, and software receives bug fixes and improvements. Therefore, the very first thing you should do on a newly installed system is to update it.

  • Importance of Updating Immediately:

    • Security:
      Installs the latest security patches to protect your system from known vulnerabilities.
    • Stability:
      Applies bug fixes that may have been released since your ISO was created.
    • Features:
      Might bring minor feature updates or improvements to your installed software.
  • Using YaST Online Update (Graphical Method):

    1. Launch YaST (from your application menu, search for "YaST").
    2. Enter the root password when prompted.
    3. In the YaST Control Center, go to the "Software" category and click on "Online Update".
    4. YaST will refresh the package information from your configured repositories (the ones set up during installation, plus any default update repositories). This might take a moment.
    5. It will then display a list of available patches and package updates. Usually, all important and security updates are pre-selected.
    6. Review the list if you wish (though for a first update, it's generally safe to accept all recommended updates).
    7. Click "Accept" or "Install" to download and apply the updates.
    8. The download and installation process may take some time, depending on the number of updates and your internet speed.
    9. A reboot might be required if critical components like the kernel or systemd were updated. YaST will inform you if this is the case.
  • Using zypper in the Terminal (Command-Line Method - Powerful and Efficient): zypper is openSUSE's command-line package manager. It's very powerful and often preferred by experienced users for its speed and scriptability.

    1. Open a terminal (Konsole, GNOME Terminal, etc.).
    2. Refresh Repository Data: First, refresh the list of available packages from all configured repositories:
      sudo zypper refresh
      # or shorter:
      # sudo zypper ref
      
      You'll be prompted for your user's password (since you're using sudo).
    3. Perform the Update/Distribution Upgrade:
      • For openSUSE Leap: While zypper up (update) will install newer versions of packages, and zypper patch will install official patches, a common practice that also handles package changes and vendor switches more robustly is to use dup (distribution upgrade) similar to Tumbleweed. This ensures your system aligns with the current state of the repositories.
        sudo zypper dup
        
      • For openSUSE Tumbleweed: dup is the standard and only supported way to update your system. Tumbleweed is a rolling release, so you're always "upgrading" to the latest snapshot.
        sudo zypper dup
        
      • Explaining zypper ref and zypper dup:
        • sudo zypper ref (or refresh): Contacts all enabled repositories and downloads the latest metadata (lists of available packages, versions, dependencies). This ensures zypper knows what's new.
        • sudo zypper dup (or dist-upgrade): This is the most comprehensive update command. It synchronizes the installed packages with the versions available in the repositories. It will:
          • Upgrade packages that have newer versions.
          • Downgrade packages if the repository version is older (rare, but can happen if a package was reverted).
          • Install new packages that are dependencies of updated packages.
          • Remove obsolete packages that are no longer needed or conflict.
          • Handle changes in package providers (vendor changes), which is important when you add third-party repositories like Packman.
      • zypper will show you a list of packages that will be upgraded, installed, or removed, and the total download size. Review this list.
      • Type y (yes) and press Enter to proceed with the download and installation.
    4. Reboot (If Necessary): If the kernel or other core system components were updated, it's highly recommended to reboot your system for the changes to take full effect:
      sudo reboot
      

Regularly updating your system (e.g., once a week for Leap, more frequently for Tumbleweed if you wish) is a good habit.

Installing Essential Software and Codecs

By default, openSUSE (like many Linux distributions) does not include certain multimedia codecs or proprietary software due to licensing restrictions or patent issues. To play many common audio and video formats (MP3, AAC, H.264, etc.) or to get drivers for certain hardware, you might need to add an additional community repository called Packman.

  • Restricted Multimedia Codecs (Packman Repository):

    • Why they are not included by default:
      Many popular multimedia codecs are encumbered by patents or restrictive licenses that prevent them from being distributed freely with openSUSE's main repositories.
    • Packman Repository:
      This is a large, independent community repository that provides packages not included in the official openSUSE distribution, including a full range of multimedia codecs, enhanced versions of some applications (like VLC, MPlayer), and other software.
    • Adding the Packman Repository: You need to add the Packman repository appropriate for your openSUSE version. The URLs change slightly based on Leap version or Tumbleweed. You can find the correct URLs on the official Packman site (https://packman.links2linux.org/) or often in openSUSE community guides.

      • Using YaST Software Repositories (Graphical):
        1. Open YaST -> "Software Repositories".
        2. Click "Add" (bottom-left).
        3. Select "Community Repositories".
        4. You should see a list that includes "Packman Repository". Select it and click "OK".
        5. It will ask you to trust the repository key. Accept it.
      • Using zypper ar (Command-Line - Recommended for precision): Replace YOUR_LEAP_VERSION with your specific Leap version (e.g., 15.5, 15.6) or use the Tumbleweed URL.
        • For openSUSE Leap (example for 15.5):
          sudo zypper ar -cfp 90 'https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.5/' packman
          
          • ar: addrepository
          • -c: check URI
          • -f: enable auto-refresh
          • -p 90: set priority (90 is higher priority than default 99, meaning packages from Packman will be preferred if they exist in official repos too). This is important for the next step.
          • 'URL' is the repository URL.
          • packman is the alias (a short name) for this repository.
        • For openSUSE Tumbleweed:
          sudo zypper ar -cfp 90 'https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/' packman
          
          After adding, refresh zypper: sudo zypper ref
    • Switching System Packages to Packman Versions:

      • After adding Packman with a higher priority, many core multimedia libraries (like gstreamer plugins, ffmpeg) provided by openSUSE have more feature-complete versions in Packman. To ensure full multimedia playback, you should switch your system packages to the Packman versions.
      • This is a CRUCIAL step for multimedia.
      • The command for this is:
        sudo zypper dup --from packman --allow-vendor-change
        
        • --from packman: Tells zypper to only consider packages from the repository with the alias "packman" for this operation.
        • --allow-vendor-change: Allows zypper to switch a package from the "openSUSE" vendor to the "Packman" vendor.
      • Review the list of packages that will be switched and type y to confirm. This will download and install the Packman versions.
  • Commonly Used Applications:

    • Your openSUSE installation comes with a good set of default applications, but you might want more.
    • Examples:
      • VLC Media Player:
        A very popular, versatile media player (best installed from Packman for full codec support: sudo zypper install vlc vlc-codecs).
      • GIMP (GNU Image Manipulation Program):
        A powerful open-source image editor, like a free alternative to Photoshop. (sudo zypper install gimp)
      • Inkscape:
        A vector graphics editor. (sudo zypper install inkscape)
      • LibreOffice:
        Usually installed by default with desktop roles, but if not, or if you want specific components: (sudo zypper install libreoffice)
      • Chromium or other web browsers:
        Firefox is default. If you want Chromium: (sudo zypper install chromium). Google Chrome needs to be downloaded from Google's site (as a .rpm) and installed manually or via a third-party repo.
      • Steam:
        For gaming. (sudo zypper install steam)
      • Development Tools:
        gcc, g++, make, git, Python, Java (OpenJDK), etc. (sudo zypper install gcc g++ make git python3 java-11-openjdk)
      • Virtualization Software:
        VirtualBox (might require adding Oracle's repository or using the version from openSUSE non-OSS, kernel modules might be needed), qemu, kvm, virt-manager.
  • Using YaST Software Management (Graphical):

    1. Open YaST -> "Software Management".
    2. You can search for software by name or browse by patterns/categories.
    3. Check the box next to packages you want to install.
    4. Click "Accept" to apply changes. YaST will resolve dependencies and install the software.
  • Using zypper (Command-Line):

    • Search for a package:
      zypper search <package_name_or_keyword>
      # Example: zypper search "image editor"
      # Example: zypper se gimp  (se is short for search)
      
    • Install a package:
      sudo zypper install <package_name>
      # Example: sudo zypper install gimp vlc
      # (in is short for install)
      
    • Remove a package:
      sudo zypper remove <package_name>
      # Example: sudo zypper remove unwanted_package
      # (rm is short for remove)
      
    • Get information about a package:
      zypper info <package_name>
      

Graphics Drivers

openSUSE generally has excellent support for open-source graphics drivers, which work out-of-the-box for Intel and AMD GPUs, and provide basic functionality for NVIDIA GPUs via the Nouveau driver. However, for optimal performance, 3D acceleration (especially for gaming or demanding graphics work) on NVIDIA cards, or for specific features like CUDA, you might need to install proprietary NVIDIA drivers.

  • Intel Graphics:
    • Generally work best out-of-the-box. The open-source Intel drivers (i915 kernel module, Mesa drivers) are mature and provide excellent performance. No further action is usually needed.
  • AMD Graphics:
    • Also well-supported by open-source drivers (amdgpu kernel module, Mesa drivers). These drivers are very performant and are the recommended choice for most AMD GPU users.
    • AMD also offers a proprietary "AMDGPU-PRO" driver, but it's typically only needed for specific professional workloads (like certain CAD/CAM applications or professional OpenCL use) and can sometimes be less stable for general desktop use than the open-source drivers.
  • NVIDIA Graphics:

    • Nouveau (Open-Source Driver):
      Installed by default. Provides basic 2D acceleration and some 3D capabilities. Performance is generally much lower than the proprietary driver for gaming and intensive 3D. Power management can also be less optimal.
    • NVIDIA Proprietary Drivers:
      Offer the best performance, full feature support (CUDA, NVENC/NVDEC), and better power management for NVIDIA GPUs.
      • The "Easy Way" via YaST Software Management / zypper (Recommended): openSUSE often packages the NVIDIA proprietary drivers in its non-OSS (Non-Open Source Software) repository or makes them easy to install.
        1. Identify your NVIDIA GPU model:
          You might need this to choose the correct driver series (though YaST often auto-detects). lspci | grep -i nvidia
        2. Add Non-OSS Repository (if not already added):
          In YaST -> Software Repositories, make sure the "Non-OSS" repository for your openSUSE version is enabled. (e.g., http://download.opensuse.org/distribution/leap/$releasever/repo/non-oss/)
        3. Search and Install in YaST:
          Open YaST -> Software Management. Search for "nvidia". You should find packages like:
          • nvidia-glG06 (for newer cards, the G0X number might change with driver versions)
          • nvidia-glG05 (for slightly older cards)
          • nvidia-glG04 (for even older cards) The descriptions usually indicate which card series they support. The installer might even auto-select the correct one if you search for a pattern like "NVIDIA drivers". Select the appropriate driver package series (e.g., nvidia-glG06). YaST should pull in the necessary kernel modules (nvidia-gfxG06-kmp-default or similar) and other dependencies.
        4. Install via zypper:
          Find the correct driver pattern or metapackage. The openSUSE wiki for NVIDIA drivers is a good resource. Often, installing a hardware detection package first helps:
          sudo zypper install nvidia-detect
          nvidia-detect # This command will tell you which driver series to install
          
          Then install the recommended driver, e.g., if nvidia-glG06 is recommended:
          sudo zypper install nvidia-glG06 # Or the specific kmp package: x11-video-nvidiaG06
          
        5. Reboot:
          A reboot is required after installing NVIDIA drivers for the new kernel modules to load.
        6. Blacklisting Nouveau:
          The NVIDIA driver installation process usually handles blacklisting the Nouveau driver automatically (so they don't conflict). If not, you might need to do it manually (advanced).
      • From the NVIDIA Website (More Complex, Generally Not Recommended for Beginners):
        You can download .run installer files directly from NVIDIA's website. This method:
        • Requires you to drop to a text console (init 3), stop your display manager, and run the installer script.
        • Doesn't integrate with the package manager, so updates are manual.
        • Can be broken by kernel updates (requiring reinstallation of the driver).
        • This method is generally only advised if the repository drivers are not working or are too old for a very new card.
  • Verifying Driver Installation:

    • After rebooting (especially for NVIDIA):
      • NVIDIA:
        Run nvidia-smi in a terminal. If it shows your GPU details and driver version, the proprietary driver is loaded. You can also check nvidia-settings (a GUI tool).
      • General:
        glxinfo | grep "OpenGL renderer string" should show your GPU and the correct driver (e.g., Mesa Intel, Mesa AMD, NVIDIA Corporation). glxgears is a very simple test for 3D rendering (not a benchmark).

Configuring Peripherals

openSUSE generally has good support for common peripherals like printers and scanners. YaST provides convenient modules for their configuration.

  • Printers (CUPS):

    • Linux uses CUPS (Common UNIX Printing System) as its print server.
    • Connect your printer: Ensure your printer is connected (USB or network) and powered on.
    • Open YaST -> "Hardware" -> "Printer".
    • YaST will scan for connected printers.
    • If your printer is detected, it might be automatically configured, or you might need to select it from a list.
    • YaST will try to find the correct driver (PPD file). It has a large database. If your specific model isn't listed, try a similar model from the same manufacturer or a generic PPD (like generic PostScript or PCL).
    • You can configure options like paper size, print quality, etc.
    • Print a test page to verify.
    • Many modern printers also support driverless printing via IPP Everywhere or AirPrint, which CUPS can often use automatically.
  • Scanners (SANE):

    • Linux uses SANE (Scanner Access Now Easy) as its framework for scanner access.
    • Connect your scanner:
      Ensure it's connected and powered on.
    • Open YaST -> "Hardware" -> "Scanner".
    • YaST will scan for scanners.
    • If detected, it will try to configure the appropriate SANE backend (driver).
    • You can then use scanning applications like "XSane" (sudo zypper install xsane), "Simple Scan" (sudo zypper install simple-scan), or GIMP's scanning plugin.
    • Some multifunction printer/scanner devices might require specific drivers or firmware, often available from the manufacturer's website (look for Linux drivers) or sometimes in community repositories.
  • Other Common Peripherals:

    • Webcams, Microphones, Speakers:
      Usually work out-of-the-box if they are standard USB devices. Use applications like Cheese (webcam), PulseAudio Volume Control (pavucontrol - for audio levels/devices), or your desktop environment's sound settings to test and configure.
    • Bluetooth Devices:
      Use your desktop environment's Bluetooth manager (e.g., Blueman, GNOME Bluetooth, KDE's Bluedevil) to pair and manage devices. You might need bluez and related packages installed.
    • Game Controllers:
      Many USB game controllers work out-of-the-box. Tools like jstest-gtk can help test them. Steam also has good controller support.

Workshop Post-Installation Configuration

  • Project 1: Updating Your System and Adding Packman for Multimedia

    • Objective:
      Perform a full system update and configure the Packman repository to enable playback of common multimedia formats.
    • Steps:
      1. Open a Terminal.
      2. Perform System Update:
        sudo zypper refresh
        sudo zypper dup
        
        Review the proposed changes and type y to proceed. Wait for it to complete. If a reboot is suggested (e.g., due to a kernel update), do it: sudo reboot.
      3. Add Packman Repository (Choose URL for your openSUSE Version - Example for Leap 15.5):
        sudo zypper ar -cfp 90 'https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.5/' packman
        
        (If using Tumbleweed, use the Tumbleweed Packman URL.) It will ask you to trust the new repository's GPG key. Type a (always trust) or y (trust for this session) and press Enter.
      4. Refresh Repositories again (to include Packman):
        sudo zypper refresh
        
      5. Switch System Packages to Packman Versions:
        sudo zypper dup --from packman --allow-vendor-change
        
        This is important! Review the changes (many packages might switch vendor from openSUSE to Packman) and type y to proceed.
      6. Install VLC Media Player (from Packman):
        sudo zypper install vlc vlc-codecs
        
        This installs VLC and its associated codecs from Packman, ensuring broad format support.
      7. Test Multimedia Playback:
        • Find a sample MP3 audio file and a common video file (e.g., an MP4 with H.264 video and AAC audio).
        • Try to play them using VLC or your desktop's default media player (which should now use the Packman codecs via gstreamer). They should play correctly.
  • Project 2: Installing a Printer (Conceptual or with a Real/Virtual Printer)

    • Objective: Understand the process of adding a printer using YaST.
    • Steps:
      1. If you have a real printer:
        Connect it via USB or ensure it's on the same network as your openSUSE machine and powered on.
      2. If you don't have a real printer (for conceptual understanding):
        You can still walk through most of the YaST module.
      3. Open YaST: Launch YaST and enter the root password.
      4. Navigate to Hardware -> Printer.
      5. YaST will scan for printers.
        • If a printer is found, it might be listed.
        • If not, or if you want to configure manually, look for "Add" or "Configure" options.
      6. Driver Selection:
        • YaST will try to find a driver. You'll likely see options to select Manufacturer and Model.
        • Browse the list for your printer. If your exact model isn't there, try a close match or a generic driver (PostScript, PCL).
      7. Connection Type:
        Specify how the printer is connected (USB, network - LPD, IPP, Samba, etc.). For network printers, you might need its IP address.
      8. Name and Test:
        Give your printer a name and description.
      9. YaST will usually offer to print a test page. If you have a real printer, do this to confirm it's working.
      10. Click "Finish" or "OK" to save the configuration.
      11. Try printing from an application like LibreOffice Writer or a text editor.

By completing these post-installation tasks, your openSUSE system will be more secure, capable, and tailored to your needs. You're now well-equipped to start exploring the vast world of software and possibilities that openSUSE offers.

7. Troubleshooting Common Installation Issues

Even with careful preparation, sometimes the installation process or initial boot can hit a snag. This section covers some common issues encountered during or immediately after installing openSUSE, along with general troubleshooting strategies and how to look for solutions.

Installation Freezes or Fails

One of the most frustrating issues is when the installer freezes, crashes, or fails to complete.

  • Possible Causes & Solutions:

    • Corrupted ISO or Faulty Installation Media:
      • Symptom:
        Installer hangs randomly, fails to read files, shows checksum errors during media check.
      • Solution:
        1. Verify ISO Checksum:
          Ensure the downloaded ISO's SHA256 sum matches the official one. If not, re-download.
        2. Re-create Bootable Media:
          Write the ISO to the USB/DVD again, possibly using a different USB drive or DVD, or a different creation tool. Burn DVDs at a slower speed.
        3. Use the "Check Installation Media" option from the openSUSE boot menu before starting the installation.
    • Hardware Incompatibility (Especially Graphics Card or Wi-Fi Adapter):
      • Symptom: Installer freezes when trying to start the graphical environment (X server), or network configuration fails. Black screen after selecting "Installation."
      • Solution (Graphics):
        1. Try nomodeset:
          At the installer boot menu, before selecting "Installation," look for "Boot Options" (often F1-F8 keys) or an "e" key to edit boot parameters. Add nomodeset to the line that starts with linux or linuxefi. This tells the kernel not to load video drivers until X itself starts, which can bypass issues with problematic kernel mode setting.
        2. Other parameters to try if nomodeset doesn't work: nouveau.modeset=0 (if NVIDIA), radeon.modeset=0 (if older AMD), amdgpu.modeset=0 (if newer AMD).
        3. Try a different video mode/resolution if offered by the installer's boot options (e.g., "Text Mode Installation" or a safe graphics mode). If you can complete a text-mode install, you can try to fix graphics drivers post-install.
      • Solution (Wi-Fi):
        1. If installation hangs at network setup, try skipping network configuration or using a wired Ethernet connection if possible for the installation. You can configure Wi-Fi post-install.
        2. Identify your Wi-Fi chipset (lspci -nnk or lsusb from a rescue console if possible) and search for Linux compatibility or required firmware.
    • Insufficient System Resources (RAM, Disk Space):
      • Symptom:
        Installer is extremely slow, crashes, or complains about lack of space.
      • Solution:
        1. Ensure your system meets at least the minimum requirements (preferably recommended). Free up more disk space if partitioning fails due to space.
        2. Close unnecessary applications on the host if running in a VM with dynamically allocated RAM that's too low.
    • BIOS/UEFI Settings Issues:
      • Symptom: Installer doesn't boot at all, or has issues with disk detection or bootloader installation.
      • Solution:
        1. Secure Boot:
          If enabled in UEFI, try disabling it temporarily to see if it resolves booting the installer or installing the bootloader. openSUSE supports Secure Boot, but some hardware implementations can be finicky.
        2. SATA Mode:
          Ensure SATA mode is set to AHCI (not IDE or RAID unless you specifically need RAID and know how to configure it for Linux).
        3. Boot Mode:
          Ensure you are booting the installer in the correct mode (UEFI for GPT disks/UEFI systems, Legacy BIOS for MBR disks/BIOS systems). This is especially important for dual-booting.
        4. Fast Boot/Quick Boot:
          Disable any "Fast Boot" options in BIOS/UEFI and Windows.
    • Overheating:
      • Symptom:
        System freezes or shuts down abruptly during installation, especially on laptops or older hardware under load.
      • Solution:
        Ensure proper ventilation. Clean dust from fans/heatsinks if it's an older machine. Try installing in a cooler environment. Monitor temperatures if possible (though hard during install).
    • Faulty Hardware (RAM, Hard Drive):
      • Symptom:
        Random crashes, read/write errors, inability to format partitions.
      • Solution:
        1. RAM Test:
          Use the "Memory Test" option from the openSUSE installer boot menu (runs Memtest86+). Let it run for several passes. Any errors indicate faulty RAM.
        2. Hard Drive Check:
          Use S.M.A.R.T. tools (e.g., smartctl from a rescue system or another Linux live CD) to check the health of your hard drive. badblocks can perform a more thorough surface scan (destructive or non-destructive).
  • Checking Logs During Installation:

    • If the graphical installer freezes or shows an error, you can often switch to a virtual console to see logs or get a shell.
    • Ctrl+Alt+F1 through F6 (or F7/F8):
      • One of these will usually be the graphical installer.
      • Others might show:
        • A system log (kernel messages).
        • YaST's detailed installation log.
        • A root shell prompt.
    • Key log files (accessible from the shell or Rescue System if installation fails):
      • /var/log/YaST2/ contains many YaST-specific logs. y2log is often the main one.
      • /var/log/messages or output of dmesg for kernel messages.
      • /tmp/ might contain temporary logs or Xorg logs.
    • If the installation fails and reboots, and you can boot into a Rescue System, these logs might be on the target partition (e.g., /mnt/var/log/... after mounting).

Bootloader Problems (GRUB Issues)

After installation, the system might fail to boot, or GRUB might not appear or work correctly.

  • GRUB Menu Not Appearing (Boots directly into another OS or shows "No bootable device"):
    • Possible Causes:
      1. GRUB not installed correctly or to the wrong location.
      2. BIOS/UEFI boot order is not set to the drive where openSUSE/GRUB was installed.
      3. Secure Boot issues (UEFI).
    • Solution:
      1. Check BIOS/UEFI Boot Order:
        Ensure the hard drive with openSUSE is the primary boot device. In UEFI, ensure "opensuse" or the GRUB UEFI entry is at the top.
      2. Reinstall GRUB using Rescue System:
        (See Workshop Scenario 1 below for conceptual steps).
      3. Disable Secure Boot temporarily as a test.
  • Windows (or other OS) Not Listed in GRUB Menu:
    • Possible Cause: GRUB's os-prober script failed to detect the other OS during installation or grub2-mkconfig.
    • Solution:
      1. Boot into openSUSE.
      2. Open a terminal.
      3. Ensure os-prober package is installed: sudo zypper install os-prober.
      4. Run os-prober to see if it detects Windows: sudo os-prober.
      5. If it detects Windows, regenerate the GRUB configuration:
        sudo grub2-mkconfig -o /boot/grub2/grub.cfg
        
        (For UEFI systems, the path might be /boot/grub2/x86_64-efi/grub.cfg or similar, but /boot/grub2/grub.cfg is often a symlink or the correct target). YaST Bootloader module usually handles this correctly.
      6. Reboot and check if Windows appears.
      7. If os-prober is disabled by default (some distributions are doing this for security), you might need to enable it in /etc/default/grub by adding/uncommenting GRUB_DISABLE_OS_PROBER=false and then regenerating grub.cfg.
  • "Minimal BASH-like line editing is supported..." GRUB Rescue Prompt:
    • Symptom:
      You see grub rescue> prompt.
    • Possible Cause:
      GRUB can't find its configuration files or the /boot partition/directory. This often happens if partitions were moved/resized after GRUB installation, or if /boot is on a separate partition that's not being found.
    • Solution (Complex, often requires Rescue System):
      1. From the grub rescue> prompt, you can try to manually locate and boot:
        • ls (lists available drives/partitions, e.g., (hd0,gpt1), (hd0,msdos2)).
        • ls (hdX,gptY)/ (to see contents of a partition).
        • Find your Linux root partition and the path to /boot/grub2.
        • set prefix=(hdX,gptY)/boot/grub2
        • set root=(hdX,gptY)
        • insmod normal
        • normal
        • If this gets you to the normal GRUB menu, boot into openSUSE and immediately reinstall GRUB (see below).
      2. If the above fails, use the Rescue System to reinstall GRUB.
  • Using the openSUSE Rescue System to Repair GRUB:
    1. Boot from your openSUSE installation media (USB/DVD).
    2. At the boot menu, select "More..." -> "Rescue System".
    3. Log in as root (no password usually required for the rescue system shell).
    4. Identify your installed Linux partitions:
      Use lsblk or fdisk -l. Let's assume your root partition is /dev/sda2 and your ESP (if UEFI) is /dev/sda1.
    5. Mount the partitions:
      # Mount root partition
      mount /dev/sda2 /mnt
      
      # If UEFI, mount ESP
      # mkdir -p /mnt/boot/efi (if it doesn't exist, though it should)
      mount /dev/sda1 /mnt/boot/efi
      
      # If you have a separate /boot partition (e.g., /dev/sda3)
      # mount /dev/sda3 /mnt/boot
      
      # Mount necessary virtual filesystems for chroot
      mount --bind /dev /mnt/dev
      mount --bind /proc /mnt/proc
      mount --bind /sys /mnt/sys
      # For UEFI, also sometimes helpful:
      # mount --bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars (if it exists and you are troubleshooting UEFI issues)
      
    6. Chroot into your installed system:
      chroot /mnt
      
      You are now effectively operating within your installed system.
    7. Reinstall GRUB:
      • For Legacy BIOS (MBR installations):
        grub2-install /dev/sda  # (Install to the MBR of the disk, not a partition)
        grub2-mkconfig -o /boot/grub2/grub.cfg
        
      • For UEFI installations:
        # The command might vary slightly based on exact setup, but typically:
        grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=opensuse --recheck
        grub2-mkconfig -o /boot/grub2/grub.cfg
        
        (Sometimes just grub2-install without arguments if chrooted correctly might work for UEFI by detecting settings. The YaST Bootloader module is more robust from within the running system). It's often easier to use YaST's bootloader module once you can boot, or from the rescue system if YaST can run (yast bootloader).
    8. Exit chroot and unmount:
      exit  # (exits chroot)
      umount -R /mnt  # Unmount all mounted filesystems under /mnt recursively
      reboot
      
    9. Remove installation media and try booting from the hard drive.

Network Connectivity Issues (Post-Install)

You've installed openSUSE, but you can't connect to the internet.

  • Wi-Fi Adapter Not Recognized or Not Working:
    • Symptom:
      No Wi-Fi networks visible, Wi-Fi option greyed out.
    • Troubleshooting Steps:
      1. Identify Chipset:
        Open a terminal.
        • lspci -nnk | grep -iA3 net (for PCI/PCIe Wi-Fi cards)
        • lsusb (for USB Wi-Fi adapters) Note the make, model, and PCI/USB IDs.
      2. Check Kernel Messages for Firmware: dmesg | grep -i firmware dmesg | grep -iE 'iwl|brcm|ath|rtw' (common Wi-Fi driver prefixes) Often, Wi-Fi drivers require firmware files that might not be included in the main open-source repositories due to licensing. A "firmware failed to load" message is a strong indicator.
      3. Install Firmware:
        • The most common package for firmware is kernel-firmware-all (or more specific ones like kernel-firmware-iwlwifi for Intel, kernel-firmware-realtek, etc.).
          sudo zypper install kernel-firmware-all
          
          If you don't have internet, you'll need to download this package (and its dependencies) on another computer, transfer it via USB, and install it using sudo zypper install /path/to/package.rpm.
        • Sometimes, specific firmware is not in kernel-firmware-all and needs to be sourced from elsewhere (e.g., a non-OSS repo, or even manually downloaded from kernel.org's linux-firmware git repository if you know exactly what you need - advanced).
      4. Check if Driver is Loaded:
        The output of lspci -nnk (from step 1) shows "Kernel driver in use:" and "Kernel modules:". If these are missing for your Wi-Fi card, the driver isn't loading (could be firmware or a missing/blacklisted driver).
      5. Check rfkill: Ensure Wi-Fi isn't blocked by a hardware switch or software block:
        rfkill list all
        
        If it shows "Soft blocked: yes" or "Hard blocked: yes", address it. (e.g., sudo rfkill unblock wifi).
      6. Restart NetworkManager:
        sudo systemctl restart NetworkManager
        
      7. Reboot:
        Sometimes a full reboot helps after installing firmware/drivers.
  • Wired Ethernet Connection Not Working:
    • Symptom:
      No connection despite cable being plugged in.
    • Troubleshooting Steps:
      1. Check Cable and Port:
        Ensure cable is securely plugged in at both ends. Try a different cable/port. Check link lights on the NIC and switch/router.
      2. Identify NIC and Driver: lspci -nnk | grep -iA3 ether Check "Kernel driver in use:".
      3. Check NetworkManager/YaST Network Settings:
        • Is the interface (e.g., eth0) configured for DHCP?
        • ip addr show (to see if it has an IP address).
        • sudo systemctl status NetworkManager (to check if NetworkManager is running).
        • Use YaST -> "System" -> "Network Settings" to review and configure.
      4. Check dmesg for errors related to the Ethernet driver.

Graphics Problems (Black Screen, Low Resolution Post-Install)

You've installed openSUSE, but on first boot (or after installing proprietary drivers), you get a black screen, a stuck boot process, or a very low-resolution display.

  • Common Causes and Solutions:
    • Issue with Open-Source Drivers (Nouveau, AMDGPU, Intel):
      • Though rare for Intel/AMD, very new hardware might sometimes have issues with the currently available open-source driver version.
      • Solution:
        Boot with nomodeset temporarily.
        1. At the GRUB menu, select your openSUSE entry and press e to edit.
        2. Find the line starting with linux or linuxefi.
        3. Add nomodeset to the end of that line.
        4. Press Ctrl+X or F10 to boot.
        5. If this lets you boot, the issue is likely with Kernel Mode Setting for your graphics.
          • You might need to wait for a kernel/Mesa update.
          • For NVIDIA, this often means Nouveau is problematic, and installing the proprietary driver is the fix.
          • To make nomodeset permanent (as a temporary workaround until fixed), edit /etc/default/grub, add nomodeset to GRUB_CMDLINE_LINUX_DEFAULT="...", then run sudo grub2-mkconfig -o /boot/grub2/grub.cfg and reboot.
    • Issue after Installing Proprietary NVIDIA Drivers:
      • Symptom:
        Black screen after rebooting post-NVIDIA driver install. System boots but display manager (login screen) doesn't appear.
      • Possible Causes:
        1. Nouveau driver not properly blacklisted.
        2. Incorrect NVIDIA driver version for your card or kernel.
        3. Secure Boot preventing the unsigned NVIDIA kernel module from loading (if you installed drivers manually and didn't sign them, or if MOK management wasn't completed).
        4. Xorg configuration issue.
      • Solution:
        1. Boot to Text Mode:
          Try to boot with nomodeset and also add the number 3 to the kernel command line in GRUB (e.g., linux ... nomodeset 3). This should boot you to a text-mode login.
        2. Log in as root or your user.
        3. Check NVIDIA Module:
          lsmod | grep nvidia. If nothing shows, the module isn't loading.
        4. Check Xorg Log:
          cat /var/log/Xorg.0.log | less (look for errors (EE)).
        5. Reconfigure/Reinstall NVIDIA Drivers:
          • If installed from openSUSE repos, try forcing a reinstallation or re-running any configuration scripts (e.g., mkinitrd).
          • Sometimes, removing (sudo zypper remove x11-video-nvidiaG0X) and reinstalling the drivers, then rebooting, helps.
          • Ensure you have the correct kernel-default-devel and make, gcc packages for module compilation if using kmp packages.
        6. Disable Secure Boot:
          If Secure Boot is enabled, try disabling it in BIOS/UEFI to see if the NVIDIA module loads. If it does, you either need to keep Secure Boot off or learn to sign the NVIDIA modules (MOKManager).
        7. Rollback (if NVIDIA drivers were the cause):
          If you have Btrfs snapshots with Snapper, you might be able to boot into a read-only snapshot from before the driver installation (via GRUB's "Start bootloader from a read-only snapshot" option) and then perform a sudo snapper rollback from there.
    • Low Resolution (Generic VESA driver):
      • Symptom:
        Desktop works but is stuck at a low resolution like 800x600 or 1024x768.
      • Cause:
        The correct graphics driver (Intel, AMD, NVIDIA, or even Nouveau) is not loading, and the system has fallen back to a generic VESA driver.
      • Solution:
        This is essentially the same as troubleshooting a black screen – identify why the proper driver isn't loading using the steps above.

Workshop Troubleshooting

  • Scenario 1: Simulating a GRUB Issue (Conceptual - Reinstalling GRUB)

    • Objective:
      Understand the high-level steps to reinstall GRUB using the openSUSE Rescue System. This is conceptual; actually breaking GRUB on a working system is risky unless it's a disposable VM you're prepared to fix.
    • Discussion Points / Outline of Steps:
      1. Boot from openSUSE Installation Media:
        Select "More..." -> "Rescue System".
      2. Log in as root.
      3. Identify Partitions:
        Use lsblk to find your Linux root (/) partition (e.g., /dev/sdb2) and EFI System Partition (/dev/sdb1 if UEFI).
      4. Mount Partitions:
        mount /dev/sdb2 /mnt                     # Mount root
        # If UEFI:
        mount /dev/sdb1 /mnt/boot/efi            # Mount ESP
        # If separate /boot:
        # mount /dev/sdbX /mnt/boot              # Mount /boot
        
      5. Mount Virtual Filesystems:
        for i in dev proc sys; do mount --bind /$i /mnt/$i; done
        # For UEFI, sometimes helpful for grub2-install to find EFI vars:
        # mount --bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars
        
      6. Chroot: chroot /mnt
      7. Reinstall GRUB (example for UEFI):
        # Ensure efibootmgr is installed if not: zypper install efibootmgr
        grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=opensuse --recheck
        # For MBR: grub2-install /dev/sdb (assuming sdb is the target disk)
        
      8. Rebuild GRUB Configuration:
        grub2-mkconfig -o /boot/grub2/grub.cfg
        
      9. Exit and Unmount:
        exit # (from chroot)
        umount -R /mnt # (or umount individual bind mounts and then /mnt/boot/efi, /mnt/boot, /mnt)
        reboot
        
      10. Remove media and test.
  • Scenario 2: Wi-Fi Not Working Post-Install (Troubleshooting Workflow)

    • Objective:
      Practice the workflow for diagnosing a non-functional Wi-Fi adapter.
    • Steps (to perform on your system if Wi-Fi is problematic, or to follow conceptually):
      1. Identify Chipset:
        • Open Terminal. Run lspci -nnk | grep -iA3 net. Look for your wireless controller. Note the make/model and particularly the part in [...] (e.g., [1234:5678]).
      2. Check for Loaded Driver:
        • In the lspci output, see if "Kernel driver in use:" and "Kernel modules:" are listed for your Wi-Fi card. If not, no driver is active.
      3. Check dmesg for Firmware Errors:
        • Run dmesg | grep -i firmware. Any "failed to load" messages for files like iwlwifi-xxxx.ucode or similar are key clues.
        • Run dmesg | grep -i wlan or dmesg | grep -i <driver_name_from_lspci> (e.g., iwlwifi, ath10k_pci).
      4. Search for Solution Online:
        • Use a search engine with terms like: "openSUSE Leap 15.5 [your Wi-Fi chipset model or PCI ID] no wifi" or "Linux [your Wi-Fi chipset model] firmware".
        • The openSUSE forums or wiki might have specific advice.
      5. Install kernel-firmware-all (if suspecting firmware and have another way to get online or the package):
        • If you have temporary Ethernet, or can download it elsewhere: sudo zypper install kernel-firmware-all
        • Reboot after installing.
      6. Check rfkill:
        • Run rfkill list all. If anything is "Soft blocked" or "Hard blocked," investigate (hardware switch for hard block, sudo rfkill unblock wifi for soft block).
      7. Consult NetworkManager Logs (Advanced):
        • journalctl -u NetworkManager
      8. If it's a Broadcom card:
        These often require proprietary drivers (e.g., broadcom-wl). Search specifically for your Broadcom model + openSUSE. You might need to add a specific repository or compile the driver.

Troubleshooting can be a process of elimination. Using logs, searching online with specific hardware details, and trying common fixes methodically will often lead to a solution. The openSUSE community is also a valuable resource.

Conclusion

Successfully navigating the installation of openSUSE Linux, from initial preparations and disk partitioning to user setup and post-installation essentials, is a significant achievement. You have laid the foundation for a powerful, stable, and flexible operating system environment.

Recap of the Journey:

  • We began by understanding what openSUSE is, its key versions (Leap and Tumbleweed), and its core strengths like YaST, openQA, and Btrfs integration.
  • Pre-installation preparations were emphasized, including choosing the right version, downloading and verifying the ISO, creating bootable media, backing up data, and configuring BIOS/UEFI settings.
  • We walked through the initial stages of the openSUSE installer, covering language, keyboard, licensing, system probing, and selecting a System Role.
  • A deep dive into disk partitioning equipped you with knowledge of MBR vs. GPT, Linux filesystems (Ext4, Btrfs, XFS), and various partitioning schemes suitable for different needs, including separate /home partitions, hibernation setups, and dual-booting scenarios. The use of the Expert Partitioner was detailed.
  • User creation and system configuration involved setting up time zones, user accounts, root passwords, and meticulously reviewing all installation settings before committing.
  • We covered the actual installation process and the first boot into your new openSUSE desktop, including initial explorations and basic commands.
  • Post-installation essentials were addressed, focusing on system updates via YaST or zypper, adding the Packman repository for multimedia codecs, installing additional software, and configuring graphics drivers and peripherals.
  • Finally, we explored troubleshooting common installation issues, offering strategies for dealing with installer freezes, bootloader problems, network connectivity woes, and graphics glitches.

Your Next Steps: Exploring the openSUSE Universe

With openSUSE installed and configured, your journey has just begun. Here are some avenues for further exploration:

  • Master YaST:
    Continue to explore the YaST Control Center. It's your go-to tool for managing almost every aspect of your system graphically.
  • Embrace zypper:
    Get comfortable with the zypper command-line package manager. It's fast, powerful, and essential for Tumbleweed users and efficient for Leap users too. Learn its common commands: search, info, install, remove, dup, patch, lr (list repositories), mr (modify repository).
  • Customize Your Desktop:
    Dive into the settings of your chosen desktop environment (KDE Plasma, GNOME, XFCE, etc.). Personalize themes, icons, fonts, panels, shortcuts, and widgets to make it your own.
  • Discover Software:
    Explore the vast array of open-source software available through openSUSE's repositories and the Open Build Service (OBS).
  • Learn the Command Line:
    The Linux terminal is an incredibly powerful tool. Start with basic navigation (cd, ls, pwd), file manipulation (cp, mv, rm, mkdir), and text editing (nano, vim).
  • Explore Btrfs and Snapper:
    If you used Btrfs for your root partition, learn about Snapper. Try creating snapshots before making significant system changes and understand how to view and potentially roll back to them.
  • Join the Community:
    • Official Forums: forums.opensuse.org
    • Mailing Lists: lists.opensuse.org
    • Reddit: r/openSUSE
    • Social Media, IRC channels. The openSUSE community is friendly and helpful. Don't hesitate to ask questions (after searching first!) or share your experiences.
  • Read Documentation: The official openSUSE documentation (doc.opensuse.org) and community wikis (en.opensuse.org/wiki) are invaluable resources.

Encouragement for Further Learning:

Linux, and openSUSE specifically, offers a world of learning and discovery. Be curious, experiment (safely, perhaps in a virtual machine first for risky things), and don't be afraid to break things occasionally – that's often how the deepest learning occurs. The skills you develop managing and using your openSUSE system are transferable and highly valuable.

Welcome to the openSUSE community! We hope you enjoy your new Linux system and the freedom, power, and stability it provides.