×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

CML2 Coming in Kernel 2.5

michael posted more than 12 years ago | from the make-config dept.

Linux 190

MrHat writes: "Eric S. Raymond's CML2, or 'Configuration Menu Language' -- part of the next-generation Linux kernel build system -- is now officially ready for 2.5. CML2 includes a compiler for a domain-specific configuration language, used to configure kernel subsystems and resolve dependencies between them. CML2 and Linux 2.5 will 'ship' with several different configuration interfaces, including an adventure game, whipped up by ESR during an extended flight. The story from the horse's mouth (or LKML, if you prefer):'This release resolves all known logic bugs and rulebase problems. The only things left on the to-do list are convenience features and some minor improvements in the test/coverage tools. This code is now officially ready for the 2.5 fork.'"

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

190 comments

Ask Slashdot Question (-1, Offtopic)

smack_attack (171144) | more than 12 years ago | (#2570098)

All the comments mention are x-10 and better quality cables. Perhaps I
should have been more specific and asked where I could get a good quality
home FM transmitter.

I really don't want more wires, and I don't want to have to adapt every
radio in my house to techno-spec hardware of the week. I hope you
understand.

I'll take my chances and post this in the next story and see if anyone
replies before it gets modded offtopic.

-Stephen

> -----Original Message-----
> From: Clifton Wood [mailto:cliff@....]
> Sent: Thursday, November 15, 2001 1:06 PM
> To: stephen@....
> Subject: Ask Slashdot: How did you build your home audio network?
>
>
> You submitted the following to Ask Slashdot:
>
> Stephen VanDyke writes "I admit it, I like to listen to net radio
> stations
> far more than I even watch TV. A year ago, I did the Radio Shack
> thing and
> got an audio splitter and ran some cable to my entertainment
> center. Now I'm
> in a bigger place and I was looking to set up a FM transmitter and bypass
> wires completely (I want to be able to listen via the radio in my
> room and in
> the kitchen). I wanted to know if anyone knows of any decent
> quality digital
> FM transmitters (I've done the Google thing and the results
> ranged from utter
> crap to expensive commercial broadcasters with little to no
> middle market).
> Is there a better way to do this? Please help me keep it simple."
>
> You may want to check this previous article we've done on the subject.
> Someone mentions home automation sites, and to be honest, these types of
> sites are pretty-much one-stop-shopping for someone like yourself
> looking to
> do novel things with their home. You can find the previous
> discussion here:
>
> http://slashdot.org/article.pl?sid=00/06/02/021122 9&mode=nested
> Computer/Stereo Audio in Every Room?
>
> Hope this helps, and thanks for the submission!
>
> - Cliff
>

fp (-1, Offtopic)

Anonymous Coward | more than 12 years ago | (#2570107)

fp
fuck sunken kursk. he's a lame twat.

why no LL1 talk? (2, Offtopic)

brlewis (214632) | more than 12 years ago | (#2570122)

ESR was previously going to be talking about this at the Lightweight Languages Workshop [mit.edu] , but he's not on the agenda now. What happened?

Re:why no LL1 talk? (1, Offtopic)

the_2nd_coming (444906) | more than 12 years ago | (#2570195)

I am not trolling or flaming, I am actualy passing on info I heard.

From what I have heard from LUGs that want him to give a speech at, He is very high mantainance. He requires a nice hotel and good food, as well as a stipent in some cases, otherwise he will not come to talk....I have also heard that he gets a bit pissy over little problems in plans

Re:why no LL1 talk? (0)

Anonymous Coward | more than 12 years ago | (#2570244)

Actually, if you look at his website, (somewhere under getting him to speak for you), he says first hand what you've said.

His web site is quite funny. Like where he claims to have guided VA Bankrupt through the most successful IPO ever. *snicker*

Re:why no LL1 talk? (1)

jbellis (142590) | more than 12 years ago | (#2570263)

I know that when he was in Utah on some other business, he was happy to come talk at our LUG for free, even though it was somewhat out of his way.

Re:why no LL1 talk? (2, Informative)

nvainio (135908) | more than 12 years ago | (#2570348)

Well, many want him to speak in their conference or similar and he's travelling quite a lot. I think it's just fair that he wants good sleep and proper food. See esr's travelling rules [tuxedo.org] . Calendar [tuxedo.org] is also available.

Exactly! (1)

Weird Dave (224717) | more than 12 years ago | (#2570426)

I imagine if I could switch places with ESR, I'd be much pickier than him. He's a living, breathing, person with real needs. Love him! Adore him! Stalk him! Wait, nix that last one. But above all, let ESR be ESR!

Re:why no LL1 talk? (0)

Anonymous Coward | more than 12 years ago | (#2570642)

Everybody Hates Raymond.

Re:why no LL1 talk? (0)

Anonymous Coward | more than 12 years ago | (#2570270)

I think the sponsors came to their senses and realized that the words "Eric S. Raymond" and "lightweight" don't belong in the same city together.

Re:why no LL1 talk? (-1, Flamebait)

Anonymous Coward | more than 12 years ago | (#2570338)

ESR can jack me off. He is a silly little fraud, the antithesis of RMS, really nothing more than a souped up suit who wanted to make money off this new thing called GPL. Everything he does or says can be ignored, and slotted into the same part of the brain as the most recent speech by your PHB.

Other Projects (4, Interesting)

aridhol (112307) | more than 12 years ago | (#2570154)

The other examples posted on ESR's page are for kernel-oriented projects. How hard is it to stick this in another project? Something slightly smaller-scale than the kernel?

Also, this seems to only be concerned with compilation-time configuration. Although pre-compilation config is important, how hard is it to adapt this to work after compilation? If another app could use this configuration engine after it's been compiled and distributed, it may make it easier to customize pre-compiled packages (RPMs, DEBs, etc).

Re:Other Projects (3, Interesting)

Telex4 (265980) | more than 12 years ago | (#2570240)

Post compilation, configuration can only really be done with configuration files, like those used by LILO, XFree86 and various other apps. At the moment, you're right, there's no standard for the layout and internals of config files, and no standard program to interpret them. Some of the biggest steps forward have been made in this area in GUIs like KDE and GNOME, where configuration has been made simple and accessible. Although it would be a mammoth task given the number of config files in any OS already, it would be a good project to try and extend ESR's idea to formalise config files for compiled packages.

Re:Other Projects (1)

aridhol (112307) | more than 12 years ago | (#2570309)

it would be a good project to try and extend ESR's idea to formalise config files for compiled packages.


OK, so this thing reads a menu-definition file and spits out--what? A Makefile? An .c file? Something else?

What I'm thinking is to have it read your menu-def file, and spit out a config-file creater and a parser.

For example, you tell it you have a configuration option "FOO", which is a boolean value, and "BAR", which is a string. These are put in the menu somewhere. You run this through the config-generation app, which spits out two modules: one to create a config file, one to read it.

Now you create the config file using whatever front-end you want (standard menu, graphical, Zork, whatever). Then in the app, you say something like getconfig("BAR"). The library is able to validate the entry (it knows that "BAR" is a string), and set a default (also from the generation script).

Is this what CML does, or am I completely mistaken?

Re:Other Projects (1)

arkanes (521690) | more than 12 years ago | (#2570403)

Isn't this pretty much what the Windows registry is supposed to be, minus all the worthless bloaty crap that gets stored there by ill-behaved applications? A central, OS managed place for applications to keep thier configuration info?

Re:Other Projects (2, Interesting)

Telex4 (265980) | more than 12 years ago | (#2570448)

Yes, it is. Making a GNU/Linux registry would have its ups and downs - the downs probably outweighing the ups. The up would be that it would make using the OS a lot easier for newer users. The downs would be that it would be hell to implement, it would put a lot of developers off, and it would make cross-platform compatability harder to achieve.

adventure (1)

Ace Rimmer (179561) | more than 12 years ago | (#2570177)

take nife
[ but what with it? it's gross ... ]
2 hours later, bitching, trying everything on everything
sharp knife with grass
[ found scanning through the game files]

---
This is from Larry. What would one solve in CML2?

The Turd Report 11/15/2001 (-1)

The Turd Report (527733) | more than 12 years ago | (#2570184)

I have been eating salad for the past few days. All I can say is that it is really cleaning out the pipes as it were. I dropped a pyramid of poop this morning. It did not have aturd shape; it was just a huge pile. It stunk. People coming in to the bathroom gagged. The poop was above the water line. It was a dark brown and came out easily and quickly. I will rate this as a 7.
I would like to comment on bathroom toilet paper despensers. They are impossible to get any usable quantity of TP. Most of the time I am only able to get 3 or 4 sheets before it rips. That is very irritating. I have found a way to get the locked TP boxes open and just pull the whole roll out. I can get a good wad of TP that way. How do you handle stingy TP despensers?

Re:The Turd Report 11/15/2001 (-1)

Guns n' Roses Troll (207208) | more than 12 years ago | (#2570437)

Grab a bunch of paper towels from the dispenser before you go into the stall. It's not as soft and pleasing against your starfish as normal TP is but if you run out of paper there's backup.

On the other hand, you must be one crazy motherfucker if you're shitting in a fast food restroom.

And we ripped on Microsoft (1)

CptnKirk (109622) | more than 12 years ago | (#2570187)

for including flight simulators in spreadsheet programs. Now we have adventure games in our kernel configuration system? I would hope this would be an optional add on.

Not that I'm against this per se, I actually kind of like the idea, but only as a novelty. I kind of liked the easter eggs in MS programs too, but when they get to the point of introducing (noticable) added overhead either to disk, memory, or program maintainability I have a problem.

So while it may relieve some of the tedium of kernel configuration. The first time make adventure causes a problem, I'd expect to get back some of the dung the linux community has flung over the years.

Re:And we ripped on Microsoft (1)

FatRatBastard (7583) | more than 12 years ago | (#2570316)

I think the adventure game is a front end for it, not in the actual code itself.

Re:And we ripped on Microsoft (1)

CptnKirk (109622) | more than 12 years ago | (#2570447)

I think so too, and I'm sure there will be lots of front ends which spin off of this. I'm waiting for the OpenGL front end with acceleration and an Unreal engine.

What I don't want to see is this being bundled with every kernel. IMHO the kernel distro should be a small streamlined product with enough in the way of configuration for people to get their job done easily. I think that while cool, adding a game front end is over the line of what's needed and wanted by the typical sysadmin.

Re:And we ripped on Microsoft (0)

Anonymous Coward | more than 12 years ago | (#2570759)

The last time the linux kernel was a small streamlined product was 6 years ago.

Re:And we ripped on Microsoft (1)

return 42 (459012) | more than 12 years ago | (#2570563)

Well, it is optional, but as a gedankenexperiment, let's suppose it weren't. If something gets into the kernel (or any other open project), it's because people want it there. If it isn't made optional, and no one forks a version without it, it's because not enough people dislike it enough.

Contrast this with the flight simulator in Excel. It went in because some people at Microsoft wanted it, and it won't come out because no one else can make that decision. It would take a major effort by millions of irate customers to make Microsoft take it out; it just wouldn't be worth their while for less. Hell, the irate customers can't even make them fix real bugs. It's all they can do to make them fix security holes (sometimes *cough* Outlook *cough*). And now Microsoft wants people to shut up about the security holes. It's too much trouble for them. Why are you people bothering us about security? Can't you see we're busy writing the next version to take another billion from you?

Hmm, that transformed in midstream from an essay on development paradigms to an anti-MS rant. I must be in Slashdot :)

Widespread acceptance (2, Insightful)

Moooo Cow (79655) | more than 12 years ago | (#2570704)

"Well, it is optional, but as a gedankenexperiment, let's suppose it weren't. If something gets into the kernel (or any other open project), it's because people want it there. If it isn't made optional, and no one forks a version without it, it's because not enough people dislike it enough."

That statement is only true if 'people' == 'developers compentent enough to maintain kernel code'. If Linux is to gain widespread acceptance, then for 99.9%+ percent of the population, it will be equally difficult to remove an easter egg from the Linux kernel as is to remove the flight simulator from Microsoft Excel.

I believe it is the development paradigm you are espousing here that is one of the largest roadblocks to mainstream acceptance - you've implicitly excluded the large majority of the 'people' who could be using Linux, without even noticing that you did.

Hmmm (5, Interesting)

einhverfr (238914) | more than 12 years ago | (#2570196)

I read the article and I was immediately impressed at how much MORE readable CML1 was... Perhaps because I know enough shell scripting to follow it in my head. CLM2 was impossible for me to quickly follow what was going on and I had to think about it quite a bit more.

I think the basic idea of CLM2 remains sound, but I wonder if it will result in more "cutting and pasting" rather than direct editing...

Re:Hmmm (1)

Telex4 (265980) | more than 12 years ago | (#2570257)

I would say that you're right in thinking your reaction was due to your knowing shell scripting already. I suppose old hands will find this language either pointless or too much effort to learn, whilst those nearer the newbie spectrum will find it a godsend (assuming it's well written). IT'd be good to find a compromise though.

Re:Hmmm (1)

tao (10867) | more than 12 years ago | (#2570305)

The problem with CML1 isn't readability, but expressibility. The language suffers sane ways to define dependencies. CML2 provides this. Of course, it's likely to take some time for people to get used to CML2, but then again, people still make a lots of mistakes with CML1...

Re:Hmmm (1)

Oo.et.oO (6530) | more than 12 years ago | (#2570404)

what i never got, nor investigated, was why the config didn't use an autoconf, et al. TYPE of system. obviously it would have to be different.
but i get really annoyed when each time i config i have to go into every single damn section to make sure shit i don't need is turned off. now of course i know how to move my .config files around. but i still have to check.
i hope CLM2 can/will provide some structure to allow one global file that will provide my basic system structure and will turn off all the crap i don't want (am radio for instance i prolly won't use in the near future).

Something similar for BSD? (1, Offtopic)

chrysalis (50680) | more than 12 years ago | (#2570213)

Is there a similar kernel configuration GUI for OpenBSD/FreeBSD/NetBSD?

Editing BSD kernel configuration files has always been lousy and very archaical compared to Linux menuconfig and xconfig. I still can't understand why nothing was developped for BSD.

Re:Something similar for BSD? (0)

Anonymous Coward | more than 12 years ago | (#2570259)

> I still can't understand why nothing was developped for BSD

BSD is designed by a committee.
I guess there are many users who would have added this feature if "the one true unix way old boys network" would have let them.

Re:Something similar for BSD? (1)

agshekeloh (67349) | more than 12 years ago | (#2570290)

Because nobody's submitted the code for it.

If you feel like writing this, go right ahead. Submit it as a PR. If it works, and it's reliable, it'll get picked up.

Because BSD is dying (-1, Troll)

Anonymous Coward | more than 12 years ago | (#2570442)

It's pretty obvious that BSD will soon be dead; why bother improving the configuration for an OS that's on the way out?

Re:Something similar for BSD? (0)

Anonymous Coward | more than 12 years ago | (#2570479)

What a backwards way of looking at things.

Seriously - what configuration program could possibly be more friendly than your favorite editor?

its easy (-1)

ArchieBunker (132337) | more than 12 years ago | (#2570500)

Delete the lines you don't want, or add some that you do. I can go through a BSD kernel config faster than the bloated xconfig for linux.

Re:its easy (0)

Anonymous Coward | more than 12 years ago | (#2570528)

that's because there's so little to configure in bsd. there's nothing there. sheesh, use a real os.

Re:its easy (0)

Anonymous Coward | more than 12 years ago | (#2570639)

Look through LINT and just try to tell me there is nothing there. How about the large number of gigE drivers FreeBSD has that have no linux support? Oh, but I forgot, BSD is dying, and linux is for data centers, right?

Please return to under the bridge from which you came, troll.

A promising step (5, Insightful)

Telex4 (265980) | more than 12 years ago | (#2570218)

It's good to see some high profile hackers putting their minds to making GNU/Linux easier for people. This language should make it easier for hackers to fiddle with their kernel, and to get into kernel hacking, which is a great thing considering how daunting a challenge it is at the moment. It will also help people who have been playing with GNU/Linux for a short while start setting their systems up properly, instead of running on a hastily preconfigured kernel that came from their distribution installer.

It was promising then to see ESR say that he wanted this language to help GNU/Linux newbies. There's been a lot of good work recently on making the first steps more accessible, but there's been little progress in helping people who have completed the first challenge and who then want to get their OS running smoothly.

Re:A promising step (2, Informative)

rhekman (231312) | more than 12 years ago | (#2570523)

For those of us more experienced at building kernels, there is another project that is looking to make building kernels much better. That is Keith Owens' new kbuild architecture. He has rewritten the makefiles to make readability better, put compile time dependency checking in the right place, and make creating patches easier. It will work wonderfully with ESR's system and have the effect of making repeated compiles much faster. Anyway, I can't wait.

http://kbuild.sourceforge.net/ [sourceforge.net]

Regards

Kernel configuration as a game? (3, Funny)

Araneas (175181) | more than 12 years ago | (#2570225)

Very cool idea. Hmmm... now to screen out the L class users:

In order to install bind you must complete level 25, please try again.

Re:Kernel configuration as a game? (3, Funny)

cperciva (102828) | more than 12 years ago | (#2570502)

Shouldn't that be
In order to install sendmail you must complete level 25
and
In order to install bind you must completey level 53?

alright, just what i wanted! (-1, Flamebait)

Anonymous Coward | more than 12 years ago | (#2570230)

only on slashtrash can trash (cml-whatever) coming from trash (esr) be considered news-worthy.

MOD PARENT UP (-1, Flamebait)

Anonymous Coward | more than 12 years ago | (#2570457)

fuck yeah, he speaks the truth!

esr is a fucking twerp - remember after the sep 11 ordeal? he stands up on the soapbox and says "i speak for geeks everywhere, and we think this shows we all need to carry more guns!"

i DON'T fucking agree with esr, and i think someone needs to rain on his parade.

Re:MOD PARENT UP (-1)

ArchieBunker (132337) | more than 12 years ago | (#2570533)

Yeah too bad the pilot didn't pull out his 9mm and empty the clip into the raghead with a knife.

What I can't understand is how a plane full of 200 people let a few guys with box cutters take over. I wouldn't sit there and let these A-rab assholes start slashing people. Get a bunch of guys and rush him, is he going to stab the entire plane? Better yet have one guy grab the arm with with the knife while someone else does a sleeper hold. Hey you may be fucked because the pilots are dead but at least they won't get the satisfaction of a hijacking.

You can tell he's from the 80s (3, Funny)

Anonymous Coward | more than 12 years ago | (#2570262)

Adventure games are soooo passe. I would prefer a Quake style interface with hidden buttons for config options. And maybe you could shoot all those stupid options that no-one ever uses. Like "Amateur Radio Support" and so on.

Re:You can tell he's from the 80s (1)

tercero (529131) | more than 12 years ago | (#2570287)

It seems like this would be possible. But in order to make it worthwhile there would have to have something fun like shooting monsters or racing other 'players' or whatever.

BTW, I have and use Amateur Radio Support! I would not use a new kernel without it.

Re:You can tell he's from the 80s (1)

SnarfQuest (469614) | more than 12 years ago | (#2570390)

Wans't there someone who set up a version of Doom where processes on the system were represented by monsters. Killing a monster caused the process to terminate. It worked ok, except when the monsters started fighting each other...

Re:You can tell he's from the 80s (1, Funny)

Anonymous Coward | more than 12 years ago | (#2570397)

This is more doable than you might think. Quake 1 is open source now. All someone needs to do is make a "level" where you configure the kernel.

Re:You can tell he's from the 80s (2)

Bilbo (7015) | more than 12 years ago | (#2570652)

This is for real hackers bro. If you don't recognize all the commands, then you shouldn't be using the interface.

(Ever read, "The Soul of a New Machine"? Starts out with someone going through, "You are in a maze of twisty passages that all look the same...")

But... (0)

Anonymous Coward | more than 12 years ago | (#2570276)

But ... but ... but it's written in Python! How useful can it be? :)

(and here I sit, shamelessly hiding behind an AC post)

Re:But... (0)

Anonymous Coward | more than 12 years ago | (#2570383)

Python is a great language for implementing things like duck-balancing services, SPAM SPAM SPAM SPAM SPAM SPAM SPAM SPAM, and lumberjack instant messaging. Of course, noone expects the Spanish Inquisition.

An adventure game (3, Funny)

spectrum (92555) | more than 12 years ago | (#2570277)

And if you configure your kernel wrong you end up in the Oops room with Colonel Panic. ?

Could be worse.. you could end up in the blue-fluffy-cloud room with General Protection-Fault.

Wish we had this in Windows... (2, Offtopic)

Tsar (536185) | more than 12 years ago | (#2570285)

_________________________

General Protection Fault

_________________________

> Kill fault

With what -- your bare hands?

> Yes

Congratulations -- you have just made Windows a stable OS with your bare hands!
Unlikely, isn't it?


> Format c: /y

You are in a maze of unallocated sectors, all alike.

Re:Wish we had this in Windows... (3, Funny)

Anonymous Coward | more than 12 years ago | (#2570435)

> open Internet Explorer

You are suddenly surrounded on all sides by a dense blue fog.
You are dead.

Kernel Naming Rules _AGAIN_ (0, Offtopic)

SirStanley (95545) | more than 12 years ago | (#2570291)

Hey... I thought I made this clear a few weeks ago. Its the "Linux Kernel" NOT "The Kernel" Dammit tack Linux infront of it.. Or if you're one of those PInko Commie Socialists GNU/Linux . Not all of us run Linux and sometimes freak when we are very tired and we see things like "Kernel 2.5" dammit... Once again im at 4.4!!!!!

Not "GNU/Linux kernel" (1)

brlewis (214632) | more than 12 years ago | (#2570333)

Taking the questionable step of inserting a fact into what will likely be a flamacious thread: RMS' insistence on "GNU/Linux" relates to entire distributions. He doesn't complain about "Linux" referring to just the kernel.

(OT) Re:Not "GNU/Linux kernel" (0)

Anonymous Coward | more than 12 years ago | (#2570541)

Hey it's mister Lewis!

Your brl package rules, I'm studying it's use for a commercial app right now, fun to see you around on /.

yikes (0)

Anonymous Coward | more than 12 years ago | (#2570317)

My first thought was, "what kind of moron writes a new command language in 2001, when GUI has been standard for seventeen years?" Then I looked at the language.

menu netsched # Traffic control configuration
NET_SCH_CBQ? NET_SCH_CSZ?
NET_SCH_ATM NET_SCH_PRIO? NET_SCH_RED? NET_SCH_SFQ?
NET_SCH_TEQL? NET_SCH_TBF? NET_SCH_GRED?
NET_SCH_DSMARK? NET_SCH_INGRESS?
NET_QOS {
NET_ESTIMATOR
NET_CLS {
NET_CLS_TCINDEX? NET_CLS_ROUTE4? NET_CLS_FW?
NET_CLS_U32? NET_CLS_RSVP? NET_CLS_RSVP6? NET_CLS_POLICE
}
}
require NET_SCHED implies NETLINK==y and RTNETLINK==y

Holy fucking christ, what a load of crap. Even for command languages this is total gibberish. It's like JCL or something.

Why not XML? (3, Interesting)

Anonymous Coward | more than 12 years ago | (#2570327)

If it's a tree then why not use XML? I mean there are hundreds of tools available right now on every platform - why bother making your own language?

Re:Why not XML? (2, Insightful)

Black Perl (12686) | more than 12 years ago | (#2570350)

Well, you'd still have to create a DTD or Schema representation; you just wouldn't have to create a new syntax.

But I agree. There's no reason why he had to invent a new syntax, when CML2 could have been defined as an XML application. Like you say, there's plenty of tool support.

Re:Why not XML? (-1, Flamebait)

Anonymous Coward | more than 12 years ago | (#2570354)

ESR made millions on the VA Linux IPO. He is somebody. You are nobody. Who are you to question him?

Re:Why not XML? (0)

Anonymous Coward | more than 12 years ago | (#2570379)

Everything that's in Linux has already been done. The Linux mantra is "embrace but don't extend". Whether this is better or worse than "embrace and extend" is your choice.

Sometimes, however, some people get so bored of doing nothing but copying the work of others that they just have to reinvent the wheel.. which is like copying the work of others, only the end result is incompatible.

Hm, hang on a sec, isn't that what the "extend" bit of "embrace and extend" is all about?

Oh well, we can't expect much more from ESR The Fraud...

Re:Why not XML? (1)

Styx (15057) | more than 12 years ago | (#2570529)

He could probably have used XML, but that wouldn't have helped with the real problem, since the kernel config isn't really a simple tree:
"(...) the kernel-configuration process has grown excessively complex. The configuration system's job is to turn the user's answers to configuration questions into a file of #define constructs used to condition features in or out of the C code. As Linux has grown more features and more driver support, the number of menus and prompts one must navigate to choose the appropriate subset of those features has become forbidding even to expert users, and outright impossible for the novice users Linux increasingly seeks to attract. To properly manage the complexity we have created, we need a configuration interface that can support better chunking and progressive disclosure. Ideally, novices building kernels should see only the choices they need to make. As they gain competence and cue the configuration system that they are ready, they should see more options for tuning and exotic hardware. The full process should be accessible to expert kernel hackers, but not inflicted willy-nilly on everyone else as it now is."
(from the CML2 paper [tuxedo.org] )
So, the tool ensure that only sane kernel configs are built is where the real meat of the problem is. XML wouldn't be much help there.

Re:Why not XML? (2)

Black Perl (12686) | more than 12 years ago | (#2570615)

So, the tool ensure that only sane kernel configs are built is where the real meat of the problem is. XML wouldn't be much help there.

Why do you say that? That's the whole point of XML validation. You define up front what a sane config is (THIS is the meat of the problem) and express it in a DTD or Schema. Then you could use your favorite validator to determine if it was a sane kernel or not. In fact, you could use a standard XML IDE that could enforce the DTD/Schema to make sure you CAN'T create anything but a sane kernel!

Instead, he's created another non-standard format and tool writers will have to create kernel config tools from scratch.

another language? (3, Interesting)

krokodil (110356) | more than 12 years ago | (#2570347)

Why people keep inventing new pet laguages?
Whe he could not use GUILE, which is designed for things like this, adding domain-specific functions.

Re:another language? Why (0)

Anonymous Coward | more than 12 years ago | (#2570382)

Ego.

Thanks and have an Afghan opium filled day.

Re:another language? (1)

ethereal (13958) | more than 12 years ago | (#2570592)

I'll point out that GnuCash has a Scheme-based user preference setting which does handle a lot of this, including different kinds of options, specifying defaults, etc. It doesn't really do prerequisite handling the way that CML does, though. But if I were going to rip off a user preferences config system from somewhere, I think I would start there.

Kernel Configuration Adventure (0)

djhankb (254226) | more than 12 years ago | (#2570356)

My biggest fear is being eaten by a Grue in the SCSI catacombs!

-H

Re:Kernel Configuration Adventure (-1)

Guns n' Roses Troll (207208) | more than 12 years ago | (#2570498)

I'm coming to your house. When I do, I will slice your little dog open through the gut. He will be hung from your chimney with care. I'll wait for you behind your sofa. When you step in your house I will spring upon you, stabbing you with a carving knife, lauging merrily all the live-long-day. As you bleed to death I will deficate upon your kitchen table and pour sugar on top. I will call the police and tell them there's been a terrible accident and they should arrive ASAP. Then I will make my escape, but not before slicing off your ears and nose for my collection. You are dead.

Better, I hope. (1, Interesting)

rice_burners_suck (243660) | more than 12 years ago | (#2570387)

It would be great if this makes Linux kernel configuration easier and more flexible. With all the things Linux is designed to do nowadays (that is, operate on pretty much everything from a wristwatch to a computer the size of a building and everything in between), with so many different processor types and kernel configuration options, it must be a nightmare to configure a kernel from scratch. Hopefully CML2 will make this process easier for everybody.

OT (1)

SubtleNuance (184325) | more than 12 years ago | (#2570391)

From the LKML like above, included as the tag on ESR's email is this:

.. a government and its agents are under no general duty to
provide public services, such as police protection, to any
particular individual citizen...

-- Warren v. District of Columbia, 444 A.2d 1 (D.C. App.181)


Is he asserting case law does not support the government offering public services (police)? Meaning, that the government is violating case law in doing so. Meaning, people dont have a right to public services? Meaning, the government's public services are "illegal" (or not a legal obligation)?

Am i understanding this correctly...

Sorry, this is very OT.

Re:OT (1)

Dielectric (266217) | more than 12 years ago | (#2570647)

"to any particular individual citizen"

It's well known that ESR is a huge supporter of the gun lobby, and he's showing that the police are not necessarily there to protect the individual, but rather to protect the general populace. He's trying to show that case law has proven the individual is responsible for their own personal protection, and further that laws restricting gun ownership are dangerous to the individual.

I write this from a community which has banned handgun ownership altogether, but there has been no apparent reduction in firearms deaths or injuries.

But I'm not bitter...

Re:OT (0)

Anonymous Coward | more than 12 years ago | (#2570662)

Visit here http://www.mcrkba.org/w19.html for the explanation.

ESR is believes that, you should protect your right to self-defense and your right to protect your property by protecting your 4th amendment to the right to bear arms, since courts have always ruled that the police are NOT obligated to protect you as an individual (and you can't sue for damages).

ack. i meant 2nd amendment! (0)

Anonymous Coward | more than 12 years ago | (#2570678)

ack. i meant 2nd amendment!

Re:OT (1)

flink (18449) | more than 12 years ago | (#2570764)

What this decision says is that the police don't have to stop a crime in progress. i.e.: They are under no obligation to stop you from getting mugged, mudered, etc. Their job is to investigate crimes and arrest criminals, not provide protection (although they often do). If memory serves, (and IANAL) this was a case where some one was suing the police dept. because some officers witnessed a crime and did not offer assistance.

Kernel getting too large? (0)

Anonymous Coward | more than 12 years ago | (#2570392)

With all the recent modifications to the kernel coming out, it makes me ask: Is the kernel getting too big? Does it have too many options?
FreeBSD's core kernel team doesn't implement alot of stuff in the kernel by default. Oh, you can compile it in with it, but it doesn't come with a zillion options by default. I think it's great - sticks to the whole K.I.S.S. idea, and give you the complete control to put in the options you might need that everyone else might not. I just would hate to see linux go from a nice sleek, clean kernel build to bloated oversized core with a billion options that i won't use day-to-day.
How large are these options? Do they bloat the source very much?

KernelQuest (1)

rlangis (534366) | more than 12 years ago | (#2570394)

Somewhere along the line, somebody, somewhere, will drop some networking code into the kernel config module, and hook up with other 31337 h4x00rz...

You: Damnit, I've been waiting 2500 clock cycles for this damned PCI_BUS to spawn.

n00b: Hi! I'm new here. OooOoo, can I have that?

You: Have what?

n00b: Your uber-leet PACKET_FILTER sword of destruction!

You: *eyes narrowed* I thought you said you were new here?

PCI_BUS spawns, and aggros the n00b.

n00b: Take that, PCI_BUS_00! I'll configure you!

You: Hey, I've been camping that!

n00b: victorious in configuration - it aggroed me first, 10053r. Go camp the EISA_BUS instead. *snicker*

You: *grumbles*

Re:KernelQuest (-1)

Guns n' Roses Troll (207208) | more than 12 years ago | (#2570543)

You scumbag. You pus-dripping open sore on my cock. You putrid, ugly, distasteful, welk. You cancerous, cum-soaked asshole. I can't even begin to describe how much I want to see you dead. I want your body ground up under boulders. I want to see you torn limb from limb. I want to feel your blood splash upon my hands as I throttle you and beat your head against a rock. Oh, you will come to rue the day you ever typed such meaningless shit. Keep one eye open, fucktard.. Your days are numbered.

Ha! (-1, Offtopic)

Anonymous Coward | more than 12 years ago | (#2570749)

Haha. You said ``fucktard''. Damn, you just made my day. I've got a big rubbery one waiting for you RIGHT HERE.

Python ? (0, Interesting)

Anonymous Coward | more than 12 years ago | (#2570420)

Sorry ESR, but I don't want to install Python to be able to configure and compile the kernel.

How about the Inverse Problem? (3, Interesting)

Anonymous Coward | more than 12 years ago | (#2570423)

One issue for newbies with the current linux kernel configuration is the "inverse problem:"

I want feature X, what requirements will enable me to select it?

A trivial example: 2.4.0 required "experimental features" to allow resiserfs to be selected.

I hope that CML2 will alow for searching for and selecting choices anywhere in the decision tree, and "pushing-up" the requirements imposed by the decision (or pointing out problems).

Feeling lazy, but... (1)

twilight30 (84644) | more than 12 years ago | (#2570757)

I had the impression that the inverse is an eventual goal for ESR and Owens. I think it's stated in the future goals' section of ESR's paper.


You are correct in saying that this would make newbie use of the kernel much simpler. However, one step at a time, my son...

What's wrong with xconfig? (2)

RelliK (4466) | more than 12 years ago | (#2570427)

I've used xconfig (and to a lesser extent menuconfig) and I found them more than adequate. My only gripe is that the help text is not defined for all the options (though all the major options have excellent documentation that you can display by pressing the help button). So, I don't mean to knock CML2 but what's in it for me? And are there screenshots anywhere?

Re:What's wrong with xconfig? (1)

the_2nd_coming (444906) | more than 12 years ago | (#2570462)

I think CML2 includes the ability to build and install the kernel and modules in one nice neat package....but I am not sure

Re:What's wrong with xconfig? (0)

Anonymous Coward | more than 12 years ago | (#2570513)

The old kernel config system was inadequate because it didn't resolve all dependencies well in some cases.

Re:What's wrong with xconfig? (3, Troll)

kevin@ank.com (87560) | more than 12 years ago | (#2570537)

The CML project got started when kernel developers started complaining about how hard it was to maintain the current configuration tool. The idea was to stop maintaining xconfig (and brethren), and move wholesale to CML.

That obviously hasn't happened yet, but mostly only because Eric decided to implement CML in Python which a number of kernel hackers refuse to install on their systems (originally because it wasn't GPL compatibly licensed, and these days probably ostensibly because it isn't GPL'd, but more likely because it has icky syntax and they don't want to learn it or reconfigure their editors to edit it.)

Anyway, the idea was not so much to improve on xconfig, but to give you the ability to continue configuring your kernel once xconfig was no longer being maintained.

Re:What's wrong with xconfig? (1)

aridhol (112307) | more than 12 years ago | (#2570627)

As a user, there appears to be no difference. The kernel maintainers see the difference.

CML is a way for the kernel hackers to tell the config system what options you see when you type "make xconfig".

The kernel-hacker writes some CML code, which he then compiles into a config file. Then, you run xconfig, menuconfig, advent, or any other frontend that gets created, and you have a configured tree. And when the kernel-hacker adds a feature, there's less chance that he'll break configuration dependencies.

Configuring Evrything (1)

senfman (207535) | more than 12 years ago | (#2570467)

As far as I recall one of ESRs objectives in designing CML2 was to make the configuration process more intuitive. Some people even questioned here to include this into their projects. So I ask myself how configuration systems should look like in future.

Regarding desktop Systems there are quite a few things the Users seem to want:
  • Fast configuration
  • Ease of use
  • Similar configuration mechanisms for all Aps

Some of these points were met by Automake/Autoconf/Make in our todays Apps, but there is a further point, a clear structured development. This is something, which was not possible with Automake/conf and make, because you had several levels, which could be affected by errors.

I haven't had the time to investigate CML2, but some people seem to believe it to meet this needs. after having most Linux distributions have unique Package Management by now, we might have reached a point which enables us to realise the need of unique and clear configuration Systems in all OpenSource Software.

recompiling the kernel is silly anyway (0)

Anonymous Coward | more than 12 years ago | (#2570475)

Most of the time it's to include features which could have been architected as modules, or to set defaults which could be made configurable at run/boot-time (sysctl -w anyone?)

Granted, a new *platform* needs a fair bit of kernel tweaking, but not just the addition of firewalling support.

Grandmother: I like surfing the Internet, and this new Linux thing you installed on my computer is quite fast, but I read somewhere that I should run some firewall software.

You: Well, just recompile the kernel with ipfwadm sorry ipchains sorry iptables support and write..

Grandmother: Could you install XP please? I hear that has a firewall I can enable by checking a single box.

Re:recompiling the kernel is silly anyway (1)

ethereal (13958) | more than 12 years ago | (#2570687)

That's a bad analogy - if your kernel came with firewalling compiled in, and your distribution had a nice checkbox, you could do the same thing. The only difference is that you can entirely remove the firewalling code from Linux (not just turn it off, actually make your kernel smaller) if you want to. You can't get into the internals of Windows XP and do that as easily.

Hint: don't tell Grandma what you're going to do, just ssh in and tell her it will be fixed in a half hour. Recompile, install, reboot, add firewall rules, and you're done.

Simple intelligent kernel config for newbies (3, Interesting)

2Bits (167227) | more than 12 years ago | (#2570519)

Why can't we have a very simple but intelligent suggestion for newbie kernel config?

For example, the utility starts by doing a hardware diagnostics first, to see what does the system has. Then ask a few simple questions on the normal usage patterns, like

- Do you have any plug-and-play hardwares that you plug in on run-time?
- what kind of pnp hardwares?
- do you do multimedia?
- ...

Then base on the user answers, just come up with an "optimal" configuration, and ask for the user's approval (you may want to tell the user the reason behind this config, e.g. put the sound module as loadable module, because the user said s/he is using sound only once a while). Then compile the kernel for optimal performance for the user's specific hardware configuration and usage patterns.

this is waste of resources (0)

Anonymous Coward | more than 12 years ago | (#2570608)

The Kernel next phase should focus on speed and stablity. Not configurability. If you want configurable install enlightenment

Ugh (-1, Flamebait)

Anonymous Coward | more than 12 years ago | (#2570646)

Why is this stupid project newsworthy? It's just an ego-inflater for ESR. It's dumb, worthless, and barely a toy.

Would there be any discussion about this silly pet project if ESR didn't write it?

With hours being spent on menial bullshit like this it's no wonder than Linux is and always will be one giant geek circle jerk over computers without getting anything actually accomplished.

Non-Linux Uses? (1)

artwells (175888) | more than 12 years ago | (#2570661)

A site I maintain ( http://rejuvenation.com/ [rejuvenation.com] - a lighting manufacturer ) has hundreds of products that have separate configuration with their own constraints and logic. Though I'm squeaking by with our current online solution (PHP translations of configuration files created by a proprietary product), I've been looking around for a good standard in which to create an alternative solution. This might be it? I'm not sure, but it certainly looks like it could be.

Brain damage (-1)

Andy (2990) | more than 12 years ago | (#2570722)

You would think that Raymond would have used one of the millions of available scripting languages/file formats to do this. XML is the most obvious choice. I can't imagine that Linus will let this braindamage into the kernel tree.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...