Should Aunt Tillie Build Her Own Kernels?
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."
Why the heck is this a controversy? It seems to me that anything that makes good technology accessible to more people is a good thing.
I'd like to hear good arguments in the other camp, though.
Am I reading correctly? Is this a debate over limiting vs. allowing certain behavior? What part of the Open Source philosophy got suspended while I was at lunch?
Let some distribution try this. It may take off, it may fail-- that's what it's all about...
davejenkins.com |
Expect to see a lot of "This software only supported under the standard Red Hat v7.2 Kernel."
I don't blame the software companies one bit either.
...that this would just make things easier for a Linux newbie to break the OS. Then they can't fix it and are screwed. Then you lose a new Linux user because they don't want to feel stupid using their computer.
You are standing in an open field west of a white house, with a boarded front door. There is a small mailbox here.
If people expect to make linux a desktop OS, then this will probably not fly. The sheer number of total borkages compared to the gain is not worth it.
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...
Most Linux users are already familiar with the caveats and reprecussions of customizing your kernel. This kind of tool would just make it easier to get to.
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.
My sigs always suck.
i remeber setting up my first Linux installation on a laptop and the hell that ensued when trying to figure out how to put together a custom kernel that would support PCMCIA. Yes, i did learn a lot about the kernel, the Linux boot process, compilers and all sorts of other stuff. Problem being, the average computer user has no desire to do any of these things. This is why the average user won't use Linux. If the goal is really to get Linux on more desktops, we're going to have to see WAY more wizards and configuration tools.
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.
Although I use FreeBSD, building a custom kernel is good for Linux or any of the *nix's. You can get rid of device drivers that slow down the boot process, and you can tailor optimization for your specific uP. That will be especially true if we ever get a gcc that has decent Athlon optimization. I'm also told that taking out the plain Jane i386 support speeds up things considerably.
What's the problem if Joe Rube decides to build a new one? I mean, if he smegs up because he didn't ask Jane the Ubergeek to help him, all he has to know is to boot the prior kernel and no damage done for the most part. If he's using Mandrake, he doesn't even need to worry about how the LILO prompt works as he'll be able to select the old Kernal from a list at bootup. Force a timeout for LILO and keep the old Kernel and you're ALMOST Idiotproof, IMHO.
Devo Andare,
Jeffrey.
Time Lord, Dark Horse: The Techno Mage of Gallifrey
Ponder:
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?
*****WARNING. USING THIS TOOL CAN SCREW UP YOUR COMPUTER, BIG TIME. IF YOU WANT TO USE IT, DONT BE MAD AT ANYONE BUT YOURSELF IF YOU FUDGE THINGS UP*****
.. I mean, seriously. The only thing you could end up with is some fucked kernels (who should get along just fine with the fucked registries) and some users who will learn and be cautious, and end up having a better understanding their computers.
If MS can include regedit, you cant tell me that we can't inlcude autoconf
"Old man yells at systemd"
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.
I mean honestly, what claim can linux hold over windows if not that the availabillity of the source code allots the user more freedom? This is, as far as I'm concerned, what linux is all about. I am totally unable to understand any argument against making one of the most important benefits of linux more accessible to a wider market.
I couldn't aggree more. To take it a step further I don't understand why one would expect "Aunt Tillie" to even understand what a kernel is. Most people don't want to be bothered with the stuff -- they just want a computer that works.
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.
(Tillie? Tilley? I foget...)
I don't think the biggest benefit of the new autoconfig module esr added to the new kernel build system will be for little old (non-tech) ladies. From what I understand of esr's latest achievement, it could be coupled with a distro's installer software to simply weed out un-needed drivers, to clean up the distro so it matches up more with the machine it's running on.
I think distro makers might make use of this way more than Aunt Tillie (sp?), because IIRC esr's announcement on lkml, what he described is a form of kernel/OS self-maintenance. For some reason, I see this completing/augmenting Red Hat's (?) kudzu.
I do not recall, though, if this system can keep track of patches applied to a kernel (pre-emptible, real-time, etc.). I imagine a scenario where a distro maker could provide a list of patches to apply to kernel rev. x that this new subsystem could use to ensure the end-user has a kernel always in line with what his/her distro is supposed to have. If user upgrades to new version (say downloads a new version of the stock kernel because it's quicker to download from www.kernel.org than from distro X's web site), the autoconfig system could auto-detect this, check with the distro maker's website and fetch all relevant patches that applies to this new kernel rev.
I haven't fully thought this out, but somehow, I feel we are getting distracted by Aunt Tillie and loosing sight of bigger benefits this could bring. Maybe I'm wrong, but I have a gut feeling this might be *big*.
...when elite hackers said that only elite hackers should have Linux, and all of these "Red Hat" guys are polluting the user base. They are, of course, full of shit.
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!)
Zodiac Survey
"Compiling a kernel is hard and should only be done by the select few."
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.
In Soviet Russia, the television watches YOU!
Well, think of it this way. The registry editor (two of them actually) live in Windows, but you don't have the masses actively going into it to tweak settings. Yeah, you hear some horror stories about people going into the device manager and mucking stuff up, but in general, most people turn on their computers, log into AOL, and surf. I don't see any reason why having a nice easy kernel editing program is any more an issue than having regedit or DELETE on a Windows system.
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.
-- If god wanted me to have a sig, he'd have given me a sense of humor.
Easier to use tools are great.
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
The problem with the whole idea of computer elitism and the idead that only certain people should be able to try something on a computer is what always gets companies in trouble.
In the early days of computers, only elite people with technical knowledge bought, or indeed could afford a computer. Apple brought it to the average Joe and 'lo and behold computers took off.
Then Apple got elitist with it's GUI, providing only to apple users (I'm not bashing apple here, I am a mac fan). That was a mistake, soon realized when M$ released their GUI to the masses, and took the market by storm.
Now, here's a chance for the concept of creating custom kernels to come to the masses. I say give it to em, let's see what Uncle Fester can come up with.
T Money
World Domination with a plastic spoon since 1984
She doesn't, and the original poster doesn't understand what ESR's system is for. The current build system misses some dependancies and has some other flaws that I can't remember at the moment. Basically, this discussion began a *long* time ago (in linux time at least)...something like a year ago it was coming across lkml. This has nothing to do with granny compiling a kernel, it's about making the build process *better*.
The best way to accelerate a windows box is at 9.8 meters per second square.
Aunt Tillie doesn't need this. But, as a computer consultant and VAR, I need the ability to easily make these kinds of changes based on what my customers need.
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.
- -
Are you an SF Fan? Are you a Tru-Fan?
This is a step in the right direction, but true kernel compilation for the masses is still a ways off. I think for custom kernel compilation to hit the mainstream there needs to be an automated tool that will inspect your machine configuration and hardware and then automatically configure most options (eg... don't compile in X.25 drivers if you don't have an X.25 device). Just my 2 cents.
Years from now, when people wonder why in over ten years linux failed to do anything but run some servers and preoccupy some geeks, they may also conclude what I have: that the linux community wasted time on worthless ideas like trying to enable Aunt Tillie to compile a kernel, when the OS wasn't usable for people at home who lacked a tech department or strong specific technical know-how. Anyone who doesn't have hundreds of hours to devote to learning such a user-unfriendly system would have to be pretty dumb to select linux, when they could buy Windows and get back to having a productive life.
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.
std::disclaimer<std::legalese> sig=new std::disclaimer; sig->dump(); delete sig;
I think an easy to use, Joe User can make his own kernel is a great step as far as making linux more usable for the masses, i.e in a desktop environment. You can make a more compact kernel without knowing ALL the minute system details and random hardware that most people don't have or know what it is. Definitely a step in the right direction.
~.Evanrude
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.
Actually, the bug/patch reporting problem was mentioned in a very recent article 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?
----- rL
Happiness.
...". Needs to describe how to have multiple kernels, in case something wasn't quite 100% safe. Needs to be concise enough so that a total newbie WILL read it.
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.
Compiling the kernel is easy. Make menuconfig has everything laid out and easy to find with a little exploration. Compile a kernel a couple of times and it becomes second nature. Really, if you've never tried it, read one of the 200,000 pages out there on how to do it and jump right in. Don't forget to run lilo.
The real issue is that the kernel deals with concepts that "good ol' aunt tilly" doesn't comprehend. Does she know what chipset she has for her IDE controllers? What about old CDRom drivers? "That's a 12x... it's pretty old... Bluetooth? What's that? Better put it in just in case... MTRR support? Oh, I'd better put in math emulation so I can use my calculator..."
There's only two ways to solve this; One, put better help in the kernel configuration. This is being done, actually, and I'm all for it, but some things will still be very vague to the non-techie no matter how much help you put in. The other way is to "user-friendlyize" it, which is usually done by taking away options and hiding the real technical details from the user. Do that and a lot of people are going to be pissed off (like me).
A new configuration program I'm not opposed to; just don't take away our options - keep in mind who the majority of people out there who compile their own kernels are (i.e. people who know what they're doing). And for the gods' sake don't give aunt tilly the root password.
Those who can't do, teach. Those who can't teach either, do tech support.
As many others have pointed out either here or in other conversations, until Linux users can do ANYTHING with a Linux system that Windows can do, but without ever having to recompile the kernel or even know what a compiler (or, for that matter, a kernel) is, then it's not ready for prime time.
But I do agree that the terminally geeky should always have the option of compiling the kernel and hand optimizing their configuration, if they care to. They should never be forced to do so, though.
I don't think that anyone genuinely interested in linux/open source/what have you, and who doesn't have their head stuck up their own asses in conceit would honestly say that an autoconfiguration tool for the kernel is bad. Let's look at this objectively.
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.
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
that people understand precisely by messing with things they don't understand. In fact only for very unimportant things does anyone stand a chance of understanding prior to messing with.
Is this what the gnu-linux/opensource community is coming down to? Whether we should include a dialog box that says "Compile custom kernel... experts only!" ...that opens up the configurator screen? Because, aren't you the same people that resented the absence of such features on proprietary software packages not so long ago? Since when do we go around "not-selling-scissors-because-somebody-might-run-w ith-them"
I mean, I have no delusions of nix-guruhood, but I tinkered with linux and I built my own kernel, and it worked just fine, not because I needed to, but because arrogant *nix-users quipped "I compile daily!" to prove their *nix-hood. And when I was done, I was thoroughly disappointed with how little I actually got out if it, and how easy it actually was, but at least now I know what I could do to the kernel if I had to.
And you know what? If aunt-tilly accepts that she may bork her system if and when she checks that box, more power to her. I mean, for god's sakes, every windoze installer now has a "custom" install box, and you can still use uncertified drivers on XP if you really want to, and as others have said, nobody is stopping anybody from running regedit and borking their doze box.
Dialog boxes don't kill *nix-boxes, lusers do!
I have problems with Eric Raymond's scenarios. Forget about if it's a good idea to make it easy for anyone to build a custom kernel, my question is, why should you need to recompile the kernel just to install a device driver ? That's just stupid. Installable drivers, that's the way to go.
I mean should Aunt Millie be allowed to chop and channel her Chevy? Sure if she's up to it. That's what Linux is all about - a computer replacement for making hotrods. Not many Millies did this - but hey a few did I'm sure. More now-a-days than ever before.
Get out those torches and chop away!
I get paid by the hour
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 !
echo '[q]sa[ln0=aln80~Psnlbx]16isb572CCB9AE9DB03273snlbxq' |dc