SlackwareThis Forum is for the discussion of Slackware Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I am relatively a beginner at Linux, and I do know DOS very well, so I am hoping I can pick up on this too. ANYWAY. I am finding myself typing a lot of commands, but I really do not know what they do. I am just kinda typing blindly because it works. BUT when things go crazy (which they sometimes do) - It helps to know what the commands actually mean so the problem can be troubleshot.
For instance - when compiling the kernel, I type
make menuconfig (of course)
Now I think I understand that 'make' is having the OS run something similar to a DOS batch file... What what are all these batches doing (also please correct me if I am wrong!)
Another command that I am having trouble understanding is
I actually currently have a problem where I recompiled the kernel, and got a whole bunch of unresolved symbols, when depmod -a was run. I read somewhere on here, that if that happens to delete /lib/modules/2.4.18 and run make modules_install again. But because I don't understand what is happening, its very hard to troubleshoot.
I appreciate any and all help you folks can give me with this, also, is there a website, or a book out there, that outlines all this basic stuff, in BASIC terms, for the newbie???
Have a browse at The Linux Documentation Project and at http://www.gnu.org/ for info on the make command, look for Automake, Autoconf and GCC.
For compiling slackware kernels you can read about the system I use here.
With your unresolved symbols the problem could be that slackware 8.1 already uses kernel-2.4.18 and therefore already has a /lib/modules/2.4.18 directory populated with all the kernel modules from the slack install that are not going to play nice with the ones that you made, but don't delete them, back them up by renaming the directory to /lib/modules/2.4.18-these-are-the-old-modules (or something shorter like 2.4.18-old) then do make modules_install.
Aussie - I like the link you sent me at p-two... I was hoping you could elaborate a little bit for me on the last paragraph you mentioned. I am a newbie, so I don't quite understand what I did as it relates to what you are saying.
With your unresolved symbols the problem could be that slackware 8.1 already uses kernel-2.4.18 and therefore already has a /lib/modules/2.4.18 directory populated with all the kernel modules from the slack install that are not going to play nice with the ones that you made, but don't delete them, back them up by renaming the directory to /lib/modules/2.4.18-these-are-the-old-modules (or something shorter like 2.4.19-old) then do make modules_install.
You'll have modules in /lib/modules/2.4.18 that were installed when you installed slackware that don't match up with your custom kernel, normally when making a new kernel this is not a problem as most of the time you would be compiling an updated version and modules get installed to /lib/modules/<kernel-version>.
Well thats the problem - I haven't installed a new kernel. I am just modifying the one I currently have. I am still using 2.4.18. I am just taking obvious things out that I do not need. When I recompiled, I got the unresolved symbol errors.
ALSO - When you compile a kernel, is it actually building the selected modules in the /lib/modules/2.4.18 directory into the kernel???
When I recompiled, I got the unresolved symbol errors.
Thats the problem, some of the 2.4.18 modules in /lib/modules/2.4.18 are not working with your custom kernel because they were made with the stock kernel. Just because you de-selected some options when you did your kernel config dosn't mean the modules are going to vaporise from /lib/modules/2.4.18, you have to remove them from the equation first by re-naming /lib/modules/2.4.18 to something that is not /lib/modules/2.4.18 before you do "make modules_install".
>When you compile a kernel, is it actually building the selected modules in the /lib/modules/2.4.18 directory into the kernel???
The other way around. When you build and install the modules, it builds them in the /usr/src/linux tree and copies them to /lib/modules/<kern#>
When you make a custom kernel, with only the features you want and modules you want, you should edit /etc/rc.d/rc.modules and only load (modprobe) the modules that you use. There are what seems like hundreds of modules loaded by default in the slack installation - you should fix this. Also try deleting /lib/modules/2.4.18 before you make modules_install, who knows, maybe it's not cleaning up for you.
If I could add my 2 cents to the unresolved symbols problem... I noticed that he did a make modules and make modules_install, which should have cleaned out the modules directory and copy over all new ones. But did he install the new kernel? I would suspect he's booting the Slack default Kernel, with his new modules.