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:
- Enterprise-grade stability: I wanted a distribution whose packages are tested and supportable, not just the latest upstream snapshot
- Vanilla software: I was increasingly interested in upstream Gnome, not a distribution-specific customization
- 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:
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 asystemVolume Group
/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/homepartition.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.
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.
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.
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.
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.








