SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
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.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
alright i have found about 20 or so articles on how to compile a new kernel, with all the source code and what not...but i dled it and then went to set up my config file using 'make xconfig', and this is what I get...
Makefile:254: arch/i386/Makefile: No such file or directory
make: *** No rule to make target `arch/i386/Makefile'. Stop.
am i missing somethign here??? i have read through all of the how-to's that i can find and still have not been able to figure it out....since i am logged in as root i dont want to do something that might mess up my system. Any help is appreciated.
See the thing is i didnt do anythign at all, i read the how-to's and the first step after decompressing the bz2 is to run 'make menuconfig', or 'make xconfig' I am going on what the text is telling me, this is my first time compiling the kernel, so i couldnt be more specific then telling you that i decompressed and then tried to configure the kernel options using 'make xconfig' and then i recieved that error. I dont have the faintest idea what the hell it means and I wass hoping that someone with a little experience could help guide me along on this one...
Which should create a new directory named on whatever kernel you downloaded. Then you should have a link already present named linux. Follow these steps.
rm -rf /usr/src/linux
ln -s /usr/src/your-new-kernel-dir /usr/src/linux
cd /usr/src/linux
And now do a:
make xconfig
And see if it starts the configuration, and if that doesn't work try make menuconfig.
From what your describing, you never indicated that you unpacked the tar.gz you downloaded.
I noticed today that kernel.org is now offering the source as bzip2 compressed files instead of the older gzip compressed files. Slack_kid indicated he downloaded a bz2 file that would be using the new compression. Most docs would be in reference to the prior gzipped tarballs.
The example here is for 2.4.20 kernel. When bzip2 then use
tar -xjvf linux-2.4.20.tar.bz2
Note the use of the lowercase J in the options to decompress the bz2 file and untar in one operation. If you want you can bunzip2 the file first and then use just the straight tar command to extract. But the uncompressed tarball is 152 MBytes in size.
bunzip2 linux-2.4.20.tar.bz2
tar -xvf linux-2.4.20.tar
Also, if you use the second method your original downloaded bz2 file will be deleted by using the bunzip2 command. Use the -k option if you wish to retain the original file.
Follow through with tricky's commands.
Since this is also your first time, you might consider starting with your current config file. You can locate it on the install CD under the kernels directory with the stock kernel you are actually running. Usually kernels/bare.i. Copy the config file to the top of the source tree (/usr/src/linux) as .config and note the period in front of the filename. Since it looks like you might be changing kernel versions, you should also run "make oldconfig" and just answer the default (press Enter) on the new options.
I had the same problem. My download was somehow messed up, you might want to make sure you downloaded the entire thing. i was missing a few directors, including the one you listed.
For anyone still having problems compiling the Debian kernel, here is what I did after reading loads of articles and posts. My problem was that whenever I ran make menuconfig, I got an error saying "Unable to find the Ncurses libraries. You must have Ncurses installed in order to use make menuconfig'.
This if course was despite having ncurses..
Here's what I did:
1. apt-get install kernel-headers-2.4.18 (if it tells you there is no package, try chanigng your apt source - it does exist!)
2. apt-get install kernel-source-2.4.18
(If you can't apt-get these then you can download them at ftp.kernel.org or any of its regional mirrors).
3. If you apt-get them then great, otherwise, remember to download the files to /usr/src/ and then uncompress them.
4. apt-get gcc
5. apt-get install libncurses5-dev
OK now you should have everything installed that you need. Now for a bit of preparation:
6. Go to /usr/src and check if a linux directory exists (this would exist as a link to your previous kernel source if a compile had been run before in which case you shouldn't be reading this but developing excellent applications and tools for us newbies to use such as one that lets you magically configure your kernel just by typing "new kernel now please" [!]..)
7. If it exists, remove it by: rm -rf /usr/src/linux
8. Create a new link to your new kernel source, in my case I
typed: ln -s /usr/src/kernel-source-2.4.18 /usr/src/linux
9. cd into your linux directory: cd /usr/src/linux
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.