troglobit / finit

Fast init for Linux. Cookies included
https://troglobit.com/projects/finit/
MIT License
633 stars 63 forks source link

Support for nested fs #74

Open DeX77 opened 7 years ago

DeX77 commented 7 years ago

Currently its not possible for finit to mount nested FS, like a cryptsetup LUKS parition with a LVM PV. Also I think the reverse is also possible.

Guess this needs a cryptsetup and a lvm plugin and some nesting logic.

troglobit commented 7 years ago

You're more than welcome to give it a try! :smiley:

DeX77 commented 7 years ago

Used a VM with attached encrypted LVM PV and finit says (or to be precise: mount -na says) it could not find the special device.

Here is summary of what I did: https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system#LVM_on_LUKS

I'll try to hack a plugin to autodetect crypted devices and another for LVM PVs.

Is there a cond I might use for "new device detected" so I could simply make both plugins try their luck? Then order would not matter since both use a device but also create (at least one) new.

troglobit commented 7 years ago

Sorry for the late reply, but could mdev/udev be an alternative for this?

Currently implemented conditions are:

DeX77 commented 7 years ago

Had the same idea already. :smile:

Will try to find some sufficient udev rules. Maybe borrowed from dracut.

troglobit commented 7 years ago

Neat, good luck! 😊

On Tue, May 9, 2017, 11:21 DeX77, notifications@github.com wrote:

Had the same idea already. 😄

Will try to find some sufficient udev rules. Maybe borrowed from dracut.

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/troglobit/finit/issues/74#issuecomment-300108976, or mute the thread https://github.com/notifications/unsubscribe-auth/AALM3eDQbdiiixMtBPq3GfZdYNfGmoqdks5r4DABgaJpZM4NRwym .

troglobit commented 7 years ago

@DeX77 did you ever resolve your issue? (Asking because bug triage prep for v3.0)

DeX77 commented 7 years ago

@troglobit I actually didn't try further, sorry. Perhaps move it to a later milestone?

troglobit commented 7 years ago

@DeX77 Sure thing! :+1:

markand commented 5 years ago

Hello,

I was interested as well in finit because of its simplicity. However, in my understanding it's a “blackbox” that performs many steps on your behalf at boot (which isn't necessary a bad thing) but makes complex cases much harder to implement. This includes RAID, ZFS, LVM, LUKS or other things to perform before mounting /.

Either the solution would be to provide a way to customize the pre-boot process or to implement those things directly in finit (which to me is more error-prone). Or perhaps a initramfs performing its own steps before running finit?

Do you have some recommendations for that or ideas?

troglobit commented 5 years ago

@markand For now I'd recommend a separate initramfs before running finit, definitely. That's how I set up my own RAID. There are some hand-over mechanisms defined by freedesktop/systemd (@ as first char in process name) that you can look into.

For a pure Finit approach, however, I'd very much like to see a native plugin for each separate task. The whole point of Finit is to be more integrated and use less scripts, otherwise you'd just end up with yet another SysV init or runit clone.