Stories
Slash Boxes
Comments

SoylentNews is people

When was the last time you compiled an operating system kernel?

Displaying poll results.
This morning---I live on the unstable nightly build!
  5% 3 votes
Every time a major release comes out
  3% 2 votes
Whenever my distro does it for me
  13% 7 votes
Last century
  23% 12 votes
That one time when I was in college and I was experimenting
  11% 6 votes
Never
  19% 10 votes
What's a kernel?
0% 0 votes
Other (describe in the comments)
  23% 12 votes
52 total votes.
[ Voting Booth | Other Polls | Back Home ]
  • Don't complain about lack of options. You've got to pick a few when you do multiple choice. Those are the breaks.
  • Feel free to suggest poll ideas if you're feeling creative. I'd strongly suggest reading the past polls first.
  • This whole thing is wildly inaccurate. Rounding errors, ballot stuffers, dynamic IPs, firewalls. If you're using these numbers to do anything important, you're insane.
Display Options Threshold/Breakthrough Reply to Article Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1)
  • (Score: 2) by Snospar on Monday July 20, @08:06AM

    by Snospar (5366) Subscriber Badge on Monday July 20, @08:06AM (#1448779)

    I used to do this with every new distro install, mainly because way back then it was a necessity to (a) ensure all your hardware was supported and (b) to keep the system lean because resources were at a premium. Over time, thankfully, more and more hardware was included in the kernel (either built-in or as a module) and resources became abundant so wasting a little disk on things you'd never use wasn't a problem. The convenience of accepting the default kernel provided by the distro has one downside, I no longer keep track of what's changing in the kernel and which options I really should be using to optimise my personal setup.

    I think I've just found my next little project!

    --
    Huge thanks to all the Soylent volunteers without whom this community (and this post) would not be possible.
  • (Score: 3, Touché) by jb on Monday July 20, @08:14AM (3 children)

    by jb (338) on Monday July 20, @08:14AM (#1448780)

    Does relinked count as "compiled" here?

    On OpenBSD, for example, the kernel is relinked (with a new random address space layout) whenever the system is booted; and again whenever the kernel is patched.

    • (Score: 2, Funny) by Anonymous Coward on Monday July 20, @08:51AM (1 child)

      by Anonymous Coward on Monday July 20, @08:51AM (#1448784)

      At first I was going to say "no" because that isn't actually handled by the compiler or any part of GCC. Instead, it is handled by the linker ld, which is a part of binutils. At first that seemed sane because I don't think anyone would consider the library randomizer (ranlib) or archiver (ar) to be a part of the compilation process. But as I thought of it, the assembler (GAS, which is also a part of binutils) would probably be considered part of the compilation process. Every time you compile something you need to also assemble it regardless of your ultimate goal. Because of that, I'm now leaning towards a "yes" answer. However, I can't shake the feeling that answer is wrong too. It really depends on how strict my view at the time is and how much I metaphorically squint my eyes.

      • (Score: 2) by jb on Tuesday July 21, @08:31AM

        by jb (338) on Tuesday July 21, @08:31AM (#1448893)

        Yes it is indeed all done with ld(1), although of course it's the ld from llvm (not the ld from gcc, which was abandoned several releases ago).

        I also lean towards a "no" answer, but it seemed like an interesting question to ask anyway.

    • (Score: 2) by Freeman on Monday July 20, @08:35PM

      by Freeman (732) on Monday July 20, @08:35PM (#1448858) Journal

      I would file that under the "whenever my distro does it for me" line.

      --
      Joshua 1:9 "Be strong and of a good courage; be not afraid, neither be thou dismayed: for the Lord thy God is with thee"
  • (Score: 2) by Bentonite on Monday July 20, @11:21AM

    by Bentonite (56146) on Monday July 20, @11:21AM (#1448790)

    Whenever I feel like updating GNU Linux-libre - a custom .config is the only way you can get it compiled right (i.e. certainly without rust, as; `rm -r rust`).

    It's odd that it's redundantly specific to kernel's for OS's, considering that 99% of kernel's are part of, or for OS's.

  • (Score: 2) by Thexalon on Monday July 20, @06:13PM

    by Thexalon (636) on Monday July 20, @06:13PM (#1448840)

    I used to do Linux From Scratch [linuxfromscratch.org] builds regularly, and even contributed a few bits of info to it, and compiling a kernel is something I just got used to doing as part of the process. And I also ran Gentoo for a while, where that experience definitely came in handy.

    These days I don't because the value to pain-in-the-tuchas ratio isn't high enough, but if I get more time to play around with tech stuff again I'll get back to it.

    --
    "Think of how stupid the average person is. Then realize half of 'em are stupider than that." - George Carlin
  • (Score: 3, Insightful) by VLM on Monday July 20, @08:05PM

    by VLM (445) on Monday July 20, @08:05PM (#1448853)

    I guess an RTOS like zephyr would count. Its already larger than linux was when I started with linux. Doesn't have systemd yet, the entryists haven't arrived. Give them time...

  • (Score: 2) by Freeman on Monday July 20, @08:33PM

    by Freeman (732) on Monday July 20, @08:33PM (#1448857) Journal

    Pretty sure I've compiled a kernel or two, but "whenever my distro does it for me" is a more likely scenario. By the time I've get down to the "you need to compile the kernel with support for X" part of things, I probably don't need it that bad.

    --
    Joshua 1:9 "Be strong and of a good courage; be not afraid, neither be thou dismayed: for the Lord thy God is with thee"
  • (Score: 3, Interesting) by VLM on Monday July 20, @10:29PM (1 child)

    by VLM (445) on Monday July 20, @10:29PM (#1448873)

    Semi-serious question, where does DKMS fit in?

    https://github.com/dkms-project/dkms [github.com]

    https://wiki.debian.org/DkmsPackaging [debian.org]

    I would guess "when my OS does it for me" because that's kinda what DKMS does. When you get a new kernel it compiles and installs the 3rd party driver using the new headers. Pretty cool and by the time I used it, it was reliable. You don't have to compile your own kernel, well, not entirely, you'll just download the kernel version headers and compile whatever dkms part you want, like a driver or I suppose in theory, anything that can work in a loadable kernel module (a filesystem maybe)

    For reasons that can't be blamed on the system, I've had mixed results in the past (like years ago) there was an on-board SBC ethernet driver (not a RasPI it was some weird thing) that worked best with DKMS on older kernels because the kernel generic driver was a little too generic, then the kernel upgraded its own semi-compatible driver in newer kernel versions to be better than the previously better DKMS version, such that the DKMS peeps gave up so continuing to use the DKMS version of the driver was worse than using the improved kernel driver.

    Maybe a third of DKMS modules were licensing problems. ZFS/OpenZFS is CDDL license which was pretty much invented to prevent inclusion in GPL linux, which it does very successfully. But there is a DKMS module for endusers who want to use ZFS anyway. You can't distribute a GPL thing thats tainted with CDDL by the intention and design of the CDDL authors.

    Maybe a third of DKMS modules are really obscure. I remember using this for OpenAFS. There were probably a couple, maybe even ten of us using AFS. AFS was indeed pretty cool and I kind of miss it. How can I explain AFS to people who never used it... like a unified global FTP site (ipv4 only) crossed with NFS, sort of, all kerberos'd and ACL'd to heck and back to make it semi-secure ish. Like imagine if NFS had working ACLs and security and authentication and worked globally almost like automounter NFS except better. I'm not sure there's anything like it today; if there was I'd probably use it.

    The last third is extremely narrow and specific devices like a really nice driver for just one specific Realtek ethernet driver, hyper narrow focus. Kind of cool to have something that detailed and custom.

    • (Score: 0) by Anonymous Coward on Wednesday July 22, @04:51AM

      by Anonymous Coward on Wednesday July 22, @04:51AM (#1448962)

      I don't think that counts. DKMS doesn't compile a kernel and it doesn't have to compile the module either. All it has to do is "build" one. What that means can fall well short of recompilation of the module if you make it correctly.

  • (Score: 0) by Anonymous Coward on Wednesday July 22, @05:53AM

    by Anonymous Coward on Wednesday July 22, @05:53AM (#1448964)

    February ... there was a thing in OpenBSD where MacBooks took about 3 hours to boot unless you edited a line in acpi.c

    The problem lasted a couple of years so just recompile the kernel after the first time and keep your /usr/src in sync and deal with it.

    The fix was committed upstream in time for OpenBSD 7.9-BETA. After that just a regular syspatch -s would get a system that booted in less time than it takes to watch a LOTR film.

    Honestly just glad that shit's over.

  • (Score: 2) by gnuman on Wednesday July 22, @02:10PM

    by gnuman (5013) on Wednesday July 22, @02:10PM (#1448983)

    Last time I compiled the kernel was when it was still possible to go through all the parameters and decide if you wanted to turn them on or off. That was maybe around 2005 timeframe, +- a year or two?

    Seriously, these days, if you with to compile the kernel with the features that you need but no features that you do not need, it would take hours to try to figure out what exactly is important or not. The amount of config options possible these days is impressive, to say the least. And reading them all to tailor to your system is *dedication*

(1)