this post was submitted on 26 Jul 2023
246 points (100.0% liked)

Linux

1258 readers
98 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
 

It's not really a big deal, but I am currently writing this using a linux kernel I compiled from source, which certainly feels like an accomplishment. The Arch Wiki has made the process fairly easy to follow. I just took the stock Arch Linux configuration without changes for now.

The most important part of this is of course that I have the option to do that, to take the source code of this incredible project and build my own kernel binary.

top 43 comments
sorted by: hot top controversial new old
[–] BelPolaris@pawb.social 32 points 1 year ago

That we can make software unique to our needs is one of these best parts of software freedom. Good for you!

[–] Frederic 30 points 1 year ago (2 children)

I often did this for years, using -march=corei7 and -mtune=skylake or whatever was the best option for my cpu, patching with brainfuck scheduler, etc.

Now I don't care really 😑

It's always cool to tinker with kernel and config, congrats 🎉

[–] Deebster@lemmy.ml 36 points 1 year ago (1 children)

As a student I wasted so much time mucking around with flags and settings in Gentoo. It definitely wasn't pointless since I learned so much, but I didn't need to sit there and watch it compile as much as I did.

It was pleasing to watch though, just like defrag in Windows.

[–] melroy@kbin.melroy.org 17 points 1 year ago (1 children)

just like defrag in Windows

That felt more a horror for me.

[–] vd1n@lemmy.ml 18 points 1 year ago (2 children)

Defrag all night and wake up to the sound of the hard drive failing.

[–] arthur@lemmy.zip 8 points 1 year ago (1 children)
[–] melroy@kbin.melroy.org 2 points 1 year ago

You have backups. Right. Right??

A friend of mine is a musician. About a decade or two ago I went over to his house and he said that he had to get a new fan to fix his computer. I asked him what was going on, so he turned it on and I heard that tick-tick-tick of the read head. I had to let him know it was his hard drive. He had a lot backed up, but not everything, and not the stuff he'd been working on the past couple weeks. Just a bummer. But he did set up a backup program after that.

[–] melroy@kbin.melroy.org 5 points 1 year ago* (last edited 1 year ago)

ahh what a shame. I have: https://kernel.melroy.org/.

But I also didn't had the time to create new kernels. My PC is too slow at the moment. hahaha. Just wait.. maybe I will get the latest threadripper. Instead of the first -gen i7 from 2008.

[–] melroy@kbin.melroy.org 21 points 1 year ago

Maybe it's not a big deal.. But I still remember the first time I compiled the Linux kernel. It feels good. Well done!!

[–] TheImpressiveX@lemmy.ml 20 points 1 year ago

This is the best part of free/libre/open-source software. Even if you would never want or need to compile software yourself, the fact that you have the option to do so, and the opportunity to learn how the software works, is what makes FLOSS superior to proprietary software IMO.

I just compiled Handbrake from source a few minutes ago, and I know how you feel. Best of luck in your future code-compiling endeavors.

[–] muddybulldog@mylemmy.win 19 points 1 year ago (1 children)
[–] happyhippo@feddit.it 7 points 1 year ago

8MB for an entire thing running a web server.

Mind: blown

[–] floofloof@lemmy.ca 16 points 1 year ago (2 children)

How long did it take to compile?

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

I didn't really keep track, but I would estimate around 10-15 minutes on a Ryzen 5800X.

[–] db2@lemmy.one 3 points 1 year ago

Last time I compiled a kernel it was on a bus-overclocked K6-3/500 (higher bus, lower multiplier).

not OP but on my i7 7700K a fully-featured kernel takes about 2 hours or so to compile. if i minimize the kernel to only the modules i need i can get it down to 20-30 minutes (clean). incremental compiles barely hit 5-10 mins

overall not a big deal, especially compared to something like firefox (or god forbid chromium). or gcc with pgo (which is technically cheating because it compiles itself 3 times if you enable pgo)

[–] oo1@kbin.social 12 points 1 year ago
[–] addie@feddit.uk 9 points 1 year ago (2 children)

It's not the compiling that kernel is hard - ironically, it's one of the easiest things in the whole ecosystem to compile, got great tooling. It's breaking down the mental barrier of something that you thought would be hard, but turns out to be completely within your grasp. Great work, keep it up, and never be afraid to keep pushing onwards.

