this post was submitted on 24 Aug 2023
474 points (97.0% liked)

Linux

48331 readers
639 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
 

Screenshot of QEMU VM showing an ASCII Gentoo Logo + system info

I followed Mental Outlaw's 2019 guide and followed the official handbook to get up-to-date instructions and tailored instructions for my system, the process took about 4 hours however I did go out for a nice walk while my kernel was compiling. Overall I enjoyed the process and learnt a lot about the Linux kernel while doing it.

I'm planning on installing it to my hardware soon, this was to get a feel for the process in a non-destructive way.

you are viewing a single comment's thread
view the rest of the comments
[–] Laser@feddit.de 3 points 1 year ago (2 children)

Actual USE flags I guess? If you ultimately want these is a different question though

[–] beteljuice@lemmy.ml 1 points 1 year ago* (last edited 1 year ago) (1 children)

Interesting, looked at the Gentoo docs to understand USE flags. Nix has similar capabilities, where some packages expose configuration options that apply to the build, but it's not a overtly named feature consistently applies across all packages. It seems that something like USE flags could be implemented rather easily by Nix but was either deemed not necessary or was an oversight. You can still change the build for any package but it might involve introspecting the package definition to figure out what to change so not meant as a first class mechanism like USE flags.

Edit: found this: https://github.com/NixOS/nixpkgs/issues/12877

[–] Laser@feddit.de 1 points 1 year ago (1 children)

USE flags have some inherent "issues" or rather downsides that make them non-options for some distributions.

First, they create a much larger number of package variants, simplified 2^(number of USE flags applicable to package). This is fine if you don't want to supply binaries to your users. Second, the gain they bring to the average workstation is rather insignificant today. Users usually want all functionality available and not save 30 kb of RAM and then suddenly have to rebuild world because they find out they're missing a USE flag that they suddenly need. Also, providing any kind of support for a system where the user doesn't run the binaries you provided and maybe even changed dependencies (e.g. libressl instead of openssl) is probably impossible.

It's very cool stuff if you want to build a system very specific to your needs and hardware, and I do believe that NixOS could have profited in some parts from it, but I don't have specific ideas.

[–] beteljuice@lemmy.ml 1 points 1 year ago

Yeah that thread i linked does talk about combinatorial explosion that would result in either a unmaintainable cache size or basically no caching at all of binaries. Your point about premature optimization is good. It makes me think that the seeming ignorance of USE flags by Nix was intentional.

[–] Zucca@sopuli.xyz 1 points 1 year ago (1 children)

USE flags and profiles.

I have one old laptop where I decided to test some more obscure Gentoo setups. I chose musl as libc and took llvm toolchain to compile stuff. (All experimental)

[–] Laser@feddit.de 3 points 1 year ago

It's honestly cool stuff, but I don't think a lot of people actually actively want that.

I tried something similar with Exherbo once but couldn't get it to boot after installation, I don't remember the specifics but I tried using libressl instead of openssl.