Updated 2026: OpenSUSE Leap 42.2 reached end-of-life in January 2018. The current Leap release series is 15.x (e.g., 15.6). The version numbers changed with Leap 42.3 being the last “42” release; from Leap 15.0 onward, the version numbering aligned with the SUSE Linux Enterprise base. The installation choices described here remain largely applicable to current Leap releases.

Motivation Link to heading

I switched my daily driver distribution to openSUSE for a few reasons:

  1. Enterprise-grade stability: I wanted a distribution whose packages are tested and supportable, not just the latest upstream snapshot
  2. Vanilla software: I was increasingly interested in upstream Gnome, not a distribution-specific customization
  3. Dogfooding: I work at SUSE; it makes sense to use what we ship (dogfooding)

After nearly a year on this setup, I’m mostly satisfied with the choices I made. This post documents the installation decisions so I have a reference for next time, and so you can follow the same approach if it suits you.

This post covers only what I changed from the defaults. If something isn’t mentioned, I accepted the default.

Leap or Tumbleweed? Link to heading

openSUSE comes in two variants:

  • Leap: the stable branch. Fixed release schedule: you install a specific version and receive updates scoped to that release.
  • Tumbleweed: the rolling-release branch. You install a snapshot and apply updates continuously as upstream packages land.

I prefer stability over the latest packages on my workstation, so I went with Leap. At the time, Leap 42.2 was the current release (42.1 had shipped in November 2015, 42.2 in November 2016).

Installation choices Link to heading

Offline install Link to heading

Install without a network connection. I want the distribution exactly as released; I’ apply updates after the installation is complete. If you’re installing on a laptop in clamshell mode, disconnect everything first.

Network settings Link to heading

I set a static hostname and domain name. Check “Assign Hostname to Loopback IP” so the hostname resolves locally without DNS:

hostname selection

Partition layout Link to heading

/boot and LVM Link to heading

I partition all disks with:

  • A primary partition for /boot
  • An extended partition with type 0x8E (Linux LVM), containing a system Volume Group

partitioning hard drive

/boot Link to heading

Use ext2, sized around 500 MiB (~487 MiB if you want to be exact about binary units). Keeping /boot outside LVM ensures compatibility with older BIOSes and makes the drive portable if you ever need to boot it in another machine.

Linux LVM Link to heading

I use LVM everywhere, as it makes resizing, moving, and adding partitions trivial. If your BIOS supports hardware-level disk encryption, enable it there. Otherwise, use encrypted LVM.

The system Volume Group should have at minimum two Logical Volumes:

  • root: contains the entire system. I don’t use a separate /home partition.
  • swap: required for suspend-to-disk. Size it equal to your RAM.

For machines with a second disk, I create an additional VG (e.g., storage) for it.

File system choice Link to heading

I’m a fan of XFS, but it has one hard constraint: XFS partitions cannot be shrunk. If there’s any chance you’ll need to shrink the root partition in the future, use ext4 instead. For servers, shrinking the root FS is rare enough that I use XFS there; for laptops and desktops I use ext4 to keep the option open.

Swap size Link to heading

The old rule of thumb (2× RAM) is outdated. For modern machines with 8 GB or more, sizing swap equal to RAM is sufficient for suspend-to-disk.

Clock and time zone Link to heading

Enable NTP synchronization and configure it to run as a daemon. This is non-negotiable for any machine that communicates with other systems.

clock and timezone

Desktop selection Link to heading

I go with GNOME or XFCE depending on the machine. I also install i3 as an alternative window manager during post-install customization.

Local user Link to heading

Deselect “Use this password for system administrator”: your login password and the root password should be different. Also disable automatic login.

local user creation

Boot loader Link to heading

Install GRUB2 to the Master Boot Record (MBR), not to /boot. If installing from USB, remove the USB from the boot order in GRUB’s disk configuration. Setting the GRUB timeout to 0 is optional but speeds up boot on machines where you never need the menu.

grub configuration

grub timeout

Software selection Link to heading

Accept the defaults and install additional packages after the base system is up. There’s no need to decide everything upfront.

Firewall and SSH Link to heading

Enable the SSH service and open the SSH port in the firewall. Important: configure sshd before exposing it; at minimum, disable password authentication and require public key auth only.

installation summary

installation summary 2

After installation Link to heading

The result is a clean GNOME environment on a well-structured LVM layout, ready for post-install customization: additional packages, dotfiles, SSH key setup, and anything else that makes it feel like home.

opensuse 42.2 desktop