[–] Gobbel2000@feddit.de 2 points 1 year ago

Yes, that was my experience as well. And of course there is the added tension that if you mess up somehow your system might become unbootable.

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

I didn't dare try to recompile it myself until I saw someone do it in a Youtube video. Changing the config is literally an interactive menu with labelled options and buttons. And your distro almost certainly includes a copy of the settings it uses, so you can just change a few values and keep everything else the same.

[–] fmstrat@lemmy.nowsci.com 8 points 1 year ago (1 children)

Congrats! Keep this kind of mindset if you can, even later in life. It will continue to take you farther in life than you would imagine.

[–] min_fapper@iusearchlinux.fyi 3 points 1 year ago

Yep. The mindset will take you much further than the kernel itself.

[–] Borgzilla@lemmy.ca 7 points 1 year ago
[–] GeekyOnion 5 points 1 year ago

I used to do this with Gentoo, and it was always a blast! Glad that you’re having fun “rolling your own!”

[–] glibg10b@lemmy.ml 4 points 1 year ago (1 children)
[–] Gobbel2000@feddit.de 3 points 1 year ago
[–] demesisx@infosec.pub 4 points 1 year ago* (last edited 1 year ago)

Surely this is a feat of engineering on Arch. But in NixOS, this is just Monday. 😉

[–] banazir@lemmy.ml 4 points 1 year ago (1 children)

Nice! I also compiled the kernel multiple times when I used Gentoo back in mid 00's. It may not be a big deal as such, but I feel kind of good being able to say I've done it.

Next challenge: write your own kernel.

[–] tony@lemmy.hoyle.me.uk 1 points 1 year ago

I installed gentoo from stage 1 or maybe 2 back in the day... it compiles to compiler to compile the rest of the build process and then compiles the kernel and base... quite fascinating but it took about 3 hours on the hardware I was using.

[–] JuxtaposedJaguar@lemmy.ml 4 points 1 year ago (1 children)

I feel like compiling your own kernel officially makes you not a normie. So... Welcome to the club!

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

Hey, I did compile my kernel so I'm part of the club!

But now that I think about it, the last time was 20 years ago and it's because it was the only way to get my sound card and network card working...

[–] snor10@lemm.ee 4 points 1 year ago

Now this is what gives a man the feeling of power.

[–] waspentalive@lemmy.one 2 points 1 year ago

A feat I have yet to achieve, and I have been using Linux since Yiggdrasil.

[–] yoz@aussie.zone 2 points 1 year ago

Please contribute to Pine64. As a consumer I really want Linux phones to go mainstream.

[–] housepanther@lemmy.goblackcat.com 2 points 1 year ago (1 children)

That's certainly nothing to shake a stick, OP! Very well done. The last time I compiled a kernel was back in 1999 with Slackware. If I remember correctly it was a version previous to 7.

[–] Shadow@lemmy.ca 4 points 1 year ago* (last edited 1 year ago)

I have vague memories around that time of doing it, I think it took 3 days to compile IIRC.

Or maybe I'm thinking of early Gentoo installs...

[–] atomic@programming.dev 2 points 1 year ago* (last edited 1 year ago)

Nice job! Now you begin the journey of refining and perfecting your kernel config over time, to suit you. A new world awaits.

[–] forgotmylastusername@lemmy.ml 2 points 1 year ago

Fun times. Always keep a fallback kernel installed. Even if you're not compiling your own.

I had to learn what chroot is when I borked my own kernel compile and there wasn't fallback.

[–] rbos@lemmy.ca 1 points 1 year ago

Wow, well done. I haven't done that in like 20 years!

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

I hope it was in an airgapped environment.

[–] mtchristo@lemm.ee 1 points 1 year ago (1 children)

Can I ask what are your pc specs , and how long did it take? + do you have a degree in computer science or prior knowledge of compiling code?

[–] Gobbel2000@feddit.de 2 points 1 year ago

It took roughly 10-15 minutes on a Ryzen 5800X with 32GB RAM. I have compiled other programs before, but none nearly as large and notable as the kernel. I am in fact very close to getting a computer science degree, but that is in no way required to be able to do this. If you are able to follow the wiki-page I linked, you can do it too.