• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

openSUSE Tumbleweed - Installation ohne Agama oder YaST

susejunky

Moderator
Teammitglied
Mit Beginn 2026 wird Agama auch in openSUSE Tumbleweed Einzug halten.

Auf der Suche nach einer Alternative, die es mir auch zukünftigt ermöglicht bereits bei der Installation eine individuelle Paketauswahl vorzunehmen, war ich auf diesen Beitrag aus dem openSUSE Wiki gestoßen. Er hat meine Erwartungen allerdings nicht ganz erfüllt, daher habe ich ihn etwas überarbeitet und erweitert.

Die folgende Beschreibung geht davon aus, dass
  • openSUSE Tumbleweed auf dem Datenträger /dev/vda installiert wird
  • openSUSE Tumbleweed im UEFI-Modus ohne secureboot gestartet wird
  • der Datenträger /dev/vda mit einem GPT-Partitionsschema versehen wird
  • auf den Datenträger /dev/vda eine Efi System Partition (ESP) und eine "/"-Partition aber keine SWAP-Partition angelegt werden
  • die EFI Systempartition (ESP) den Namen ESP erhält, mit einem FAT32-Dateisystem formatiert und das Dateisystem mit dem LABEL ESP (max. 11 Zeichen !!!) versehen wird.
  • Die "/"-Partition den Namen LINUX erhält, mit einem ext4-Dateisystem formatiert und das Dateisystem mit dem LABEL LINUX versehen wird.
  • GRUB2-EFI als Bootloader verwendet wird
Wenn von den oben genannten Voraussetzungen abgewichen wird, so muss die unten beschriebene Vorgehensweise entsprechend angepasst werden.

Dabei ist unter anderem folgendes zu beachten:
  • secureboot erfordert ggf. die Aufnahme von Schlüsseln in das UEFI
  • Bootloader wie GRUB2-BLS oder systemd-boot unterstützen (zur Zeit) keinen Dualboot.
  • Die openSUSE-Implementierung von systemd-boot unterstützt (zur Zeit) nicht die Verwendung einer XBOOTLDR-Partition.
  • Wenn mit GRUB2 im MBR-Modus von einem Datenträger mit GPT-Partitionsschema gestartet werden soll, so ist eine BIOS-Boot-Partition erforderlich.
  • Bei Verwendung von btrfs als Dateisystem für die "/"-Partition muss diese mit der openSUSE-spezifischen Struktur vorbereitet und die Vorbereitung für das chroot entsprechend angepasst werden.
  • Die Nutzung von snapper, die Verschlüsselung aller oder einzelner Partitionen , die Nutzung von TPM, die Verwendung von LVM, etc. erfordern ggf. zusätzlich/andere Maßnahmen.

Bootfähige openSUSE Tumbleweed Version starten.​

Das verwendete System muss über eine aktuelle Version von zypper verfügen und auf das Internet zugreifen können!
z.B.:
  • Rescue system eines aktuellen openSUSE Tumbleweed snapshots (DVD oder USB-Medium)
  • LIVE system eines aktuellen openSUSE Tumbleweed snapshots (DVD oder USB-Medium)
  • Installiertes openSUSE Tumbleweed system (zur Installation auf einem weitere Datenträger)
In einem virtuellen Terminal oder einer Konsole root-Rechte erlangen.
Code:
su -
Das Gerät /dev/vda mit einem GPT-Partitionsschema partitionieren und eine ESP sowie eine "/"-Partition anlegen.
Code:
gdisk /dev/vda

Die Partition /dev/vda1 formatieren.
Code:
mkfs.fat -n ESP -F 32 /dev/vda1
Die Partition /dev/vda2 formatieren.
Code:
mkfs.ext4 -E lazy_itable_init=0,lazy_journal_init=0 -L LINUX /dev/vda2

Verzeichnisstruktur vorbereiten​

(Optional) Hilfsverzeichnis im aktuellen System anlegen.
Code:
mkdir /mnt/a
/dev/vda2 (Ziel-"/"-Partition) einhängen.
Code:
mount /dev/vda2 /mnt/a
Verzeichnisstruktur auf der Ziel-"/"-Partition anlegen.
Code:
mkdir /mnt/a/boot
mkdir /mnt/a/boot/efi
mkdir /mnt/a/{proc,sys,dev,run}
/dev/vda1 (als Ziel-ESP) in die Ziel-"/"-Partition einhängen.
Code:
mount /dev/vda1 /mnt/a/boot/efi
Weitere Verzeichnisse des lokalen Systems in die Ziel-"/"-Partition einbinden.
Code:
mount --types proc /proc /mnt/a/proc
mount --rbind /sys /mnt/a/sys
mount --make-rslave /mnt/a/sys
mount --rbind /dev /mnt/a/dev
mount --make-rslave /mnt/a/dev
mount --bind /run /mnt/a/run
mount --make-slave /mnt/a/run

