Helping Linux Newbies Move to the Next Level
NoWhere Man writes "PCWorld has a "here's how" article on how to get the most out of your Linux box. It's basically a very extensive and userfriendly step-by-step instruction on how to recompile your kernel to make it smaller and more compact." Kernel recompilation and optimization is old hat for experienced Linux people, but articles like this, especially in "non-Linux" publications, are necessary to help new Linux users become more adept. Kudos to PCWorld for running it!
I've been pretty defensive lately of the usability of linux. This is a pretty good step in that direction. We need more individuals making leaps like this.
Linux would be definitely easier to use if you could just have "massive" kernel, without modules, IMNSHO.
-- pending
> Linux would be definitely easier to use if you
> could just have "massive" kernel, without
> modules, IMNSHO
I'm not sure what you mean by this. How would everyday usage of Linux become easier with a monolithic kernel?
As for Linux adopting a monolithic kernel like the BSDs, the modularity of the Linux kernel was definitely a design feature, not an accident. By allowing you to load modules dynamically, you can keep the size of the kernel down (and extra complexity out of the kernel). If you really want, you could always recompile a kernel with _everything_ enabled.
I could be wrong, but I think that is what the generic kernels are for BSD. I know with OpenBSD one of the first things they recommend (man afterboot) is to recompile a kernel with only what you need.
Just my $.02
- Haplo
Let it be known to all Linux newbies that recompiling your kernel is just one part of many things you need to know. It is a very good thing to master, as is security.
I think another good idea for an article is "Not running all those unneccisary services."
This falls along the same lines of not having a bunch of un-needed crap in your kernel, and also takes care of some security issues.
Oh, by the way, lets not flame Linux newbies please. If there weren't newbies, there wouldn't be this huge crowd of Linux users.
Tyler
Recently a fairly young Windows user that I know wanted to install Linux on his 486 that he had laying around. I am quite happy to help new users if they need anything, but this kid could not understand that if you just read the documentation that comes with the distrobution, 9 times out of 10 you will be able to find what you need to accomplish your specific goal. I was bombarded with questions about how to configure this or that and even before that questions about the install procedure (even after telling him several times what it is like and to just go ahead with it). My point is some people, no matter how clearly spelled out something might be, cannot handle not having the computer do the work for you. I see it sort of like cars, the OS is the engine and the car is the PC. If the engine is already installed and the user learns to drive the car, everything is fine. Having a novice install a new engine however is a different case. Same thing with Linux or windows: a user who learns to use a computer which already has linux installed would do fine eventually. Perhaps what should happen is there should be a distiction between a box with power in it, where knowledge is required to run it and basically an idiot box which does not require knowledge and things like OS or command lines etc are not a concern.
If this makes any sense, I am glad... its 4 AM and I can't sleep so take that in mind.
_joshua_
Well, the article describes the process fairly well, that is a way to recompile the linux kernel. But it isn't enough to go through the steps with no understanding of what you're doing.
Maybe if you know what your hardware is, you can take out a few options, and end up with less total modules compiled and installed, and you'll end up with a leaner system. As in, Ooo, I just saved 10MB of valuable disk space. Big deal. You could have done that using 'rm' on some useless modules.
Maybe if you knew what you were doing, you could compile in something you always plan to be using as part of the kernel instead of as a module, and get some speed out of it instead. And maybe if you really knew something about egcs, you could change those silly default compiler options to something useful (-fno-strength-reduce often isn't necessary anymore, I hope!) and get some more performance gains. But this article wasn't about that.
Nope, to get any real speed-up in the kernel, you'd have to already know something, and this article assumes you don't. Why make newbies go through this process when it won't help them any? Either document the whole thing for those who *really* want to learn, or don't bother. But don't confuse the people you're trying to convert. They don't know -ffast-math from xcalc.
---
pb Reply rather than vaguely moderate me.
pb Reply or e-mail; don't vaguely moderate.
On a related note, has anybody seen that new magazine Maximum Linux? In my opinion it was nothing as good as it's parent Maximum PC. Some articles were Okay, but the interview was godawful dull, and a lot of the writing was pure palaver. One would expect more from them.
When I'm singing a ballad and a pair of underwear lands on my head, I hate that. It really kills the mood.
-Tom Jones
This might the appropriate topic to create a thread of comments/suggestions/ideas regarding a Linux help site that I want to start up. If this is the wrong place to do so, then I apologise.
:P) which would recommend certain HOWTO's/FAQ's based on their problem, before allowing them to submit a help request.
The design of this site would be centered around "users helping users". Those who feel adept in helping newbies could sign up as "helpers", where their particular skills and areas of expertise would be kept track of. Newbies in need of help could then fill in a form requesting for help, from which the system would match their particular problem with a suitable "helper" - who would be emailed their information.
Of course, to remove common questions, users would be taken through maybe some kind of Wizard (ick I hate that word
In effect, what would be created would be a large scale "help desk" system - however free for people to use.
The incentive for people to become "helpers" would be simple - the best helpers each month (derived from positive feedback from users) would revieve free hardware/software from sponsors of the site. I'm thinking people like VA, PenguinComputing, and Redhat could be suitable "sponsors".
Help requests and solutions would be recorded and put in some kind of Linux help knowledge base, which would be free to search.
I have confidence that (once above the ground) such a help system would really benefit the Linux community.
A) People could get personal help with their problems
B) Those who help would be rewarded from sponsors
C) Sponsors get exposure
D) People might feel easier about learning Linux is they knew a free help system existed.
Well, I hope that gives you guys enough of an idea as to what I would like to see. I am eager for constructive critisism/ideas/comments/questions for this idea.
cheers,
semis.
What's this "one wrong move may render the linux side of your machine inoperable"?
:-)
That's a huge assumption they're making, that anyone who uses linux is so attached to windows that he can't do without a windows "side". I almost offended.
If Linux is only one "side" of my box, I have a pretty darn lopsided box
But seriously, I have to take the time to say: 99% of the time, anyone who dual boots will never really learn linux. Things are easy to do in windows when that's what one's been brought up with. Until someone decides to take the plunge and go all linux, i would bet money that person is never going to do more than dabble in it. That's the way it was with me.
Jeremy
Looking for a Python IRC bot?
I come across this problem a *lot* with Macintosh users. Most seem to assume that you can use the system forever without ever removing extensions, or running a disk utility, or rebuilding the desktop file.
:)
But the plain truth is that OSes require maintainence. Some more than others, of course. (As I recall, there still are no disk utilities for BeOS, simply because the problem hasn't come up yet.) Anyway, nothing is worse than a computer-lab Mac with 400 extensions in it and a disk fragmented to hell, and the user asks, "Why does it crash?" It would be like a motorist asking, "Why won't it go?" after failing to change the oil for 8000 miles.
Anyway. Eventually we'll get to the stage where no OSes ever require maintainence, or we'll get to the point where computer users are smart enough to realize that they do, and stop expecting miracles.
Now moderate me down for being off-topic, and off-OS.
- James Schend
Comment of the year
I remember being quite lost when I started using Linux. Recompiling the kernel for the first time scared the hell outta me. (It would've been better had I known about 'make menuconfig' or even 'make xconfig', which this article covers.) I definitely agree this sort of article is needed, even though the requisite information is doubtless available from already existing sources (like the linux/Documentation directory).
There are a few points which could've definitely used improvement. For one thing, the article's quite biased toward Red Hat. Understandable, as it's a choice for many who are new to Linux, but still there could be mention of other ways of doing things--to satisfy curious gurus-to-be, at the very least.
Along the lines of edification, perhaps some more detail could have been given for the hows and wherefores of using certain commands. Since this article seemed to use RH as a basis, perhaps some explanation on what exactly that ugly rpm command was doing would be in order. To their credit, though, they did have links to related articles.
Finally, I think some newbies could benefit from information on gathering more information for themselves about the Linux kernel--further reading, to be specific. Every kernel hacker starts somewhere, and a mention of the linux/Documentation directory (at the very least) would be helpful to those wishing to learn the art.
Thanks to PCWorld for this article--though it might not explain everything, at the very least it can help with the intimidating process of customizing one's kernel.
-W-
Is it all journey, or is there landfall?
--Ellison & van Vogt, 'The Human Operators'
Although the article seems to be positive towards Linux, I did notice that CNN, in the related subjects links on the bottom of the article, links to an article on the government cracking down on internet criminals. Freudian slip?
Interesting article (I find it useful actually because I'm just showing a Linux newbie around and I really don't feel like explaining every single thing to him. Often one doesn't know where to start though :).
I found it a little sad that it was rather Red Hat-biased at some points (like talking about installing the new kernel using RPM). I wonder though, how easy it for authors of articles such as this one to make their articles fully independent from any distribution specifics. It's rather sad to see how many articles talk about "Linux" in the header but when you look at the article itself are really about "Distribution XYZ". :/. Ah well, I guess that's the cost one pays for having all these distros flying around.
I'm relatively new to Linux but I'm not new to computers and I can tell you that the last thing a person, any person, should have to do is recompile any kind of code to get something working. Just because you can recompile the kernel doesn't mean it's desirable. In fact, it's a boring hassle.
I, for one, am pretty sick of all the fiddling that has to go on to get something working in Linux, Windoze or any other OS I've seen.
Is anything better possible?
This is good to see. It was only last week that I was trying to take a Linux newbie through the kernel compilation experience on IRC. Now I have a great URL that I can get him to RTFM... :)
Okay, this may very well be a nice set of
instructions for recompiling your kernel,
but the stated reasons for doing so strike
me as completely insane. The idea that you're
going to get some kind of noticeable performance
boost by tuning up your kernel is pretty
ridiculous. You've really got to have some
pretty specific needs to want to do this.
Me, I recompile my kernels to include support
for an old SCSI card, and I'm actually
beginning think that even this is nutty:
I should just replace the damn card with
something supported by default.
This article is just like the typical "How to optimise Windows" articles.
It assumes that all you can do to an OS is optimise bits of it and that the "power" of Linux is simply it's speed. The benefits of doing what this article suggests are negligible. The only real reason for users to do this is to fix bugs.
At *best* this article is dangerous; It tells users to change the default linux entry in lilo.conf rather than add an additional entry.
They'd be much better focusing on how to use things like cron and shell scripting.
Deleted
They are a bit braver than I though. If I compile a new kernel, I first copy the kernel to a floppy disk, boot from the floppy disk, check if the important things still appear to work (vi, ppp, telnet, perl, mail, and news - nothing else is really important) and only then I tell lilo about the job I did.
-- Abigail
Read my plan to save the Bengals
As a Linux newbie, I first saw this article on linux.com on Saturday. It has proved VERY helpful. I had tried to recompile/compile kernels before, but I had always gotten errors, or something went wrong. But, I had finally recompiled my kernel on Saturday night (he, 16 and compiling a kernel on a Saturday night, scary :-) and with that success, I tried to compile the latest kernel. Unfortunatly, I still haven't gotten that to work because at bootup, it says VFS is unable to mount the root fs. I'm not sure what's wrong, but it's fun to try to figure it out. Anyway, I really liked this article, and found it extremely helpful.
I noticed some errors in the article.
typing tar filename.tar.gz isn't going to do anything but give you a bunch of error messages.
You don't need to go and have a snack while you are compiling your kernel. Linux is a multitasking operating system. You can do something else while the kernel compile is going on. Why do you have to shut everything down first. Fine, if you're really really low on memory, getting out of star office and X will speed up your kernel compile, but if you've got enough memory (64MB) then it won't make that much difference.
-- Hulver's site
I didn't read the article extremely carefully (I already know how to compile a kernel), but was there any mention about copying over the system map? If this isn't done, sometimes the results can be very bad.
that they put Linux oriented "how-to" articles in, that can only boost circulation (and also how much they can charge for adverts) - there will probably always a vocal minority of people, a 'niche' market, of folks who love to 'do it yourself', like home depot weekend carpenters - why spend a lot of time getting blueprints, buying lumber, pouring 'crete, etc to build a back deck yourself (Linux) when you can just pay an experienced contractor to do it for you (Windows)? Because you can! Some folks have the time and talent and looking for a tech challenge. There will always be a minority of people who love to learn by experimenting and trying things out, exploring (colloquially called 'hacking'). Anyway, the point is there WILL be people who get their Linux up and running and will be jonsing for articles and software to feed it.
Chuck
try { do() || do_not(); } catch (JediException err) { yoda(err); }
It's unfortunate that marketing has produced a breed of wannabe's that have no idea how to make a real OS function. Point and click...that's all they know.
Consider a users that doesn't know the difference between RAM ROM and hd space: doi you really think it is a good idea for someone like that to compile a kernel?
send flames > /dev/null
Only 'flamers' flame!
The best way to get newbies to the next level is to keep them using it after college. All the evidence points to very transient usage. They pick it up in college and give it up when they start working so we have a user base which is primarily interested in starting the basic operating system and trying out different distributions but rarely getting to the point of actually doing anything with it.
i've been using linux since the 1.x kernels, and i must say that there is nothing quite like a nicely tuned monolithic kernel.
aure, modules are slick and cut down the size of the kernel, but i still think it's a good idea to compile all "necessary" stuff into the kernel (like ethernet, mouse) and never have to fuss with it again.
just my $0.02
A year spent in artificial intelligence is enough to make one believe in God.
i had to laugh at the absence of dd, rdev, and tarball kernel source.
A year spent in artificial intelligence is enough to make one believe in God.
It seems that Linux's fdisk still has the 7.8 GB allocation barrier. Partition Magic 4 can handle bigger partitions quite well, but I don't have Windows on my computer for 4 years now, only Linux and I don't want Windows to scr3w things up. Has anyone sucessfully made ext2 partitions bigger than 7.8 GB with Linux's fdisk?
Then you can actually get work done, while compiling dorks flame you while working ON their computers instead of getting worked done WITH them. I like to use my tools, not build/fix/tweak them.
Linux documentation is _very_ confusing. I'm not a 'normal' win. user, I used to write programs with turbo pascal 6 for DOS, and now I write a lot of CGI stuff, and some C++; maybe the reason I'm not using linux is because here (Buenos Aires) we didn't have good internet until 2 years ago, so I got used to windows. But I _can't_ read those "man pages". They are very confusing, log, with no examples. HOWTOs are fine, but if I want to do something different, I don't know where to consult.
When I was learning Perl, a friend of mine gave me one of those O'Relly (or something) books, and I was like the logenst book I've ever see. I like a good book, but I don't want to go through 100000000 pages just to get some data from a <form>, and open a text file.. I culdn't find a decent Perl tutorial on the net, and the perl man page is _very_ long and confusing, with no examples (I found an HTML formatted perl man page, but it's still no good).
Maybe I understand man pages now better that 1 year ago (when I installed the first FreeBSD), but it's still not good..
Imagine a normal Windows user..
--
Stay tuned for some shock and awe coming right up after this messages!
A lot of users install Linux only to show-off, so they can tell the world that they have Linux on their computer (alongside Windows). I know a guy who always thinks he's great and knows it all, even though he can do nothing more than the basic commands of UNIX like cd, rm and things like that. He once asked me how to work with stick. I asked what he meant by that and he asked me back: "have you never used stick before?", putting a very arrogant face. I said uhh..dunno and he showed me the sticky function of a window manager. I then told him that it's sticky and that you can't say work with stick ! His head became red like a tomato.
Maybe with the horde of Gnome and KDE converted folks moving into the world of linux this will become less of a ritual of passing.
However, I have a perfectly well running linux box and I have yet to recompile the kernel. I put the sucker together last week and it rocks. Eventually I will have to recompile the kernel though for APM support. I don't care to. I would rather the damn install have had a laptop choice so I did not have to be bothered with it. I give newbies the simple advice of if it ain't broke don't try and tweak it without reason.
I will code and I will add things but I do so with a purpose. If you have the time to completely change your system around twice a week then you need to go and find yourself something better to do.
ACK
At the suggestion of this article, I took a look at my config, and I found that almost everything that's optional was dynamically linked anyway.
I have a PII processor. Do I want to change my processor type? I don't know. What does it buy me to change from 386 to PPro? Is it worth the trouble? I assume that 99% of people are running the default 386. Might there be some subtle kink in the PPro kernel that isn't as well tested? Hmmm.
There's all these little features that I can turn off. How much memory am I saving with each one? It would be nice to know. Is it worth it to turn off a dozen features to save 64k on my 64Mb box? Nope. What kind of gains can a typical user expect from a reconfig?
Last lick. Of course, It's useful to have a kitchen sink kernel so that people can boot it on random hardware, but once you've booted, Linux knows what's there, and writes a /var/log/dmesg file with all that useful and mysterious info about your very own system. How about a prog that takes this custom data and builds a lean Linux kernel config from it?
Just a Linux newbie here, saying thanks for linking to the occasional newbie-oriented Linux article. I already knew some of the stuff, didn't know other parts, but all in all a helpful article.
_Real_ men know that if your distribution designer did a quarter decent job then recompiling the kernel will bring under 1% performance improvement. See my article in the february issue of LG. Instead of losing time with this you should look instead at hdparms or powertweak that will bring a _far_ greater performance increase. And you should not accept a distribution with a half done kernel. Such distributions do much harms to Linux: it makes people look at Linux as a hackers tool instead of a system for _real_ work. jfm2@club-internet.fr
Just go to Slackware.com's forum. It's fun to hang around, help people, learn things, and even ask your own questions :-)
---
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
Thinking back on it, I was once a Linux newbie. But I had a 486 to fool around with. So guess how long it took to recompile that beast. And configuration was a mess! I blew it away, so does anyone know if they had menuconfig back in the 1.x kernels? That really would have helped me a lot if I had known.
Enough reflections. My two computers that run Linux run 2.2.12 and 2.2.13. I use menuconfig. I compile my kernel in 5 minutes. I have fun.
I was a bit distressed to see that the article left out modules. When I got RH6, I eventually got over my party over how great it was in comparison to a 3-4 year-old Slackware distro and got to recompiling my kernel. If they even had modules back in 1.x, I had never needed them because I had so little hardware. But now I have an ethernet card that likes to know its hardware address, a ppa Zip drive that I use so infrequently that it shouldn't remain in my kernel, and a few other things, so I started to think about how I could reduce my kernel size a bit. I saw these things called modules. Okay, got it, something that plugs into something else. Well huh. Why do I care, I asked myself. After parsing the kernel docs about modules a couple of times and then recompiling about ten times, not to mention crashing my poor computer to the point where the three-finger kick (that fourtunately tells init to bring the system down nicely) to fix it up. I finally figured modprobe out, and kerneld/kmod, and conf.modules, and /lib/modules/`uname -r`/ and depmod and all that stuff, but not without a lot of headaches. If this had not been during my summer break I would have forgot about the whole thing. In short, I could have used an introduction to modules like the article introduces kernel compiling.
Kernel compilation is one of the things that, at least for me, really separates Linux from Windows. In Windows, you get a kernel and a whole bunch of drivers that sort of plug into it but generally stay in their own everything-space and have more often than not been one factor causing it to crash. In Linux, I get complete control over exactly what goes into the most fundamental part of my computer, and I know what gets "plugged in", why, and where the stuff goes. I can put stuff in, take it out, tweak parameters with it without a restart, and, as usual, have fun. Linux gives me just the right mix of power to make it do whatever I want, to the point of changing how the core of my OS works, but at the same time the power to forget about it if I'm not in the mood. Most other stuff with Linux is like that. If you want to mess with it, you can, and you can do most anything you want with it, but if you don't want to mess with it, and you have a relatively normal configuration, you can just forget about it and get to work. Speaking of work, when are they going to have a Microsoft Word for Linux? StarOffice just isn't cutting it for me, although after working with emacs for a while, I appreciate its advanced features. Never mind; I see an ad for Applixware up at the top of my Netscape window. That's another thing that newbies could use: a good office suite bundled with the distribution. "They" should "standardize" the office suites for Linux and get one good, familiar, and cool office suite that is integrated as well as MS Office, retain full file-format compatibility with MS Office applications, and bundle it with every distribution pre-"installed". (I was puzzled to see that StarOffice actaully had an installer--RPMs work just fine for me. I know, not everybody has rpm.) You don't want to hear me talk about what else in Linux should be standardized. Believe me.
This is getting long, and people don't like long posts very much. Replace this sentence with a closing remark.
Kenneth Arnold
PS - I have homework to do. Don't make me feel like taking time away from it to write this was a waste of time.
PPS - Don't yell at me, but I'm getting really annoyed at Netscape and Slashdot. Netscape keeps crashing (twice today), and Slashdot has these huge tables that load up even if I don't want to see them. But I've found that the reduced mode reduces it too much for my tastes. Could we strike a balance?