openSUSE Leap 16.1 RC Desktop installation

Hello,i’m new to the forum,if the methods used aren’t compliant to the rules.feel free to instruct me more on the issue :sweat_smile:.
I’d like to report a couple of things(questions and suggestions),not bugs,
about Leap 16.1 RC Immutable installation:

  1. Default installation with a separate /var
    I don’t know if it’s a “not correct use” of btrfs or how opensuse views it but i think an option to remove the separate /var should be there for desktop users.
    i didn’t look into the partitioning much, the first time i installed it, i found an home that was too small to transfer files(25GB on my 512GB rated nvme),i reinstalled it with the separate /var removed and i think it’s not a bad default for desktop users.

  2. The installation process with a workstation laptop and hybrid graphics had issues but not if i used the “check installation media” option,that worked perfectly and started the installer without issues.

  3. I don’t know if there’s an issue with docs or they need to be updated,i’m talking about the nvidia driver section:
    does leap 16.1 RC immutable work as the leap micro section or leap section?,is the provided openSUSE-repos-Leap-NVIDIA package the same as leap 16.1/16.0 not immutable?

The system installation day: 25/09/2026

@mattF11 Hi and welcome to the Forum :smile:

Have a read here;
https://forums.opensuse.org/t/try-immutable-mode-with-opensuse-leap-16-1-rc/196296
Specifically;

Leap 16.1 in Immutable mode is replacing Leap Micro. There won’t be a Leap Micro 6.3 or 7.0; Leap Immutable is the way forward for container and virtual machine hosts, edge devices and anyone who prefers atomic updates with easy rollback.

An immutable setup requires a separate /var, likewise best make /boot/efi 1GB-2GB as well at some point it will move to systemd-boot. The other option is a XLDRBOOT partition to extend.

Make sure you only run the likes of flatpaks and/or distrobox for applications.

Thanks,yes,i used to run micro os/micro os dekstop/aeon/leap micro aside my main Leap installation and having a stable immutable desktop is perfect for my usage.
About the packages i’ll use the same approach as the other times but i have a question: i installed the drivers the standard leap way but using transactional-update,everything works but the official docs,which has leap micro use the micro os repo instead of the current built in we have https://en.opensuse.org/SDB:NVIDIA_drivers

I thought systemdboot was a tumbleweed only option,i read the article about XLDRBOOT and systemdboot when it came out but i thought leap would stay on grub for some time.

If the opportunity arises I would recommend setting the /boot/efi size. Who knows what tomorrow (16.2) will bring :wink:

1 Like

Another thought is the likes of Myrlyn and transactional-update (dup/apply/run etc) will get support, perhaps @shundhammer has some thoughts?

do you mean that myrlyn currently doesn’t support transactional-update?,i know that cockpit does because of the transactional update module.

AFAIK Myrlyn does not, hence the clarification request from @shundhammer

It doesn’t. And Cockpit doesn’t have it either. T-u requires a different approach.

Exactly, installing a package does not necessarily require a reboot, just using the transactional-update apply option is enough to move to the new snapshot if installing leaf packages… transactional-update run zypper ps -s should show(?).

No, AFAIK to install a package

  • use t-u pgk install
  • or t-u shell and then use zypper

In both case a reboot is required. Simply because the stuff is installed in a future snapshot.

AFAIK the transactional update is built around Btrfs snapshots and snapper (or its infrastructure that comes with libsnapper): A new snapshot is created, updates are installed into that snapshot instead of the currently running one, and if everything worked, it needs to reboot into that new snapshot which then becomes the current one.

At first glance, this sounds like it could be hammered into shape to work with Myrlyn. But when you think about it some more, some questions and weird situations come to mind:

The workflow would be about this:

  1. Start Myrlyn
  2. Select updates / packages to install / packages to remove
  3. Hit “Accept”
  4. Create a new snapshot
  5. Tell libzypp to install into this new snapshot
  6. Let libzypp execute the transaction
  7. In the last step, show the summary
  8. Commit the new snapshot: Mark it as the current one
  9. Reboot

What if anything goes wrong between “Accept” and “Commit”?

I guess the reboot would be mandatory (forced). If not, what would happen if the user chooses to do it all again and install / update more packages? Would a not-yet-committed snapshot need to be automatically picked up by a new Myrlyn run to continue in that one? That sounds nightmarish both in terms of the UI and the implementation.

I never used transactional update. I seem to recall reading about it (or was it just something similar?) where you could issue a command to “unlock” the system, i.e. toggle the root filesystem from read-only to read-write, and then use zypper or rpm commands to modify things, and finally change it back to read-only.

In that case, you could of course also use Myrlyn instead of zypper or rpm commands. But it’s not really an atomic transaction anymore.

But with an added step with a new snapshot that would be used in the modification phase, it might be.

But I am not at all an expert in this area.

/var contains - among other things - all kinds of system logs, and also caches. You really don’t want them CoW (copy on write) because that would mean every new line in the logs would implicitly create new copy of that disk block due to CoW. This is the main reason for a separate subvolume for /var, and why it’s set to noCoW.

@shundhammer No, there are many cases where a reboot is not needed, say for example I install fastfetch or inxi, once installed, transactional-update apply will suffice, no reboot necessary…

There is shell, but that use is heavily discouraged and only for debug, use transactional-update run zypper.... or any other command.

@knurpht there are numerous cases where using the apply option will suffice :wink:

1 Like

i still don’t understand why(in this case a virtual machine but that time on a machine)

vda 254:0 0 40G 0 disk
├─vda1 254:1 0 512M 0 part /boot/efi
├─vda2 254:2 0 19.8G 0 part /usr/local
│ /srv
│ /boot/grub2/x86_64-efi
│ /home
│ /opt
│ /boot/grub2/i386-pc
│ /boot/writable
│ /.snapshots
│ /root
│ /etc
│ /
└─vda3 254:3 0 19.7G 0 part /var

if the space it’s split in half for both of them and that’s the case why half of the space available on the default install?,does the /var as explained by @shundhammer requires half the available space for it?

Btrfs used and free space accounting is a big mess.

With CoW (copy on write) as the foundation for snapshots, it doesn’t fit into the pattern of traditional Linux filesystems: When a file is modified, and CoW needs to store the old version and the new version, both need to be stored somewhere. Btrfs does this very efficiently by only storing the blocks that are different. But you can imagine that this can account for a lot if a file is written lots of times. Multiply this with the number of files, and disk space can fill up quickly.

So, if you have the same files in different versions (at least their block diffs), how much disk space is used, and how much is still free? This is not easy to answer; it depends on what you are interested in. But syscalls such as statfs() can only return one set of numbers; and file utilities such as free or du use those syscalls.

This is why Btrfs comes with its own set of utilities that return several different numbers, and it reports bogus numbers to statfs(); and this is what you see with df and du.

I wrote this up some years ago here:

Bottom line: You need to use the dedicated Btrfs utilities to get the real information, and you need to make sure that old snapshots are cleaned up before they fill your disk completely, and you might also want to use btrfs balance to reclaim disk space.

3 Likes

“A new bootloader a day keeps sanity away.”

– unknown frustrated Linux user

1 Like