Zielsystem vorbereiten (Teil 1)​

Im Zielsystem eine Repository-Definition für das openSUSE Tumbleweed OSS Reposistory anlegen.
Code:
zypper --root /mnt/a ar -e -f -n "openSUSE Tumbleweed - OSS" https://download.opensuse.org/tumbleweed/repo/oss/ oss
Diese Repository-Datei editieren ...
Code:
vi /mnt/a/etc/zypp/repos.d/oss.repo
und folgende Zeilen ergänzen.
Code:
gpgkey=https://download.opensuse.org/tumbleweed/repo/oss/repodata/repomd.xml.key
path=/
type=rpm-md
keeppackages=0
Basissystem im Zielsystem installieren.
Code:
zypper --root /mnt/a in --no-recommends kernel-default grub2 grub2-x86_64-efi dracut zypper bash vim shadow util-linux NetworkManager NetworkManager-tui cnf man man-pages gptfdisk
Hinweis:
  • Die Verwendung von --no-recommends ist optional und sollte nur genutzt werden, wenn man mit den Konsequenzen (z.B.: möglicherweise werden Pakete, wie z.B. kernel-firmware-Pakete, die für den Betrieb der verwendeten Hardware erforderlich sein können, nicht installiert) umgehen kann.
  • An Stelle von vim kann auch ein anderer Editor installiert werden.
  • Die Installation von NetworkManager-tui, cnf, man, man-pages, gptfdisk ist nicht zwingend erforderlich (aber ggf. hilfreich).

Zielsystem vorbereiten (Teil 2)​

chroot in das Zielsystem
Code:
chroot /mnt/a /bin/bash
source /etc/profile
export PS1="(chroot) ${PS1}"
Im Zielsystem die Datei /etc/fstab anlegen.
Code:
vi /etc/fstab
und mit folgendem Inhalt versehen.
Code:
LABEL=ESP      /boot/efi    vfat    nofail,utf8     0 2
LABEL=LINUX    /            ext4    defaults        0 1
(Optional! Nur nutzen, wenn man sich der Konsequenzen bewusst ist.) Das Installieren empfohlener Pakete abschalten. Dazu
Code:
vi /etc/zypp/zypp.conf
... und folgenden Eintrag einfügen.
Code:
solver.onlyRequires = true
GRUB2 im Zielsystem installieren.
Code:
grub2-install
root-Kennwort im Zielsystem festlegen.
Code:
passwd
tty1 im Zielsystem aktivieren.
Code:
systemctl enable getty@tty1.service
NetworkManager im Zielsystem aktivieren.
Code:
systemctl enable NetworkManager
initrd im Zielsystem aktualisieren.
Code:
dracut -f --kver x.y.z-default

GRUB2-Konfiguration im Zielsystem erstellen.
Code:
grub2-mkconfig -o /boot/grub2/grub.cfg
chroot beenden
Code:
exit
umount -l /mnt/a/dev{/shm,/pts,}
umount -R /mnt/a

Zielsystem starten und nutzen​

Neu-Start in das vorbereitete Zielsystem.
Code:
systemctl isolate reboot
Im neuen System
(Optional) Das Tastatur-Layout für deutsche Tastatur setzen.
Code:
localectl set-keymap de-nodeadkeys
Einen Benutzer anlegen.
Code:
useradd -m BENUTZER

Den Repository-Index-Service für openSUSE Tumbleweed installieren.
Code:
zypper in openSUSE-repos-Tumbleweed
installieren oder
und ggf. weitere Repositories anlegen.

Weitere Software im Zielsystem installieren (Variante A)​

Mit Hilfe von pattern die gewünschten Pakete installieren.

Die verfügbaren pattern können mit
Code:
zypper se -t pattern
angezeigt werden.

Welche Pakete bei Verwendung eines pattern installieren werden, kann mit
Code:
zypper info -t pattern NAME_DES_PATTERN
ermittelt werden.

Mit
Code:
zypper in -t pattern NAME_DES_PATTERN
werden alle Pakete des pattern installiert.

Weitere Software im Zielsystem installieren (Variante B)​

Die gewünschten Pakete mit
Code:
zypper in PAKETNAME
installieren.
 
Oben