Should Aunt Tillie Build Her Own Kernels? 507
DeadBugs writes: "Linux Weekly News is reporting on a new linux controversy. The inclusion of a Kernel Autoconfiguration program that would make it easy for almost anybody to build a custom Kernel on their computer. Eric Raymond supports this idea saying that this will bring Linux to a wider market. Those that oppose this idea mainly think that only those educated few should custom build their own Kernels. I for one hope this gets included if only to make standard installations and upgrades faster."
Controversy??? (Score:5, Insightful)
I'd like to hear good arguments in the other camp, though.
Re:Controversy??? (Score:3, Insightful)
Fine - let people configure their system to some degree. But when it comes to meddling with things that change the fundamental operation of their machine, leave it to those who understand what they are doing.
Re:Controversy??? (Score:2, Insightful)
Re:Controversy??? (Score:5, Informative)
When people suggest that technological means of prevention is superior to ingraining a respect for a particular technology, I get so upset! It's not my fault that MS has brainwashed you into thinking that the consumer should be unable to fuck something up! A sufficient warning and a learned respect for your belongings (in this case, the kernel) should be the top priorities. When people are told to not worry about what their doing, that they can't screw stuff up, thats when you end up with people who do screw stuff up once they find a chink in the armour of the technological solution!
Here's a sobering stat: more people fall off cliffs with fences than cliffs without fences. Why? Because when you leave people to their own devices, they have to think and respect the power of the tools they are using or the situations they are in. When you put the blinders on them, you're only making sure that shit will get fucked once you slip up and accidentally allow them access to the tools and technologies that you were so adament to lock everybody out of.
I understand that people still have access to custom kernels regardless of this auto config tool, but this is akin to providing an easily labeled handle to your hood, or an emergency exit, or whatever. Because it's so easy to get access to, people are forced to learn and know implicitly what the consequences of pulling it are! Compare this to the newb who finds the man pages on building the custom kernels, or the HOW-TO
Re:Controversy??? (Score:5, Insightful)
My simply answer to that is: Then how did you learn?
Except (Score:3, Insightful)
Re:Controversy??? (Score:4, Insightful)
And exactly how would that be differnt from today?
I don't need an easy to use autoconf tool to rm my kernel.
That was my point.
No, that's not a point. It's like saying 10 years ago: "OH my god all these ./configure scripts make it too easy for newbies to compile software!!! THE HORROR!" and then saying "Oh well, they could also delete the software, format the harddrive or pour coffe on the mobo. That was my point."
What utter nonsense.
Knowing what NOT to touch (in this case, the factory-kernel) is a part of life.
The auto-configurator is the only one touching anything in /boot here. Aunt Tillie won't wander around the filesystem randomly deleting files because of that.
Or compiled with the wrong flags such that your machine /boots/, but munges your hardware.
Wow, we are getting esoteric... Destroying hardware via software is only in very, very rare cases even possible. (for example old monitors, but new monitors won't break no matter what signal they get - but the kernel doesn't handle X anyway).
I run a dozen computers and I can't think of any device that could be harmed by the kernel. Not a single one.
But lets pretend such device would exist. The risk harming that hardware would be actually reduced because the autoconfigurator would choose the right setting and if unsure go with the safe settings.
You admit yourself that you havn't compiled a custom kernel, because of the lack of this tool, but more importantly, you're not even really aware of the risks!
I compiled a million kernels in my job (embedded systems engeneer). I said I didn't compile and optimize kernels for friends and for quite some time I don't to it for my desktops anymore neither because I'm a lazy bastard.
Re:Controversy??? (Score:3, Insightful)
i would be running linux on two machines *today* if this tool existed. i'd take the evening and do it. (i know my way around as a user.) as it is, i must gently pester more educated or linux-familiar friends to spend hours helping me set up and optimize the machines so that they're even *usable* for their intended purpose.
i buy them pizza and beer, and hope they don't get bored with my questions - because i *want* to learn, but that's hard to do all at once... when you've got a lot of other work to do.
not everyone wants to be a competent admin - some of us just appreciate those who are, and go about our own specialties.
Re:Controversy??? (Score:3, Interesting)
Even though I can hand-edit kernel source files according to needs, I don't want to. I don't feel a need to prove how long my geek-peter is by burning hours doing something that an automation tool will let me do in a couple minutes.
Right now, my S.O. is trying to install Turbolinux on her system: she's a web-type developer who is looking to grow past IIS/ASP/ecmascript and check out things like php and apache and perl. Now, I don't read a word of Japanese, and I don't use RedHat based distros, so she's kind of on her own - I can only give her general advice, and on Japanese-specific things none at all. I'm curious to see what her experience is going to be. But she fits the profile you mentioned - a non-newbie who doesn't need to be a techie if she can help it.
Re:Evil Statistics (Score:3, Interesting)
You're confused. I support putting this tool out in the open, available to the novice, if, and only if:
a) It's labeled clearly
b) There are descriptive, helpful confirmation dialogs that provide a means of finding additional information
c) describe the worse case scenario of the tool in case of gross misuse (which everyone goes through, I know!)
My point in not touching things you dont understand is touchy with Windows Users (of which I am one), because I feel, in my experience
If some part in my computer is labeled clearly "Event Transmographier"
Windows does this very poorly. Nothing is written with a descriptive name, so people screw around because they can't tell if its important or not. What I'm saying is that the labels and signage should indicate this. MacOS does this well (the most important file, System, is called
I know lots of people don't agree with me
Re:Controversy??? (Score:2)
Oh goddamn I hate people with that opinion.
Hell, why not? If Aunti is running her own Linux on her own computer why shouln't she be able to easily autocompile a new kernel? Since we are speaking Linux here, even if the newly compiled kernel is the biggest pile of crap on earth, it wouldn't do much harm as every distribution would not overwrite the factory kernel anyway.
So if something goes wrong, just boot with the factory settings and everything is just like before.
Admit, the *only* problem you have with this is that you would lose some elitist status.
Re:Controversy??? (Score:5, Insightful)
I never would have learned anything if I thought like that.
Re:Controversy??? (Score:4, Insightful)
My own personal opinion is that:
* nobody should have to ever recompile their kernel (just update their distro in the worst case)
* everyone should be able to have the option of doing so easily if they want to.
Re:Controversy??? (Score:3, Insightful)
Aunt Tilly doesn't care about a whopping 1.5% speed increase in StarOffice or Evolution. If she did decide she wants to recompile her kernel, and the utility Aunt Tilly is to do this allows her to render her system unusable (to her) she's gonna care a lot more about the fact that her machine doesn't work.
Linux people tend to be overly obsessed with their kernels, probably from pre-modutils when recompiling the kernel every 5 seconds was part of running the OS. Personally I find there's a whole bunch of other performance tweaks people could bring about on their machines that would have more impact than recompiling the kernel. Its just that recompiling a kernel is cooler.
Fuck that. For a server, I want a secure, reasonably modular kernel that I know a whole bunch of other people will be using. With a `known quantity' like this I can subscribe to the relevant mailing lists and know about any stability problems, FS corruption issues, security bugs, etc, and download / install the new relewases or run `apt-get upgrade' to fix the problem. Like Red Hat's Alan Cox 2.4.9-13, that's been installed by my distro. There are thousands of other people using this kernel built in this way with this set of options and submitting bugs to RH and the kernel mailing lists.
For a desktop, I repeat: end users don't generally care about kernels unless they're a problem, many of those that do don't bother to tweak their machine in any other way, which seems to indicate that many simply *like* recompiling kernels than any real technical reason.
Re:Controversy??? (Score:5, Funny)
Here is a different angle on the same issue, that makes for a better debate: Should the typical user be running a precompiled, distribution supplied kernel or a customized kernel that may offer performance advantages or may be wildly inappropriate and which creates immense tech support headaches?
Re:Controversy??? (Score:3, Funny)
Bill Gates
Posting anonymously in order to preserve my karma.
Re:Controversy??? (Score:2, Interesting)
Auto configure is one thing... auto detection of hardware that was never designed to be auto detected is quite another.
I for one would hope Aunt Tillie would have a reasonably recent system. If she uses 10 year old componants she should expect it to be hard.
Re:Controversy??? (Score:2)
But this misses the whole point. The point is that with a good autoconfigurator, there won't be an issue of a custom kernel that "may be wildly inappropriate". The autoconfigurator would detect the user's hardware (and possibly check to see which services/file systems they have running to know other kinds of support to compile in) and build a custom kernel that was actually appropriate and optimized for that user's specific hardware. If the system were well designed, there would be very little risk of ever winding up with a kernel that was wildly inappropriate. Any halfway decent design would also help to prevent a number of the most common newbie mistakes in kernel building, like forgetting to keep an appropriate, well tested kernel available in case the new one is a failure.
Re:Controversy??? (Score:3, Interesting)
Heh, I guess it depends on who you ask. Since RedHat's money making owes a large part to support fees, I'm sure they won't mind walking through custom kernel configurations at a few dollars a minute, will they?
I suppose this is where open source and commercial processes differ: commercial joints see support calls as 'headaches', open source joints see them as 'a source of revenue'. Who are you going to get better support from, I wonder?
Re:Controversy??? (Score:3, Insightful)
Most of our aunts and uncles could not even consider installing hardware in their computer (with the exception of external devices) anyway, so with a few exceptions, I think that this is not likely to initially make kernel building available to a wider audience. Can you imagine your 60 year old uncle trying to install an internal NIC-- this is more intimidating than the actual software, even though at present the software is much more difficult.
Also, consider that there are few reasons for an average person to rebuild their kernel. I myself (as an advanced user) only do it for special purposes, and for this I require a high level of control over what gets compiled in and what gets omitted. I know that you will say that security patches are the real advantage of doing this, but for a firewalled, single user system (or one with only trusted family users as regular users), there is little need for patching the most common types of security holes which require physical access to the computer.
(OK, so you are SLIGHTLY more vulnerable to makicious programs and viruses this way, but have you ever broken things by upgrading your kernel? I have, and then I have to find out where the problem occurred.)
My question is: Will dumbing it down mean less control, or can I still have the same level of control over how my kernel is built? If so than I cannot support it. Also, what if I am building a kernel for a different (slow) system which does not match my system or I want to make a specialized boot image for a system recovery kit?
Lets face it-- compiling the kernel sounds scary and all, but with make menuconfig and make xconfig, it is hardly rocket science. These items should still be available in some form even if an automatic configuration utility is included...
Imagine the support headaches! (Score:3, Funny)
Exactly. (Score:4, Insightful)
I don't blame the software companies one bit either.
Re:Imagine the support headaches! (Score:2)
Ditto with the "this software supported under Red Hat 7.2" or whatever mentioned in another reply. Many packages already do this, especially if they can be bought off the shelf.
Let the mob sort it out... (Score:5, Insightful)
Let some distribution try this. It may take off, it may fail-- that's what it's all about...
Re:Let the mob sort it out... (Score:2)
Is this a debate over limiting vs. allowing certain behavior? What part of the Open Source philosophy got suspended while I was at lunch?
Actually, I totally agree. The question is whether people who support this also will see the the hypocracy of NOT spporting Microsoft adding more functionality to their mail programs, but with unfortunate side effects of allowing people to execute programs that might contain viruses.
Re:Let the mob sort it out... (Score:2, Insightful)
Re:Let the mob sort it out... (Score:3, Insightful)
I agree with the original post. Anything that allows people to more easily use their freedom with OSS is only a god thing. I cannot even believe there is an argument about it.
The original article, with its reference to the "educational elite," is just crazy.
Re:Let the mob sort it out... (Score:3, Interesting)
Did I compile a lot of stuff when I ran slackware? Yes.
Do I know how to build debian packages? No.
Would I be able to build a debian package if I found out I needed to? Probably.
I dont feel I would have more freedom if there was a very simple program that created
Why would an automatic kernel-compiling-wizard give more freedom to users than the opportunity to choose from a set of precompiled kernels?
But of course, I can not argue that more choice is less freedom. Hopefully the tool gets so good everyone uses it.
Re:Let the mob sort it out... (Score:5, Informative)
Aunt Tillie (Score:3, Insightful)
I'm with Cox on the matter that I think Aunt Tillie would be better off with the distro's kernel (where she might have lm_sensors, nVidia, TV and Radio drivers), but !
I'l defend Aunt Tillie's *right* to chose !!
That's what freedom is all about, options !
I seems to me... (Score:2, Insightful)
not a problem (Score:2)
That means they'll have to go out of their way to tweak with the kernel. It should be easy to throw up a disclaimer. Think of this: even Micorosoft includes tools for editing registries, with the standard boilerplate.
This depends on target (Score:2, Insightful)
If people expect to make linux a server/embedded OS then it *would* be nice if powerful things could be done without scaring off PHB's and NT admins.
Though of course it could be argued that PHB's and NT administrators are just as likely to screw themselves as Joe User...
Sure, why not. (Score:2)
Point could be moot. (Score:5, Insightful)
There aren't all that many "casual" Linux users. That market is dominated by Microsoft. And if you've deployed Linux to a work environment, chances are you won't allow a tool like this to be used, because you'll probably want to lock down the configurations (making your life as a sys admin a lot easier).
Assuming Linux continues to proliferate to the consumer market, I still wouldn't be worried about people tinkering with their kernel too much. Most people, especially at the "average Joe" level, don't understand the inner workings of their OS. Heck, most of them fear their OS and assume that they'll break something if they tinker with the OS's inner settings. I wouldn't conclude that simply because the tool is there that most people would be interested in using it.
Re:Point could be moot. (Score:2)
Re:Point could be moot. (Score:2, Interesting)
Besides, some like to deploy linux without wanting to
I have a friend who just came into the linux world. Couldn't figure out how to change the resolution in X... "The option wasn't anywhere in the menus!" Of course not, but he didn't know that, and how could have? He just moved over! He's still learning.
I agree with one of the first posts: "Why is this an issue at all? Increasing accessibility is
Re:Point could be moot. (Score:3, Insightful)
Although I have my doubts about that, I think a tool like this would be potentially useful (perhaps even more useful) for non-casual users.
I have configured a kernel or two as a user and I never found the problem too complicated with the tools already available, but it's still a step that can take from 10 minutes to half an hour, depending on how complicated is the setup, what decisions you have to make, and how many acronyms you have to check just in case they apply to your hardware this time.
I'd like to take the time at some point to do that, but sometimes I'd like to get the hardware to work fast and just get on with my life, and the distribution kernel doesn't always work at those times.
This is doubly true if you're installing Linux for someone else, and they happen not to have the most compatible hardware, or know very little about their manual-lacking components. Spending hours configuring kernels, telling them what you're doing and trying them out is not fun and probably, at that point, not even educational.
Huh???? (Score:2)
This I just do not understand. Should that attitude prevailed when it came to PCS or ISA cards pre Plug and Play days when you had to be an expert and getting interrupts set correctly or your system hung (and yes I realize problems still happen with PnP, but its still a billion times better than the old days). What an elitest attitude.
*Make it easier*
Should we get rid of the './configure && make' cycle because its too easy for those of us who don't know the ins and outs of the compile cycle?
(Man, am I in a snippy mood today or what!)
Aunt Tillie shouldn't *have* to... (Score:5, Informative)
I really can't emphasize strongly enough that I believe that if Aunt Tille has to build her own kernel, we have much bigger problems that Eric's autoconfigurator will solve.
Good old-fashioned response (Score:5, Informative)
I suppose I'd have no trouble believing this. I'd still like to know what the requests are and why they are ridiculous.
Aunt Tillie shouldn't have to
But.. she does. We don't have runtime autoconfiguration that works in every case. If an autoconfigurator is easy to build, and won't impact the people working on runtime configuration, then why stop them from doing it? My computer should read my mind (or at the least, the pointer should move to the thing my eyes are looking at) but I'm not going to tell people to stop working on improving mouse support.
The autoconfigurator is bound to be an imperfect job
True enough, but this is true for runtime autoconfig as well.
The kernel people are already drowning in bogus bug reports
Kernel bugs are reported via email on the mailing list. This is described in marginal detail in /usr/src/linux/REPORTING-BUGS. Furthermore, it begins with the following dubious paragraph:
What this document highlights more than anything is that kernel developers are drowning in bug reports because linux kernel bugs are reported in an informal format on the mailing list. Get a proper bug tracking system and it will be much easier to keep track of real bugs. This should be done regardless of whether or not we make "kernels for the masses". I hadn't heard about the bug report problem until you brought it up, and it's frankly amazing that it hasn't been addressed in this manner already.Re:Good old-fashioned response (Score:4, Insightful)
Actually, the bug/patch reporting problem was mentioned in a very recent article [slashdot.org] about Linux VMs. Rik van Riel complained that Linus' (rather human-based) system was prone to missing patches, no doubt because the mailing list is filled with bogus bug reports, if indeed these are the same lists. Even if they aren't the same lists, Linus would probably have to monitor both anyway.
The point is that we have clear evidence a better system is needed for bug reporting and patch submission to give the main developers some way of organising and prioritising things. Clearly a simple mailing list does not suffice when the number of people submitting gets very large. Any takers?
Re:Aunt Tillie shouldn't *have* to... (Score:2, Insightful)
Let's say some device isn't working properly and that happens to require a kernel rebuild. Aunt Tillie could care less about the fact that a rebuild is required, she just wants a working machine. The auto updater should take whatever steps are necessary to deliver what the user wants and expects.
Re:Aunt Tillie shouldn't *have* to... (Score:2)
The Linux developer community has been promising the elimination of the need to recompile a custom kernel for quite a while now - and I don't think it'll ever really happen.
I say this primarily because Linux keeps getting used for niche purposes (think dedicated hardware like firewalls or routers, MP3 players in cars, etc.). In these situations, people need an OS that can be trimmed down to the bare essentials.
It's cleaner to compile a small kernel that has exactly what's needed in it. Otherwise, you have to have all the seperate little module files stored someplace on the device - and the storage device may be severely restrictive as to how much and how many files can be put on it.
Not only that, but compiling all the modules seems to be the slowest part of a recompile process. If I know my kernel is only going to work with specific hardware, in an appliance type setting, I'd rather skip the whole step of compiling modules.
Yeah, but Aunt Tillie OS should *have* to... (Score:2)
But what about auto recompiling the kernel while aunt tillie's screensaver is running ? The kernel could collect usage and performance data while it runs and automatically make kernel configuration changes that suits the usage of aunt tillies kernel.
Modules are a nice thing, but there is a small performance lose when you use modules. Why not ship linux distribution kernels with almost everything compiled as a module and then let an autoconfigurator compile an custom new kernel every few weeks until the kernel gives aunt tillie near optimal performance ?
ISA Cards are a problem, but there aren't almost anymore ISA cards in the aunt tillie systems out there anymore and normal distribution kernel have the same problems, they also need to try find all the isa cards in your system and normally it doesn't work that bad.
Re:Don't stop there (Score:3, Insightful)
Aunt Tillie does not need to build a kernel, ever.
Aunt Tillie can easily build a kernel if she feels like it.
Misery.
Aunt Tillie needs to build a kernel.
Aunt Tillie cannot build the kernel she needs.
It's been a long time since I've compiled a kernel except. The last kernel I compiled was to get an NTFS read-only module so I could ftp it to a "rescue". I wish any other configuration was as easy and straightforward. Need to get the "right" starting point and extremely explicit directions, including all the "remember to
Besides, when Aunt Tillie has reconfigured her kernel, she knows the "My" of "My Computer" now really means Aunt Tillie's computer.
Why bother? (Score:3, Informative)
On the other hand, there are some areas where an autoconfigurator would be handy. That's when determining which chipset features/bugs to compile for. Hopefully this project will focus on the areas of configuring that are more complicated than (y/M/n).
Re:Why bother? (Score:2)
Probably this is not going to be the case anymore [google.com].
Barriers to using Linux (Score:2, Insightful)
I think the beauty of linux is that I can manually edit config files to my hearts content, or I can fire up Linuxconf and do the same thing.
No one forces me to do either.
Choices are good.
Aunt Tillie ? (Score:2)
This seems like a bad idea if it's a desktop icon or an easy to access program. Let aunt Tillie mess with the kernel and watch how fast the computer will grind to a halt, heck, we're lucky if aunt Tillie knows that a computer mouse is not a rodent !
I thought it was easy (Score:2)
tar -xzf linux-2.4.17.tar.gz
cd linux
make xconfig
make dep
make clean
make modules
make modules install
...and make it boot...
I mean, If you think that is hard you probably wont be able to give any useful instructions to a kernel configuration program at all... Maybe not even know you need a new kernel...
What is nice with linux (compared to Windows) is that very few things happen "behind your back". The system does not change itself. I find this very comforting.
And modern distributions tend to make it quite easy anyway... I installed Redhat 7.2 from isos today for the first time in over a year. All hardware was autodetected and worked without any tweaking at all (then I felt like compiling an own kernel to play DVDs well, but that another history)
Modularisation is the answer. (Score:5, Interesting)
While 2.4's module support is excellent, and modularisation is become more and more prolific throughout the Linux architecture, there are still several important features which need to be excised from the kernel core and made available as runtime modules. Trivial features such as APM support, SMP and Unix sockets shouldn't require a full recompile to activate. Why do we insist on prolonging the life of "make config" and its brethren when we could very well do without it altogether?
Re:Modularisation is the answer. (Score:3, Interesting)
The biggest problem with modules is that (by design) the binaries aren't necessarily compatible from kernel to kernel. They may not even be source compatible, as Linus and friends like to change broken architectures from time to time.
Debugging kernel loaded down with proprietary binary modules is time consuming, and often counter productive-- if kernels were binary compatible, this might further encourage the writing of non-gpled binary modules, and cause compatibility problems galore.
Alan Cox says 2.6 won't have compiled-in modules (Score:3, Interesting)
From: Alan Cox
To: babydr@baby-dragons.com (Mr. James W. Laferriere)
Subject: Re: ISA hardware discovery -- the elegant solution
Date: Mon, 14 Jan 2002 18:08:32 +0000 (GMT)
Cc: alan@lxorguk.ukuu.org.uk (Alan Cox), esr@thyrsus.com,
cate@debian.org (Giacomo Catenazzi),
linux-kernel@vger.kernel.org (Linux Kernel List)
> Hello All , And what mechanism is going to be used for an -all-
> compiled in kernel ? Everyone and there brother is so enamoured
> of Modules . Not everyone uses nor will use modules .
For 2.5 if things go to plan there will be no such thing as a "compiled in"
driver. They simply are not needed with initramfs holding what were once the
"compiled in" modules.
Alan
This is a good idea on any *nix (Score:2, Insightful)
Re:This is a good idea on any *nix (Score:2)
It's all about choice (Score:2)
I know lots about unix in general and linux in particular. I've written kernel drivers. I've designed embedded CPU's and PCI plugin cards. I am generally regarded as being very technically minded
The flipside: I have also been mystified as to why one of my (admittedly more esoteric) kernels just gives up the ghost at inopportune moments. It's almost always my fault, and I almost always learn more from the mistake, but it's sometimes a non-timely learning experience
In short, why would you want to make it difficult ? Use the time you save to solve other problems instead - ones that someone else hasn't kindly provided a solution for...
Simon.
As long as it provides a Backup Kernel... (Score:2, Insightful)
Devo Andare,
Jeffrey.
Different levels of effort for different people (Score:4, Insightful)
Should Aunt Tillie Build Her Own Kernels?
Should Aunt Tillie Install Her Own OS?
Should Aunt Tillie Install Her Own Applications?
Should Aunt Tillie Run Her Own Applications?
Should Aunt Tillie Produce Her Own Documents?
Should Aunt Tillie Think Her Own Thoughts?
Re:Different levels of effort for different people (Score:3, Funny)
Sexist Bullshit (Score:2)
Disclaimer (Score:5, Insightful)
If MS can include regedit, you cant tell me that we can't inlcude autoconf
Re:Disclaimer (Score:5, Funny)
Wait a minute... (Score:3, Interesting)
Yes, but a caveat .. (Score:3, Insightful)
But I don't think "Aunt Tillie" should accidentally come anywhere near a kernel: Users should not care about kernels because they have to, but because they can. That means that most hardware configuration tasks should be accessible without touching the kernel, including installation of new drivers. So include lots of warning signs -- optimally a normal user will never have to log into his box as "root" except for installing new software with a graphical apt-get like tool.
Isn't that the whole point? (Score:4, Insightful)
Necessary w/ modules? (Score:2)
Distro kernels are good enough for Aunt Tille. (Score:2)
Take 2 boxes, one running 2.2, one running 2.4. Throw KDE on there, and I am willing to bet that the average Aunt Tillie can't tell the difference which one is faster/better.
The kernel as packaged by distros does a good enough job of running the typical desktop system that Aunt Tillie uses to browse the web. Leave the custom build stuff for the experts.
I have to say... (Score:2)
My emotional reaction is Noooooooo! Not because I'm elitist and arrogant, I can always find another thing to be arrogant about, ("You use the newbie tool to rebuild, loser" ) but I don't want to field a hundred questions each from a hundred people. I don't want my mother calling me and asking me if she needs iRDA modules, or constantly answering questions at the bar from people who probably have no need to get into that stuff. It's bad enough now fielding questions about windows... I gotta get this shirt [thinkgeek.com] from thinkgeek.
Granny should build custom kernels. (Score:4, Funny)
It would be great if anyone could build a custom kernel.
Imagine this... Let's say it's 5 years down the road, and the hot new computer is the 72 ghz Apple Pentium G7 with 64 gigs of on-chip ram. Hard drives have been totally eliminated because new, memory based permanent storage technology has been invented and proven over the past 2 years. An entire meg can be recorded in under 1 microsecond. The only remaining mechanical component of a computer is the standard Glass-RW drive (the 2 terabyte recordable successor to DVD), so the whole computer is now a small single board, and most of the electronic hardware is inside the main processor, an inch square in size. In fact, the plugs on this board take more room and cost more than the computation hardware.
Now imagine that a build world takes 4 minutes to complete. Here's how installation of FreeBSD 9.8-RELEASE takes place. (Yeah, I know this was a Linux thread.) You pop the Glassdisk in the drive, choose a few options, and all your software is configured, optimized, checked for security vulnerabilities, compiled and installed within 2 or 3 minutes.
In order for that to happen in 5 years, Granny needs the ability to custom configure her own kernel right now.
Interesting possibilities (Score:2)
Does it matter? (Score:2)
she doesn't give a crap and wouldn't know what the hell all of you geeks in here are talking about.
A kernel to Aunt Tilley is a piece of corn... Jeez...
Talk about being out of touch....
Aunt Tillie Interview (Score:2, Funny)
Pro Coder: "So Aunt Tillie, how would you like to compile your own custom Linux Kernel?"
Aunt Tillie: "What the hell are you talking about?"
Pro Coder: "You know, compile a custom Linux Kernel, so you can have a very customized OS."
Aunt Tillie: "Why would I want to do that?"
The conclusion we draw from this interview is: your average user doesn't have any idea what a Linux Kernel is and that they don't need a custom kernel, at least not yet
There was a time... (Score:3, Insightful)
The whole point of Linux is having a stable and friendlier version of UNIX that is GNU and doesn't have any ties to MS. We now have Average Joe User with their own copy of Linux/X and they are using it just fine. Why should we limit ourselves because we need to do it the "old fashioned way"? Let them (and us) have a easy-to-run auto-config script for building kernels. Are we going to delete our "make menuconfig" scripts and tell everybody to replace it with "vi Makefile", just for being elitists?
Personally, I think these are the "10 miles in the snow, both ways" people, who still believe that the best way to configure PPP on Mandrake is rolling your own scripts. (Uhh..."netconf"...duh!)
Invisible recompiling. (Score:2, Insightful)
Thats sounds like what programmers used to say when they wrote things in machine language.
The goal is to make it easy enough for anyone with a brain to do it. Hell they don't even need to know that they're recompiling a kernel.
"Oh you want to do that? Ok give me a sec and then I'll reboot and you'll be all done." *compiling*
Thats the goal. The user doesn't HAVE to know just 'what' they're doing.
Do you really know exactly what that for statement you just wrote compiles to in machine? Do you care? If you want Open GL do you have to know ANYTHING about the kernel?
Sure it HELPS to know these thigns but for the end user it's not a must and should never be a must.
The quicksand to avoid with kernel recompiles (Score:3, Insightful)
I just hope we don't start designing things such that people say "oh, to do that just reconfigure your kernel with the foobar option". Feature sets should generally not require kernel recompile imho. For a long time, this was a UNIX weakness.
If we can avoid this (which is after all worse than the old "reboot NT to configure something"), I'm for it 100%. I'm not saying that you have to recompile the kernel much nowdays (I had to once to get an unsupported Ethernet driver working), but kernel recompile gets really easy, I'm nervous that people would start to rely on that way of doing things. Which would be bad.
--LP
Maybe not good for Aunt Tillie, but good for me (Score:4, Insightful)
Sure, I can do this myself the old-fashioned way. But this is the kind of thing I prefer to delegate to someone with a lower billing rate so I can focus on the things that really bring in the bucks. It is easier to train someone to use Eric's AutoConfigurator than it is to explain make files and such...
Jack William Bell, who likes the KISS method in most things.
Better kernel config tools are welcome (Score:3, Interesting)
This is a no brainer!!! (Score:5, Interesting)
Does the programmer re-write open() every time they need to open a file?
There is not only nothing wrong with making it easier to build a custom kernel, but in fact there should be a growing interest in doing this sort of simplifying, given the GNU Hurd is about not only modularity but about servers/transltors and creating such, even custom as is needed.
This can be taken even further in that autocoding tools can be and should be built for the GNU users.
In a hundred years from now, how do you suppose programming will be done (given programming today is only about 50 years young)?
As things are being done today, it is not possible to do such a program of complexity as can be imagined of what would be a holodeck program (And we do have such virtual reality cudes today in university labs).
It won't be untill the general programming field realized the need to genuinely and honestly address and do the automation of the field of programming. Certainly everything else can be automated, including human balance and movement (segway).
It's fooling to continue the illusion that programming is not itself automatable. And to begin making it happen, where better than on higher level like autoconfiguration system that allow custom kernels to be done? (Or at least one place for it to begin)
A recent research paper on autocoding [york.ac.uk] presents the current/recent mindset on autocoding. It's worth reading to see how young and admitedly immature the field is. Open system and Open Source Software such as the GNU efforts (Linux, the Hurd, etc..) with their open community has far better ability to do what needs to be done than any private effort which will be biased away from doing the things that need to be done.
Soooo, anything that automates computers and their use is inherently a good thing, for iot will allow us all to reach and achieve much more advanced systems and the benefits of.
Re:This is a no brainer!!! (Score:3)
If that is what you mean by autocoding, then the field is not against it in any way. It seems almost everyone is very much for it, and willing to make a buck in the process (CASE tools, UML, RADs, garbage collection, run-time environments, design patterns, etc).
But if you're talking about automating Software DESIGN, then you're dealing with more fundamental problems. It's not a matter of immaturity that this is thought as "really hard" (or impossible), it's the result of serious research and you would be wise to check the literature.
Modelling and solving arbitrary problems of arbitrary complexity (fully automated programming) is, as far as I know, equivalent to "strong AI".
If you have a solution for THAT problem, publish it as a paper on any scientific journal and you'll easily get your Nobel prize.
My Crazy Idea (Score:4, Insightful)
I want a distribution that has a similar GUI installer that RH and Mandrake have, but instead of invoking "rpm -i" for each package, it would build all the install packages from source drops. The "installer script" could be a large XML file that describes how to compile each package, what its dependencies are, and provides a mechanism for tweaking the packages configuration. Most of the packages out there can have their runtime configuration configured via their 'configure' script (wow that's a lot of "configures"), making it a fairly uniform approach. In addition, at the beginning of the install, it would be neat to see controls for your *exact* hardware configuation that get turned into CFLAGS like -march=i[my]86 and -O3, etc.
The only drawback I can see is that it would increase install times by a *lot*. However, in the end you would end up with a *highly* optimized distribution.
The idea came to me while building my own [byolinux.org].
Linux for the masses (Score:3, Insightful)
Aunt Tillie rocks (Score:5, Funny)
Kernel stability ranking (Score:3, Interesting)
That was way back in the 2.1.x days. Then, I knew all the caveats of the minor revisions, and I knew which particular revisions were more stable than others. Now I'm nearly the opposite. I'm happy to leave my system running for months on end without checking the status of the kernels. I actually have to "cat /proc/version" to see what revision I have fired up.
That attitude is only reinforced with the 2.4.x tree. Pondering a kernel upgrade is like pondering if I want to step into a minefield.
Reading the comments in "2.4, The Kernel of Pain", I know there's still Version Whores out there. They know the obvious stuff like "don't use 2.4.15". And I'm sure there's less obvious stuff, too. Aunt Tillie or whomever isn't going to keep up. If she steps onto the 2.4.15 mine (or its equivalent in the future), she could do damage to her system.
To that end, we could use short, digestible ranking/summary system of the kernel revisions. (Or does one already exist?) Which kernels in the stable branch are really unstable? Which are the most robust? Many, Aunt Tillie and myself included, would find value in such a system, regardless of a Kernel Autoconfiguration program.
Elitist snobs (Score:3, Insightful)
First, such a tool would only make linux easier for people that are not knowledgeable with computer workings, and make it a more viable option for those who don't want to mess with, or aren't knoledgeable of, the inner workings of the computer. I've run into many people (online) who don't have support for xy device with #.#.# kernel, don't want to install another distro, and need to compile a kernel.
Second, (as far as I know) this would be something fairly easy to do, provided that the device that wants to be used is already attached to the system - the kernel seems to have a decent detection system already, just have, say, a 'kernel compilation disk' which would have the kernel you want to compile, with all the possible modules compiled in, which would use your system. it'd have it's own initscript, which would have a step-by-step process, walking you through the configuration (eg., Is the kernel source tree untarred already?, Is the kernel source tree in a location other than the standard location? etc)
Just some ponderings.
Kernel rebuild (Score:3, Interesting)
I put together a kernel rebuild guide a few years ago ( Kernel Rebuild Guide [digitalhermit.com] ). I'd guess that for perhaps 95% of Linux users, there's absolutely no need to rebuild a kernel. For those that do, it's usually to enable a feature or to tweak just an iota more performance from the system.
Sure, anything that makes the system easier to use is good. It would be wonderful if guides such as mine were obviated. At the same time, should we really be wasting time on what's essentially a band-aid? By this I don't mean that Aunt Tillie shouldn't re-compile her kernel, only that if Aunt Tillie (a regular user) requires the feature then the distribution should already support it through other tools.
The main problem I see is that no matter the frontend, a kernel recompile will invariably ask a lot of questions that Aunt Tillie may be unprepared to answer. And if she can answer them I strongly believe that she would have absolutely no problem with the current configuration tools such as xconfig/menuconfig.
Why not? (Score:3, Interesting)
The answer is very simple. Of course allow this autoconf. Autoconf's are great, people should be able to run a program that makes life easier.
BUT
If you're building a Distro of Linux for end users like your fictional Aunt, don't include the feature. Just don't include it. There isn't enough of a performance increase that you'll see from a kernel optimization in almost every case. Truly if Linux wants to make it onto the mainstream, they are for all intensive purposes going to have to dumb it down a bit. People who just want a simple environment to write their reports, file their taxes, surf the web, and email friends are not going to give a crap about optimizing their kernel. That is best left to hackers. Why not create a distro that speaks to the masses? So don't put it on your 'enduser' distros. That's why distros exist, isn't it?
Now let's face it, the majority of people who use Linux are using it in server environments. If I'm a sysadmin and I want to setup this new distro of Linux quickly and easily without having to search through lines of what ends up looking like a bunch of code, I'd easily take autoconf. I don't see what the argument is about, really. What it comes down to is, there's a bunch of little Linux brats (no better than 5cr1p7 k1dd13z if you ask me) who are trying to protect their little clique of windows-bashers and Linux advocates (who probably don't use Linux anyway), who would rather dismiss the general public as idiots than work with something innovative and smart that makes life easier. These are Syds of the world who insist that the world was better when people did their programs using punch cards.
Ok OK OK OK....What the hell karma burner (Score:3, Interesting)
UNLESS that leads them to learning to do it themselves.
Ive often wondered why DISTOS didnt have an autocompile script for their kernels so at install it builds one to suit your system
what's really wrong with this (Score:4, Insightful)
Erm, is this the CML discussion stuff? (Score:3, Interesting)
First, ask yourself this. Is 'make xconfig' a bad user interface? Nope, it ain't. What sucks about kernel configuration? The dependency resolution crap. Linus has a nifty little program in place that does a pretty good job of figuring them out too -- but it's ugly, and admittedly a kludgey solution. CML is more "elegant and flexible" which is a damn good thing -- but last I knew the bugger took 2x longer to do it's job than the old system. Kernel developers do probably 99% -or more- of kernel builds so why on God's good green earth would they want a system that's going to slow them down right now? They don't and I can't blame them in the least bit.
CML2 is nice, and it seems like it's a really good little system, nobody on LKM is opposed to it really (that I saw) they just don't want something that's going to suck minutes out of their programming day. "Aunt Millie" can't answer kernel configuration question anyway, period. Heck, most Windows users don't know if they have 95/98/NT/2000/Me/XP some of the time, let alone if their processor is Pentium III, Pentium IV, or K7 based.. unless the sticker is still on it. Shoot, they don't know if their mouse is ps/2 or serial, or what USB is. Do they know if their USB host system is UHCI or OHCI? Hell no.
CML2 is about making kernel configuration easier in terms of expandability -- not usability. The current interface is very usable, just not very flexible. Because of it's inflexibility and complexity it leads to un-bootable systems sometimes when depency stuff get borked up in strange configuration situations. CML2 takes care of -that- and nothing else. It doesn't keep you from having to know your hardware inside and out. End of story.
Re:Customized kernals run better (Score:2)
Go ahead, mod me down for giving MS some credit. I didn't earn 48 karma points so that I could be politically correct.
Re:Customized kernals run better (Score:2)
Now if you could go into the control panel and unclick the "Run GUI on startup" then your point would be valid.
Re:Customized kernals run better (Score:2)
If you can turn of services in Linux too, then what is Aunt Tillie tryint to accomplish that she needs to do my recompiling her kernel?
Re:Customized kernals run better (Score:3, Insightful)
Re:Customized kernals run better (Score:2, Interesting)
Same goes for kernel features you don't use.. they are simply unused.
Kernel recompile is a step further and not one often needed by the averge user anymore.
With the exception of some wierd features/devices the only reason you should need to recompile a kernel is if you either want the bleeding edge or want to upgrade to something less buggy and the later is usually pre packaged by the distro.
Some people (like me)want to squeeze that last 1% out of their load times/ram useage by recompiling and that's not a feature windows 2000 even comes close to offering.
Re:Customized kernals run better (Score:3, Interesting)
I don't really know if there are any tools that gather it all into one place. However, there certainly can be, so if anything, your claim has nothing to do with the kernel itself, and rather with some simple userspace tools that may/may not be written at this time.
Re:Customized kernals run better (Score:2, Funny)
Re:Customized kernals run better (Score:2)
Re:No... no no no noooo..... (Score:2)
I do agree with you (and I think you mean) that this should be done with a friendly GUI.
Re:i used to feel like that (Score:2, Insightful)
But I doubt it's going to make any difference to Aunt Tillie that she can compile her own kernel in choosing Linux over Windows. Either it runs AOL or it doesn't. Either it runs Master Cook or it doesn't. Either it runs Family Tree Maker or it doesn't. You can say until you're blue in the face that there are compatible programs, but all her friends use Master Cook and she "just can't swap recipies without it". Linux on a desktop? First you gotta get past Aunt Tillie and her recipies.