Installing OpenSUSE Tumbleweed under Fedora

Fedora is in the process of getting a native package for zypper (review requests 1427182 and 1427185 from Neal Gompa). Once you have zypper installed, it should be trivial to install OpenSUSE in a chroot. But either my google-foo is weak today, or up-to-date instructions are nowhere to be found… Based on this and this, as a note to self and others, here are the instructions:

mkdir -p /var/lib/machines/tumbleweed/{dev,etc}
cp -a /dev/{null,random,urandom,zero} /var/lib/machines/tumbleweed/dev/
grep -E '^(root|bin|daemon|sync):' /etc/passwd > /var/lib/machines/tumbleweed/etc/passwd
grep -E '^(root|bin|daemon|sys|adm|tty|lp|mail):' /etc/group > /var/lib/machines/tumbleweed/etc/group
zypper --root=/var/lib/machines/tumbleweed ar tumbleweed
zypper --root=/var/lib/machines/tumbleweed refresh
# press 'a' here
zypper --root=/var/lib/machines/tumbleweed install --no-recommends -y zypper wget vim systemd
# allow password-less login as root
sed -i 's/try_first_pass/\0 nullok/' /var/lib/machines/tumbleweed/etc/pam.d/common-auth
systemd-nspawn -M tumbleweed passwd -d root

This installs a bunch of packages:

The following  NEW packages are going to be installed:
  filesystem ... sysvinit-tools ... zypper zypper-log ...
  systemd-sysvinit dracut suse-module-tools udev kmod dbus-1

151 new packages to install.

Some of those are superfluous, but most of those 151 are libraries, and I'm getting what I asked for plus a few small packages. Unfortunately some errors about unknown groups and users still appear.


$ systemd-nspawn -j -M tumbleweed -b
Spawning container tumbleweed on /var/lib/machines/tumbleweed.
Press ^] three times within 1s to kill container.
Detected virtualization systemd-nspawn.
Detected architecture x86-64.

Welcome to openSUSE Tumbleweed!

If you read this far, maybe you know something about Tumbleweed and zypper — if there's a better way (shorter and fully automated), let me know down in comments and I'll update this page. It'd also love to have a one-two line form suitable for systemd-nspawn(1) man page.

Comments !