Possible to migrate to systemd-boot after initial install?

Hi all,
in a few weeks time, I’ll getting my new PC, and already looking forward towards installation process.
I see in the future opensuse will shift to systemd-boot, that requires an efi partition of 4GB. However, systemd-boot is at the moment WiP.
Should I already prep for this change, by creating a 4GB partion, but not using systemd-boot yet? Or is it not possible to move from grub to systemd-boot after a initial choice (so that 4GB will never be used)?
I want to be prepared for the future, but tinkering with boot-options scares me a bit…
I’ll be using btrfs, but no full-disk-encryption.

Tumbleweed’s systemd boot can read and write btrfs, so no larger efi partition is required.

https://en.opensuse.org/Systemd-boot

@rjab I do and suggest you prepare your system that way… I’ve not had issues with it (systemd-boot and SELinux) on Aeon or Tumbleweed…

Stop spreading patently false information.

No. When you move to systemd-boot you will start storing kernel and initrd in ESP. If you have btrfs and intend to utilize snapper rollback, you need to store all kernels and initrds from all snapshots on the ESP. Go figure.

I am not familar with this topic, so just to my understanding:
Do you suggest I either:
use grub, btrfs (with snapper rollback) and a 500MB EFI partition?
or
systemd-boot, no btrfs and a 4GB EFI partition?
No (simple) option to later move from 1 option to the other?

Where did I say it?

@rjab I have systemd-boot, btrfs and snapper rollback is there if selected with systemd-boot, press the spacebar at boot to select a snapshot to use (I have it there with Aeon)…

You don’t believe me? Well, look:

porky@localhost:~> lsblk /dev/sdc
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sdc      8:32   0 115,1G  0 disk
β”œβ”€sdc1   8:33   0   300M  0 part /boot/efi
β”œβ”€sdc2   8:34   0  98,8G  0 part /var
β”‚                                /usr/local
β”‚                                /root
β”‚                                /opt
β”‚                                /srv
β”‚                                /home
β”‚                                /boot/grub2/i386-pc
β”‚                                /boot/grub2/x86_64-efi
β”‚                                /.snapshots
β”‚                                /
└─sdc3   8:35   0    16G  0 part [SWAP]
porky@localhost:~> ls /boot
config-6.12.9-1-default  initrd                        System.map-6.12.9-1-default
efi                      initrd-6.12.9-1-default       vmlinuz
grub2                    sysctl.conf-6.12.9-1-default  vmlinuz-6.12.9-1-default
porky@localhost:~> sudo mount /dev/sdc1 /mnt
porky@localhost:~> ls /mnt/EFI
BOOT  systemd
porky@localhost:~>

Now explain what you are showing. In your own words.

Well, you can see that I use btrfs.
The ESP has a size of only 300 MB.
Kernel and initrd are in /boot.
And everything works with system boot, even the snapshots in the boot menu.

@JG1956 You have one kernel and old at that… here on Aeon;

du -sh /boot/efi/
239M	/boot/efi/

ll /boot/efi/opensuse-aeon/
total 96
drwxr-xr-x. 2 root root 32768 Nov  9 08:58 6.11.3-1-default
drwxr-xr-x. 2 root root 32768 Nov 14 07:04 6.11.7-1-default
drwxr-xr-x. 2 root root 32768 Mar 20 20:07 6.13.6-1-default

ll /boot/efi/opensuse-aeon/6.13.6-1-default
total 239488
-rwxr-xr-x. 1 root root 45878637 Mar 16 21:44 initrd-37579dd5a178688c7aa1bd504edda33f84d829d7
-rwxr-xr-x. 1 root root 46125432 Mar 20 20:07 initrd-670b11d956d570ff66d9aae56daabf670e0f48ea
-rwxr-xr-x. 1 root root 45891325 Mar 14 10:39 initrd-76a3483362270b65249da08b8237d484e2127377
-rwxr-xr-x. 1 root root 45878611 Mar 18 09:53 initrd-a540a32c56a8fff40e1168fe8f1122da1570bce9
-rwxr-xr-x. 1 root root 45868390 Mar 11 15:09 initrd-b8b84cfc8ea3be731a21b2ee54bcbb60d76ed268
-rwxr-xr-x. 1 root root 15493488 Mar 10 01:51 linux-79488fbc361cb48b2286704b59379c1b6ae0b812

