You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Need to add btrfs support for debian derivative distros
Describe the solution you'd like
The snapshotter implementation is actually dependant of btrfs default subvolume which create a dependency over the Opensuse grub implementation. Ideally Grub configuration should be able to boot any distro without depending on the btrfs subvolumes handled by grub.
Describe alternatives you've considered
As a first try. I bundled Opensuze grub implementation in /usr/lib/elemental (added also modules in /usr/lib/elemental/bootloader/*-efi). this solution works quite well (packaging only efi executables and modules). However I don't find this solution elegant. Repackaging a full bootloader (compiling and installing from sources relevant packages under /usr/lib/elemental) would be far more better but It takes a huge amount of work both for initial implementation and maintenance over time as grub is a heavilly patched package.
This solution requires minor modifications to the sources and works quite well. Basically it add the following:
Adds /usr/lib/elemental/bootloader/*-efi as first in grub modules search path
Ensure that MokManager.efi if handled properly when packaged in /usr/lib/elemental/bootloader
In docker files copy efi files and modules from green flavor to the target flavor
Additional context
I've set up a working configuration with modified snapshotter. It implements the following changes:
remove usage of btrfs default subvolume,
add an 'active_snap' variable to grub environment file,
rework of grub config file to always include a relative prefix (the snapshot path)
modify dracut to always have an 'elemental.image' with snapshot path even in active mode
ensure in elemental init that /boot/vmlinuz and /boot/initrd are relative links (recursively) so grub can handle them properly
maintain an 'active' symlink pointing to the active snapshot in the state directory
Removing usage of default subvolume make elemental work with any distro grub implementation (a least tested with debian trixie/bookworm, ubuntu and tumbleweed). However it is a breaking change over existing btrfs installed elementals.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
Need to add btrfs support for debian derivative distros
Describe the solution you'd like
The snapshotter implementation is actually dependant of btrfs default subvolume which create a dependency over the Opensuse grub implementation. Ideally Grub configuration should be able to boot any distro without depending on the btrfs subvolumes handled by grub.
Describe alternatives you've considered
As a first try. I bundled Opensuze grub implementation in /usr/lib/elemental (added also modules in /usr/lib/elemental/bootloader/*-efi). this solution works quite well (packaging only efi executables and modules). However I don't find this solution elegant. Repackaging a full bootloader (compiling and installing from sources relevant packages under /usr/lib/elemental) would be far more better but It takes a huge amount of work both for initial implementation and maintenance over time as grub is a heavilly patched package.
This solution requires minor modifications to the sources and works quite well. Basically it add the following:
Additional context
I've set up a working configuration with modified snapshotter. It implements the following changes:
Removing usage of default subvolume make elemental work with any distro grub implementation (a least tested with debian trixie/bookworm, ubuntu and tumbleweed). However it is a breaking change over existing btrfs installed elementals.
The text was updated successfully, but these errors were encountered: