That we can make software unique to our needs is one of these best parts of software freedom. Good for you!
Linux
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
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
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 🎉
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.
just like defrag in Windows
That felt more a horror for me.
Defrag all night and wake up to the sound of the hard drive failing.
Now that's horror.
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.
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.
Maybe it's not a big deal.. But I still remember the first time I compiled the Linux kernel. It feels good. Well done!!
Achievement unlocked… now try this… https://www.linuxfromscratch.org/lfs/
8MB for an entire thing running a web server.
Mind: blown
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.
How long did it take to compile?
I didn't really keep track, but I would estimate around 10-15 minutes on a Ryzen 5800X.
I compiled my first Linux kernel back in the mid 90s, mostly on 386 and Dec Alpha hardware, interesting enough both were not that much slower than what you mentioned, I think the alpha (a measly 21066) took about 40 minutes. If you had asked me back then, I’d probably have imagined a minute or two, 30 years later. Guess it says something about how much larger the Linux kernel has become.
That just brings me back to starting the compile, getting something to eat, doing chores, and whatever else. Then when it was finally done, booting it up only for it to not boot because I forgot some checkbox. Repeat a couple of times. Nights getting the thing working. And then on the next kernel release, trying to make sure I remembered all the checks because it didn't let you export the current config back then.
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)
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.
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.
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.
Congratulations on being awesome. ^Keep^ ^that^ ^shit^ ^up.^
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.
Yep. The mindset will take you much further than the kernel itself.
Congrats!
Nice! After the first time you get the hang of it but keep in mind, If you do make your own config you will have to recompile your kernel for any hardware that isn't automatically enabled in the config like graphics, touchpad, tablets, and other peripherals you will plug into your computer. Reading up on what hardware you have helps a lot but I still manage to forget something when I have to create my own config. Thankfully you can just transfer your config to the next kernel instead of creating it all over again.
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.
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.
Now this is what gives a man the feeling of power.
Surely this is a feat of engineering on Arch. But in NixOS, this is just Monday. 😉
I feel like compiling your own kernel officially makes you not a normie. So... Welcome to the club!
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...
Nice job! Now you begin the journey of refining and perfecting your kernel config over time, to suit you. A new world awaits.
A feat I have yet to achieve, and I have been using Linux since Yiggdrasil.
The Arch Build System also makes it very easy to apply patches. This allows you for example to try fixes before they get merged.
I used to do this with Gentoo, and it was always a blast! Glad that you’re having fun “rolling your own!”
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?
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.
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.
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.
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...
Wow, well done. I haven't done that in like 20 years!
Please contribute to Pine64. As a consumer I really want Linux phones to go mainstream.
Damn, you ran make
?
Sure did.
I hope it was in an airgapped environment.