this post was submitted on 02 Sep 2024
35 points (94.9% liked)

Linux

48624 readers
1165 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I know you can build a Debian system with debootstrap. Using debootstrap it should be possible to create a custom image. The main partition could be read only with separate mounts for anything that need to be read write.

Using containers it should be possible to create a filesystem image. I think the tricky part it testing the image and then updating the existing partition. Maybe some custom ostree tool could do the trick. If not there is always rsync and btrfs snapshots.

all 15 comments
sorted by: hot top controversial new old
[–] [email protected] 24 points 3 months ago (3 children)

Does it have to be Debian based? Otherwise uBlue is a great project!

[–] linearchaos 16 points 3 months ago

I'm using NixOS, it's really freaking awesome and super repeatable but it's also like smashing myself in the face with a brick every time I want to do something slightly unusual.

[–] [email protected] 5 points 3 months ago

uBlue is good, but only if you follow the official templates. I was following some other thing which did things very differently and my custom iso ended up broken i.e Anaconda was crashing and installation was impossible.

Edit: the thing is called Bluebuild. I'd recommend to steer clear of Bluebuild and just using the official template on Github. I'm still yet to do that myself but it seems like it might actually work, unlike Bluebuild.

[–] [email protected] 3 points 3 months ago (2 children)

I use Silverblue on my main machine. I want something lightweight for my other machine.

[–] [email protected] 8 points 3 months ago

Well, uBlue can be as light as you want it to be.

Some other projects I'm thinking of:

  • VanillaOS (Debian based)
  • NixOS
  • Fedora CoreOS
  • uCore (based on CoreOS)
  • openSUSE MicroOS
  • EndlessOS (Debian based)
  • blendOS

Is it for a personal computer or a server?

[–] [email protected] 1 points 3 months ago

Obviously, lightweight is open to some interpretation but Silverblue can be made very lightweight by simply uninstalling the default flatpaks. You'll be left with a very basic GNOME shell and greeter, without any of the common GNOME extras. From there you could easily install your own window manager, greeter, and whatever apps you need.

[–] daddyjones 8 points 3 months ago (1 children)

Also, not Debian, but https://github.com/cleanroom-team/cleanroom is very a DIY unusable system. I didn't build (most) off it, but I use it on my daily driver and a couple of other machines.

[–] AbidanYre 10 points 3 months ago (1 children)

unusable

I hope that's autocorrect?

[–] linearchaos 12 points 3 months ago (1 children)

That's like a whole nother level of immutable.

[–] [email protected] 6 points 3 months ago (1 children)

Can't break it if you can't use it!

[–] [email protected] 4 points 3 months ago

I use unusable Linux btw.

[–] [email protected] 5 points 3 months ago

mount -o remount,ro /

[–] [email protected] 4 points 3 months ago* (last edited 3 months ago) (1 children)

Hi!

I made my own inmutable distro using buildroot (https://buildroot.org): https://simplek8s.org

This distro is just an AIO kernel image that will bootstrap everything in RAM. You can mount additional devices for data persistence (for example you can mount your storage in /var).

[–] [email protected] 1 points 3 months ago* (last edited 3 months ago)