Idea is to have SUSE system with OpenZFS as root FS.

Why ZFS

Ways in which ZFS is better than BTRFS

Main goal

Have OpenZFS as install option in the installer and utilize zedenv Boot Environment Manager for SUSE updates install

Goals

  • synergy of ZFS with dracut, so snapshots are correctly added to the grub
  • synergy of zedenv with zypper
    • before every update snapshot is created
    • when new kernel or other package which requires reboot is about to be installed, the update will be processed to the new boot environment snapshot and grub configuration changed to boot to this new one
  • integrate Root on ZFS as install option to the YaST
  • configure Kiwi for the ZFS install images

Completed goals

  • prepare ZFS pool compatible with openSUSE installation ✓
  • install openSUSE with root on ZFS ✓
  • boot to the prepared and installed system ✓

Current progress

Resources:

Looking for hackers with the skills:

dracut yast yastui zfs packaging

This project is part of:

Hack Week 17 Hack Week 19 Hack Week 21 Hack Week 23

Activity

  • about 1 year ago: uncomfyhalomacro liked this project.
  • over 2 years ago: ph03nix liked this project.
  • over 2 years ago: jkohoutek added keyword "packaging" to this project.
  • almost 3 years ago: averyfreeman liked this project.
  • over 3 years ago: MilesBHuff liked this project.
  • almost 4 years ago: dfaggioli liked this project.
  • almost 5 years ago: lkocman liked this project.
  • almost 5 years ago: jkohoutek liked this project.
  • almost 5 years ago: jkohoutek added keyword "zfs" to this project.
  • almost 5 years ago: jkohoutek added keyword "yast" to this project.
  • almost 5 years ago: jkohoutek added keyword "yastui" to this project.
  • almost 5 years ago: jkohoutek added keyword "dracut" to this project.
  • over 6 years ago: michalnowak liked this project.
  • over 6 years ago: lproven liked this project.
  • over 6 years ago: jochenbreuer liked this project.
  • over 6 years ago: jkohoutek started this project.
  • over 6 years ago: jkohoutek originated this project.

  • Comments

    • pluskalm
      over 6 years ago by pluskalm | Reply

      zfs itself is already packaged in https://build.opensuse.org/package/show/filesystems/zfs , not sure about rest of required stuff

    • firstyear
      almost 5 years ago by firstyear | Reply

      This looks awesome, I wish you all the best on this!

    • lkocman
      almost 5 years ago by lkocman | Reply

      I did something like our snapper for zfs / grub2 / opensolaris about 10 years ago :-) It was a high school project, but it might be fun just to try it out.

      • jkohoutek
        almost 5 years ago by jkohoutek | Reply

        You mean something like Time slider? add-emoji It would be great to i implement it :-)

    • jkohoutek
      almost 5 years ago by jkohoutek | Reply

      Project update - Tumbleweed is able to boot from ZoL root! Check current progress

      • bobafetthotmail
        over 4 years ago by bobafetthotmail | Reply

        can't log in to see the "current progress", is there a repo or a more accesible place with some instructions to make Tumbleweed run/boot on ZFS root?

      • MilesBHuff
        over 3 years ago by MilesBHuff | Reply

        Hi! Can you please post how to do this publicly? The link you said to click on in the post is inaccessible to us normies.

    Similar Projects

    Packaging Mu on OBS by joeyli

    Description

    Packaging Microsoft Mu project

    Goals

    Packaging Mu RPM on OBS.

    Resources

    https://microsoft.github.io/mu/

    https://github.com/microsoft/mu

    https://github.com/microsoft/mu_basecore

    https://github.com/microsoft/mutianoplatforms

    https://github.com/microsoft/mutianoplus

    https://github.com/microsoft/mu_plus

    Hackweek 22: Look at Microsoft Mu project

    https://hackweek.opensuse.org/22/projects/look-at-microsoft-mu-project

    https://drive.google.com/file/d/1BT31i7z3qh13adj9pdRz3lTUkqIsXvjY/view?usp=drive_link


    Framework laptop integration by nkrapp

    Project Description

    Although openSUSE does run on the Framework laptops out-of-the-box, there is still room to improve the experience. The ultimate goal is to get openSUSE on the list of community supported distros

    Goal for this Hackweek

    The goal this year is to at least package all of the soft- and firmware for accessories like the embedded controller, Framework 16 inputmodule and other tools. I already made some progress by packaging the inputmodule control software, but the firmware is still missing

    Resources

    As I only have a Framework laptop 16 and not a 13 I'm looking for people with hardware that can help me test

    Progress:

    Update 1:

    The project lives under my home for now until I can get an independent project on OBS: Framework Laptop project

    Also, the first package is already done, it's the cli for the led-matrix spacer module on the Framework Laptop 16. I am also testing this myself, but any feedback or questions are welcome.

    You can test the package on the Framework 16 by adding this repo and installing the package inputmodule-control

    Update 2:

    I finished packaging the python cli/gui for the inputmodule. It is using a bit of a hack because one of the dependencies (PySimpleGUI) recently switched to a noncommercial license so I cannot ship it. But now you can actually play the games on the led-matrix (the rust package doesn't include controls for the games). I'm also working on the Framework system tools now, which should be more interesting for Framework 13 users.

    You can test the package on the Framework 16 by installing python311-framework16_inputmodule and then running "ledmatrixctl" from the command line.

    Update 3:

    I packaged the framework_tool, a general application for interacting with the system. You can find it some detailed information what it can do here. On my system everything related to the embedded controller functionality doesn't work though, so some help testing and debugging would be appreciated.

    Update 4:

    Today I finished the qmk interface, which gives you a cli (and gui) to configure your Framework 16 keyboard. Sadly the Python gui is broken upstream, but I added the qmk_hid package with the cli and from my testing it works well.

    Final Update:

    All the interesting programs are now done, I decided to exclude the firmware for now since upstream also recommends using fwupd to update it. I will hack on more things related to the Framework Laptops in the future so if there are any ideas to improve the experience (or any bugs to report) feel free to message me about it.

    As a final summary/help for everyone using a Framework Laptop who wants to use this software:

    The source code for all packages can be found in repositories in the Framework organization on Github

    All software can be installed from this repo (Tumbleweed)

    The available packages are:

    • framework-inputmodule-control (FW16) - play with the inputmodules on your Framework 16 (b1-display, led-matrix, c1-minimal)

    • python-framework16_inputmodule (FW16) - same as inputmodule-control but is needed if you want to play and crontrol the built-in games in the led-matrix (call with ledmatrixctl or ledmatrixgui)

    • framework_tool (FW13 and FW 16) - use to see and configure general things on your framework system. Commands using the embedded controller might not work, it looks like there are some problems with the kernel module used by the EC. Fixing this is out of scope for this hackweek but I am working on it

    • qmk_hid (FW16) - a cli to configure the FW16 qmk keyboard. Sadly the gui for this is broken upstream so only the cli is usable for now


    Update Haskell ecosystem in Tumbleweed to GHC-9.10.x by psimons

    Description

    We are currently at GHC-9.8.x, which a bit old. So I'd like to take a shot at the latest version of the compiler, GHC-9.10.x. This is gonna be interesting because the new version requires major updates to all kinds of libraries and base packages, which typically means patching lots of packages to make them build again.

    Goals

    Have working builds of GHC-9.10.x and the required Haskell packages in 'devel:languages:haskell` so that we can compile:

    • git-annex
    • pandoc
    • xmonad
    • cabal-install

    Resources

    • https://build.opensuse.org/project/show/devel:languages:haskell/
    • https://github.com/opensuse-haskell/configuration/
    • #discuss-haskell
    • https://www.twitch.tv/peti343