LVM support for Guix System Distribution

With GNU Guix 0.8.1 and it's distribution there is still lack of LVM support. As I'm probably the only user of LVM, I need to hack support into initrd myself.

Steps I'm planning to take:

  1. Think about how configuration structure should look like
  2. Discuss proposal with upstream
  3. Try to implement it for both non-root mount and root mount

Looking for hackers with the skills:

scheme guile initrd lvm

This project is part of:

Hack Week 12 Hack Week 15

Activity

  • almost 8 years ago: sjamgade liked this project.
  • almost 8 years ago: ZRen liked this project.
  • over 9 years ago: sleep_walker started this project.
  • over 9 years ago: sleep_walker added keyword "scheme" to this project.
  • over 9 years ago: sleep_walker added keyword "guile" to this project.
  • over 9 years ago: sleep_walker added keyword "initrd" to this project.
  • over 9 years ago: sleep_walker added keyword "lvm" to this project.
  • over 9 years ago: sleep_walker originated this project.

  • Comments

    • sleep_walker
      over 9 years ago by sleep_walker | Reply

      After this Hackweek I managed to add support for boot from root filesystem on LVM as the mount is done in initrd. For other filesystems the work is still in progress. These filesystems are mounted after switching root and fails on dependency problems between udev and file systems.

      LVM related thread in guix-devel mailing list

    • sleep_walker
      almost 8 years ago by sleep_walker | Reply

      Let's try again to work on this. It seems that noone else would do it ;)

    Similar Projects

    concierge: a distributed object capabilities based secret management tool implemented with Spritely Goblins by gleidi

    Description

    The idea is to build a FOSS command line (for now) secrets management tool, you may have heard of SOPS or Hashicorp Vault, with Spritely Goblins.

    Goblins is a distributed object programming environment. It provides an intuitive security model, automatic local transactions for locally synchronous operations, and an easy to use and efficient asynchronous programming interface for encapsulated objects which can live anywhere on the network. Its networking model abstracts away these details so the programmer can focus on object programming rather than protocol architecture.

    Goblins also integrates powerful distributed debugging tools, and a process persistence and upgrade model which respects its security fundamentals.

    Goals

    • learn more about distributed object capabilities environments
    • create a Goblins application (or more realistically a demo) able to serialize encrypted secrets and allow only the read capability owner to read the serialized secrets.

    Resources

    • https://codeberg.org/fishinthecalculator/concierge
    • https://spritely.institute/goblins/
    • https://www.gnu.org/software/guile/manual/guile.html


    concierge: a distributed object capabilities based secret management tool implemented with Spritely Goblins by gleidi

    Description

    The idea is to build a FOSS command line (for now) secrets management tool, you may have heard of SOPS or Hashicorp Vault, with Spritely Goblins.

    Goblins is a distributed object programming environment. It provides an intuitive security model, automatic local transactions for locally synchronous operations, and an easy to use and efficient asynchronous programming interface for encapsulated objects which can live anywhere on the network. Its networking model abstracts away these details so the programmer can focus on object programming rather than protocol architecture.

    Goblins also integrates powerful distributed debugging tools, and a process persistence and upgrade model which respects its security fundamentals.

    Goals

    • learn more about distributed object capabilities environments
    • create a Goblins application (or more realistically a demo) able to serialize encrypted secrets and allow only the read capability owner to read the serialized secrets.

    Resources

    • https://codeberg.org/fishinthecalculator/concierge
    • https://spritely.institute/goblins/
    • https://www.gnu.org/software/guile/manual/guile.html


    iSCSI integration in Warewulf by ncuralli

    Description

    This Hackweek project aims to enhance Warewulf’s capabilities by adding iSCSI support, enabling both remote boot and flexible mounting of iSCSI devices within the filesystem. The project, which already handles NFS, DHCP, and iPXE, will be extended to offer iSCSI services as well, centralizing all necessary services for provisioning and booting cluster nodes.

    Goals

    • iSCSI Boot Option: Enable nodes to boot directly from iSCSI volumes
    • Mounting iSCSI Volumes within the Filesystem: Implement support for mounting iSCSI devices at various points within the filesystem

    Resources

    https://warewulf.org/

    Steps

    • add generic framework to handle remote ressource/filesystems to wwctl [ ]
    • add iSCSI handling to wwctl configure [ ]
    • add iSCSI to dracut files [ ]
    • test it [ ]