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.
Damn, you ran make
?
Please contribute to Pine64. As a consumer I really want Linux phones to go mainstream.
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 hope it was in an airgapped environment.
How long did it take to compile?
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)
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.