helloSystem / hello

Desktop system for creators with a focus on simplicity, elegance, and usability. Based on FreeBSD. Less, but better!
2.31k stars 57 forks source link

Consider distr1 for an image-based rather than package-based system #22

Open probonopd opened 4 years ago

probonopd commented 4 years ago

https://github.com/distr1/ puts together a whole Linux system using (currently: uncompressed squashfs) images.

I am wondering whether we could use it to

This would

Can it be ported to FreeBSD? (I've been interested in FreeBSD lately because it is much more of a consistent platform than the various incompatible Linux distributions.)

Additional food for thought:

cc @stapelberg (hi @stapelberg. I am the AppImage guy. With hello, I want to make something 10x as good.)

probonopd commented 4 years ago

Blocked by https://github.com/jacobsa/fuse/issues/91

probonopd commented 4 years ago

This could also be the basis for an AppImage/AppDIr-like system but for FreeBSD, taking into account FreeBSD strengths and constraints.

(Basically, think of every pkg being a zfs/squashfs filesystem image, and an AppDir being a directory consisting of one or more pkgs which would all get union-mounted together before and over / from the viewpoint of the application.)

dch commented 3 years ago

dropping this from IRC, https://github.com/seaweedfs/fuse is a working fuse-on-FreeBSD implementation. I can't tell if the go code you're using is a drop-in replacement or not, but at least that one works.

dch commented 3 years ago

wrt zfs and deduplication, TLDR no. The tradeoff is a large RAM lookup table vs incremental loss of disk space. You could look at using aggressive zstd compression on datasets, which might gain you more than gzip/lz4 defaults.

wrt squashfs, I'm guessing you've seen the mdconfig support already in the kernel?

probonopd commented 3 years ago

Thanks @dch.

This is a fork of http://bazil.org/fuse , for performance and to merge all good pull requests.

Would you expect something like https://github.com/distr1 to be easy to switch over from https://github.com/jacobsa/fuse/ or would that likely be a massive undertaking?

grahamperrin commented 3 years ago

https://github.com/helloSystem/hello/issues/22#issuecomment-784025918

… aggressive zstd compression on datasets, …

+1 however re: https://github.com/helloSystem/ISO/issues/135 and other issues, there's not yet use of OpenZFS for the live system.