Slashdot Mirror


New Linux Kernel Configuration System

An anonymous reader writes "When Eric S. Raymond tried to replace the Linux kernel's configuration system with "something better", he got booed off the stage. Now Roman Zippel is bravely having his own go at it. Here's an interview with Roman and a look at his new configuration system, aimed for inclusion into the 2.5 development kernel. Also, find some screenshots of his new graphical configuration frontend."

21 of 330 comments (clear)

  1. poor guy by GoatPigSheep · · Score: 3, Insightful

    When Eric S. Raymond tried to replace the Linux kernel's configuration system with "something better", he got booed off the stage.

    Yet another thing to add to my list of "and people wounder why linux is not being readily accepted by everyone" items. I mean, come on, the guy just wanted to help make things better! Getting booed off the stage hurts!

    --
    GoatPigSheep, the 3 most important food groups
    1. Re:poor guy by Anonymous Coward · · Score: 1, Insightful

      Yeah, he did. But his "something better" wasn't. It was a masturbatory exercise in pushing a pet language that resulted in a confusing mess that was at least as bad as the current system.

  2. does it pre-configure by oliverthered · · Score: 5, Insightful

    Well the site is /.ed so what i want to know is.

    Does it scan your hardware and create a default kernel configuration with all ther drivers for your hardware pre-selected.

    It could even ask if you running a desktop or server machine and turn on/off low latency, pre-emtion and supermount for the desktop.

    I usually have to enable evrything to get X piece of hardware working corrctly and then disable stuff to find out what the correct drivers/modules were.

    --
    thank God the internet isn't a human right.
  3. The Linux problem in a nutshell. by NetRanger · · Score: 3, Insightful
    There is too much resistence to change in the Linux community. The problem is a simple one: in the minds of Elitists, easier is not better, it's "lamer", "suckier", or "for wussies". Thus, when someone comes up with the brilliant idea that the average person should be able to actually use the system, they're booed off. Yet these boo-ers are the same people who bash the mass market for using Microsoft or Apple's OS X. OS X is astoundingly good... a simple, intuitive, appealing interface on top of loads of raw power. That's what Linux needs.

    Right now, when you install pretty much anybody's distro, you start up with an interface that has tons and tons of menus, icons, widgets, and whatnot, already up and running. It's an overload, and instead of trying to learn it, newbies are balking at it.

    So why not have an easy-to-use kernel configuration system? Why not have an independent object model, where any distribution or window manager can use each other's dialog pages?

    The only answer we seem to get is: "because it's for wussies!"

    --
    -- We live in a world where lemonade is artificial and soap has real lemon.
    1. Re:The Linux problem in a nutshell. by Anonymous Coward · · Score: 1, Insightful

      The resistance to change is in all the wrong places. Kernel configuration really needs to be changed. Compare the effect of inserting an "autorun.inf" driver CD and "make xconfig" on a normal user. Yet Linux does change rapidly. The network system changes with every x in 2.x and drivers for 2.4.x don't work anymore in 2.4.x+y. Linux is hard to maintain as a single user machine if you expect all the bells and whistles of a modern system.

    2. Re:The Linux problem in a nutshell. by Wdomburg · · Score: 5, Insightful

      >Thus, when someone comes up with the brilliant
      >idea that the average person should be able to
      >actually use the system, they're booed off. Yet
      >these boo-ers are the same people who bash the
      >mass market for using Microsoft or Apple's OS X.

      Let's see.. When I started running Linux way back when I had to manually partition my hard drive, manually configure X (including plugging in video timings for my monitor), manually configure sound (including plugging in I/O addresses and IRQs), had to edit a config file in vi to add icons to my windowmanager (Afterstep Classic), had no real GUI filemanager, took 4 hours to figure out how to get my printer working properly, etc, etc.

      Now, I can stick in a CD, have it autopartition, detect all my hardware, configure X, and has a full desktop environment with a GUI filemanager, where I can simply drag an icon to the panel. I can hot plug USB and PCMCIA devices to my heart's content. I can add new hardware, and it will detect and configure it on boot. I can sit back and let my machine take care of keeping itself up to date with all the latest security patches.

      I must have missed an AWFUL lot of booing somewhere.

      >Right now, when you install pretty much anybody's
      >distro,

      Except for Lindows, Lycoris, Libranet, OEOne, Xandros...

      Come the release of Red Hat 8.0, you can probably add that to the list, given the focus they've put into creating a rational, consistent desktop in the betas.

      >you start up with an interface that has tons and >tons of menus, icons, widgets, and whatnot,
      >already up and running. It's an overload, and
      >instead of trying to learn it, newbies are
      >balking at it.

      Taken a look at Gnome lately? From an end user perspective, all of the changes in Gnome 2.0 are aimed at usability, accessibility, simplification, and consistency. To paraphrase Havoc, they're removing the "crack rock" features, and "proving one good way of doing things instead of six broken ones".

      >So why not have an easy-to-use kernel
      >configuration system?

      Noone has objected to the concept, only to the implementation. At different points there were issues with the rulesets in CML2 differing from CML1 in ways that the developers didn't agree with. The frontends used a different UI. It globally loaded rules for all architectures.

      It has long been Linus' policy not to accept patches which introduce more than one fundamental change. The proper course would have been to make CML2 a drop in replacement for CML1, with no changes to the rulesets, and with front ends that completely emulated the old ones. Then, and only then, discussions on rationalizing the rulesets and providing enhanced interfaces would be appropriate.

      Did it solve the problem it set out to solve - i.e. providing a more flexible syntax and a single parsesr? Sure, but it bundled too many other changes, and when you come down to it, it was replacing a system known to work with an unknown one.

      On a side note, the whole topic is moot. Does Windows provide you with an easy to use kernel configuration tool? Does MacOS? No, because the end user should NEVER have to configure a kernel.

      >Why not have an independent object model, where
      >any distribution or window manager can use each
      >other's dialog pages?

      Umm... what on earth is that supposed to mean?

      Matt

    3. Re:The Linux problem in a nutshell. by slamb · · Score: 5, Insightful
      There is too much resistence to change in the Linux community. The problem is a simple one: in the minds of Elitists, easier is not better, it's "lamer", "suckier", or "for wussies".

      First, as other posters have said, there were valid reasons ESR's system was rejected. They weren't because it was for wussies.

      Second, configuring a kernel will never be easy. You have to make a lot of decisions that require technical knowledge. Whether you do that in a text-based interface or a fancy graphical one doesn't matter very much. That doesn't mean a fancy graphical interface shouldn't be made, but it shouldn't be made for the reason of making it easier for mom to use Linux.

      The correct solution to make hardware configuration usable for the masses is not to make building a kernel easier but to make building a kernel unnecessary. The system has become more modular over time.[1] Hardware has become friendlier to autodetection. Distributions like RedHat come with a single kernel that will work for just about anyone. When you start up with new hardware, kudzu will recognize it, ask you about it, and load the appropriate driver.

      [1] and is still becoming more modular. 2.5 was supposed to completely remove the idea of compiled-in versions of stuff that is modular. I believe this got canned due to time constraints; look for it in 2.7 maybe.

    4. Re:The Linux problem in a nutshell. by isdnip · · Score: 4, Insightful

      Good comment. Easy is perceived as bad. Yes, some easy things (Microsoft Bob) are really bad, and some difficult things are good, but Linux, like Unix in general (sorry to generalize but it's a cultural inheritance), suffers from an "old boys' club" mentality in which earned knowledge of arcana is viewed as an entry point. Sort of like morse code has been to ham radio -- there aren't rational reasons to require it any more (though some of us actually like to use it, sportingly), but removing the requirement brings out all sorts of anger from old timers who had to learn it.

      Where it currently bugs me the most: Gentoo looks like a swell distro. Installing from source ends dependency hell and optimizes performance; I can buy it. But the setup is dreadful, basically more Linux From Scratch than anything else. The topic of an installer came up on Gentoo Forums. The "consensus" of the Gentoo user base is that "Gentoo is a hard distribution, and so the installation should be hard too." What rot! Once installed, no distribution should be gratuitously hard to live with. And while Gentoo lacks some of the GUI tools of say Mandrake or Red Hat, it's basically a clean system that shouldn't be that hard to manage. But the install procedure basically consists of printing out a lengthy set of instructions and doing a lot of hand edits of files, step by step, and hoping your system is enough like the developers' to work right.

      Personally I don't find the current kernel config (make xconfig) to be that hard, just a little nerve-racking where some new options show up that I don't understand. Which is what Bruce set out to fix. We can quibble about implementation details but his heart's in the right place. Linux won't prosper so long as it lives with the old boys' mentality. If I want to join the Freemasons, I will.

  4. Why Change? by PoiBoy · · Score: 4, Insightful
    Seriously, what's wrong with typing "make menuconfig" now? To me at least, an ncurses-based menu system is just as easy to use as a GUI (yuk).

    Moreover, it's not like complete newbies are going to be doing kernel compiles. For anyone with enough experience to recompile the kernel, an ncurses-based system is adequate IMHO.

    --
    Sig (appended to the end of comments you post, 120 chars)
  5. Re:If it ain't broke... by gmack · · Score: 4, Insightful

    It's also broken.. kernel developers are constantly trying to work around it's limitations. The fact that config menuconfig and xconfig all have diffrent bugs doesn't help either.

    We need something unified (same parser doffrent interfaces) and we need something less limmited. We need someone more sane than ESR to do it.

  6. Why not? by brunes69 · · Score: 3, Insightful

    Its not like they are saying "Lets ditch menuconfig and replace it with this!". For you and whoever else there is still make menuconfig. But I for one would welcome a better GUI than make xconfig, which I find pretty honkey. Since when are more options bad? It's not like they are forcing you into switching.

  7. The Developers Arent Always Right & Politics S by FreeUser · · Score: 5, Insightful

    Yet another thing to add to my list of "and people wounder why linux is not being readily accepted by everyone" items. I mean, come on, the guy just wanted to help make things better! Getting booed off the stage hurts!

    First, GNU/Linux will never be accepted "by everyone." Nor will FreeBSD, nor will BeOS, nor will Apple's OS X.

    Nor will Microsoft Windows, unless Palladium and DRM is legislated into law by the likes of "Disney" Hollings, and even then Apple is likely to be kept around as a token "competitor," paying hefty patent fees to Microsoft for the privelege of being allowed to manufacture "legal" hardware in the US. Unless, of course, you get off your butt and do something about it, but I digress.

    The problem is a simple and obvious one, and the solution as elusive today as it was the first time humans came to live together (and likely predates our ability to speak): Politics is ugly and banal, and people are fallible. This includes the Linux kernel developers and Linus Torvalds himself.

    Example: The ggi project wanted to provide a kernel abstraction layer for video hardware in the same manner such abstractions are presented for everything else, from your ethernet adapter to your system's RAM and hard drive. Linus thought the idea sucked, then ended up doing a "poor man's" version of frame buffer support instead. How much better things would have been if the original vision of the GGI folks had been realized and supported we'll never know.

    Example: PCMCIA. It is still a mess. The more capable userspace version got sidelined in favor of a broken and less capable rewrite ... I can only ascribe that to politics and personal pull, which every group, no matter how altruistic and well meaning, falls prey to now and then.

    There are other examples, and perhaps Eric S. Raymond's effort is one (though I hesitate to make that assumption), but the purpose of this post is not to catalogue the mistakes Linus and others have made, or to air my own disagreements with them (but what the hell: when will we get XFS into the main kernel tree damn it! :-)), but rather to point out their humanity and fallability, a trait they share with everyone reading this comment, the guy posting it, and probably with every sapient being, everywhere.

    Mistakes happen, everywhere, by everyone. The measure of a group or project's success isn't their perfection (as is so often implied in political discussions), it is by how much their mistaken decisions are outweighed by their correct decisions.

    And using that metric, the Kernel developers, including Linus Torvalds, have done very well indeed.

    --
    The Future of Human Evolution: Autonomy
  8. Take a good look at CML2 before you are so sure. by Bruce+Perens · · Score: 5, Insightful
    You might change your mind if you examine the project in question. See this comment.

    Bruce

  9. Re:They weren't without reason by great+throwdini · · Score: 3, Insightful

    [Eric's design] was complicated. It included an entire theorem prover. This was sort of cool in that it would not allow you to generate a non-working configuration, but really more than was required for the job.

    I grasp the significance of the other three points of contention you mention, but the fourth (above) doesn't jump out and grab me as an issue in and of itself. On the one hand, it may be that the method was overly complex (evidenced in part by the Python requirement and an unfamiliar idiom). Disallowing an unworkable configuration doesn't seem unreasonable, though. Is there a down-side to building that safety into the configurator apart from any flaws [heightened complexity] in Eric's particular implementation?

  10. Re:If it ain't broke... by sg_oneill · · Score: 4, Insightful

    Yeah. It certainly is. If you've ever done embedded work before and found oneself subject to the cosmic horror that is slaying $500 worth of flash hardware because the kernel configs made a booboo one will realise just how fantastic ESR's theorem checking autoconfigurator would of been. What a shame it's been beaten off by the anti-python mob.Stupid stupid stupid.

    --
    Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
  11. Re:The Developers Arent Always Right & Politic by gmack · · Score: 4, Insightful

    GGI tried to do too much and it abstracted too far.

    Userspace PCMCIA drivers? That's a new one. I can only imagine that you were refering to the external set of drivers that used to be the standard and where characterised as being so hard to install that Linus himself had trouble with it. I completly understand his reasons for wanting that mess replaced.

    ESR's configureator was massive overkill and it made life harder for developers. On top of that what killed it in the end wsa not Linus but ESR's refusal to update the patches to handle changes Linus made to the core code.

    Not everything gets to be black and white.

  12. A great start. by FreeLinux · · Score: 3, Insightful

    After finally being able to get the page, I think that it is a great start and a tremendous improvement over Xconfig.

    That said, I think he still needs to go further. Most users don't have a clue what all the options are or mean. Even with the descriptions and recommendations they will quickly become overwelmed.

    I feel that users should be presented with a very basic and lean initial configuration screen. One that lists generic features for them to enable and disable. For example a single check box for IDE and SCSI HD support or a single checkbox to enable HAM radio support with generic or "standard" options preselected for those devices. Then there should be an advanced button that brings them to the complete configuration options, such as Roman's example.

    This, combined with some form of modprobe hardware detection, would make kernel configuration a breeze, even for MCSEs. Also, the fact that this configurator reads the existing config, rather than starting with a blank slate everytime, is great!!

  13. Look at the details, this shows the process by AxelTorvalds · · Score: 4, Insightful
    ESR got himself booed off the stage by trying to undermine the process. His solution was technically superior in ways, it didn't do what Linus and others wanted and he was playing politics and games trying to get it in to the kernel. When that was exposed it was done. Technically superior or not, the games undermine everything, it's a very open process and they like peer review and things done in the open. Bottom line, not too many people aren't replacable and any work you do can probably be done by somebody else, they don't need politicians. There were a few times when Linus made it very clear what he wanted changed and ESR simply didn't fix it, it was as if he didn't even hear it; look at the threads in the kernel archive. I don't know what ESR's motivation was but he made it look a little corrupt.

    Further, people are working on the configuartion language but there are bigger problems to be solved, everyone knows it and still the efforts don't fully address them. Like how do you know the configuation options used on the kernel you are running? There is no reason to change just for the sake of change and compilation speed isn't a huge issue, my dual amd compiles kernels so fast I don't care if I cut the speed in half. Plus, when you're hacking you usually work on a module or two and don't rebuild the whole thing.

    The process is good, they don't take crap. The VM system and the IDE system are other prime examples. Al Viro is kind of mean to people but everyone else makes it pretty clear what needs to be done, why things aren't accpeted, even Al has expectations that he makes clear. There are expectations for robustness, it's more important than performance. Hans Reiser has had issues with that, he can't explain the robustness or answers concerns but he can point to benchmarks; clue: they don't give a shit if it's not robust.

    There have been a handful of people who just don't cut it. Believe me, they can be replaced. It sucks, it'll be a dark day when Alan Cox or Dave Miller quit, if they ever do but they also know the rules, they play by them and they have their own forks if they don't agree. If Linus or someone else don't like your code, it doesn't get in, fork and show that they are wrong or make it better. This isn't bullying or anything like that, it's not that they are elitests, they have real expectations that aren't meet some times. Are some people and some parts of the kernel more equal than others? Of course, we're all human.

    I take exception to the suggestion that the kernel team is throwing out great stuff for non technical reasons. They aren't they throw it out because it doesn't do what it is supposed to, people are trying to get it in for non-technical reasons with non-technical means or because it's not robust. It's not easy to write a VM or IDE system, there are a ton of expectations, it's a hard job, there are working solutions already that you have to do better than.

  14. Wanna see something cool? by 13Echo · · Score: 3, Insightful
    "It tells me what each option does."


    KDE 3 does this via it's configurator with the current kernel/module system.

    Here's a screenshot.

    Really, I see no problem with the current system. It works well, and is totally modular. You never really even have to recompile your standard, vanilla kernel.

    But hey. This new system should be given a chance, I suppose, though I see no use for it personally. I would prefer that it wasn't forced upon me in 2.5.
  15. Wow! Look at that! by freebsd45 · · Score: 1, Insightful

    I've never needed more than vi to configure, make and install my kernel on BSD:

    vi MYKERNEL
    cd /usr/src
    make buildkernel && make installkernel

    phew! I'm done.

  16. What's wrong with that last? by Ungrounded+Lightning · · Score: 4, Insightful

    And some folks questioned his motivation for getting this grandiose project into the kernel - was it just to help out, or was it primarily to establish additional hacker reputation for Eric? I'd be willing to give him the benefit of the doubt on this - he did the work.

    What's wrong with being motivated by hacker reputaion points? Isn't that what was supposed to replace money in the open source motivational system?

    ... was it just to help out, ...

    So an open source developer is evil unless he's motivated solely by altruism?

    (That humming sound you hear is the beat between the spin rates of Ayn Rand and Friedrich Hayek.)

    C'mon, Bruce. You know better than that.

    Regardless of how much we want to help out humanity and all that, SOME of us aren't the leisure class - with old money, idle time, and an indoctrination in the obligations of nobility to give us internal satisfaction when we do something "just to help out" the benighted masses of the common man. Some of us ARE those commoners, with a family, a mortgage, and (if we haven't been laid off in the latest recession) a paycheck that is all that stands between using a shopping cart for groceries and using it for a mobile home.

    If we're to contribute time and effort to the open-source codebase we need a way to keep that paycheck coming. Like "reputation points" to put on a resume, to find work the next time the current project is over or the current company goes belly-up.

    Maybe Eric doesn't need any more points. But let's not have a big name flaming him for maybe wanting some - and thus convince thousands of onlookers that working open source is a good way to get a BAD rep, so they'd be better off getting that MCSE instead.

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way