If I keep a few more or rebuilds come through I would exceed your 300MB… My test system only has one as that’s a fresh install…

Here kernel and initrd reside in /boot of the btrfs partiton. And so there is plenty of space for them.

You conveniently omitted the content of the ESP.

@JG1956 Did you look at;

ll /boot/efi/opensuse-tumbleweed/`uname -r`/

total 39088
-rwxr-xr-x. 1 root root 24528153 Mar 21 06:54 initrd-de5f33030a9c688a68db788bd732944b445438f3
-rwxr-xr-x. 1 root root 15493488 Mar  9 20:51 linux-79488fbc361cb48b2286704b59379c1b6ae0b812

Ups. Maybe i’m wrong?

porky@linux:~> sudo mount /dev/sdc1 /mnt
porky@linux:~> tree /mnt
/mnt
β”œβ”€β”€ EFI
β”‚   β”œβ”€β”€ BOOT
β”‚   β”‚   β”œβ”€β”€ BOOTX64.EFI
β”‚   β”‚   β”œβ”€β”€ fallback.efi
β”‚   β”‚   └── MokManager.efi
β”‚   └── systemd
β”‚       β”œβ”€β”€ boot.csv
β”‚       β”œβ”€β”€ grub.efi
β”‚       β”œβ”€β”€ installed_by_sdbootutil
β”‚       β”œβ”€β”€ MokManager.efi
β”‚       └── shim.efi
β”œβ”€β”€ loader
β”‚   β”œβ”€β”€ entries
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.12.9-1-default-15.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.12.9-1-default-16.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.12.9-1-default-17.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.12.9-1-default-18.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.12.9-1-default-1.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.13.2-1-default-15.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.13.2-1-default-16.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.13.2-1-default-17.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.13.2-1-default-18.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.13.2-1-default-19.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.13.2-1-default-1.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.13.2-1-default-20.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.13.2-1-default-21.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.13.6-1.0.2.sr20250302-default-17.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.13.6-1.0.2.sr20250302-default-18.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.13.6-1.0.2.sr20250302-default-19.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.13.6-1.0.2.sr20250302-default-1.conf
β”‚   β”‚   β”œβ”€β”€ opensuse-slowroll-6.13.6-1.0.2.sr20250302-default-20.conf
β”‚   β”‚   └── opensuse-slowroll-6.13.6-1.0.2.sr20250302-default-21.conf
β”‚   β”œβ”€β”€ entries.srel
β”‚   β”œβ”€β”€ loader.conf
β”‚   └── random-seed
└── opensuse-slowroll
    β”œβ”€β”€ 6.12.9-1-default
    β”‚   β”œβ”€β”€ initrd-1d19db5eb95e7d90e3fb7f315011f2873e3f699e
    β”‚   └── linux-793c49ec2a10bdc66a59282620647703ee904fee
    β”œβ”€β”€ 6.13.2-1-default
    β”‚   β”œβ”€β”€ initrd-1bda704652b59c44e39094831fd1519703fa1cfa
    β”‚   β”œβ”€β”€ initrd-74b948a6cbf7070a1bd458230348c404e0a20ea1
    β”‚   └── linux-450a87f4f13ec111fbb554cb4c3484b9e77772ba
    └── 6.13.6-1.0.2.sr20250302-default
        β”œβ”€β”€ initrd-0b5739aa972a071c102fcbf63183edbc2ac77848
        └── linux-c44a73d597e0b11da17616af385802443408859b

10 directories, 37 files
1 Like