Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum. |
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.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
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.
|
 |
03-08-2006, 01:05 AM
|
#1
|
LQ Newbie
Registered: Mar 2006
Posts: 14
Rep:
|
Cannot 'make' in madwifi directory
Iam currently trying to use madwifi to get my DWL-G10 wireless card to work. When I try to use make in the directory where madwifi, is, though, I get this error message:
Makefile.inc:124: *** KERNELCONF: /lib/modules/2.6.13-15-default/build/.config does not exist.. Stop.
I've been doing reading on the internet for a couple hours, but I still don't really understand what the message means, or what to do about it. I apologize if the question has been asked before, but this is my first time using Linux, and I'm still learning the ropes.
Any help or pointers would be greatly appreciated!
|
|
|
03-08-2006, 02:32 AM
|
#2
|
Member
Registered: Aug 2003
Location: Montpellier, France, Europe, World, Solar System
Distribution: Debian Sarge, Fedora core 5 (i386 and x86_64)
Posts: 262
Rep:
|
Do your have your kernell source available ?
|
|
|
03-08-2006, 11:05 AM
|
#3
|
LQ Newbie
Registered: Mar 2006
Posts: 14
Original Poster
Rep:
|
Quote:
Originally Posted by zeitounator
Do your have your kernell source available ?
|
How do you know if your kernel source is available? I'm not even sure where to look.
Edit: I went into Yast and downloaded packages labeled 'kernel-source', but I still cannot use make. What else do I need to do?
Last edited by Katlyn; 03-08-2006 at 03:28 PM.
|
|
|
03-09-2006, 08:02 PM
|
#4
|
LQ Newbie
Registered: Mar 2006
Posts: 14
Original Poster
Rep:
|
Okay, I've been reading, and this is what I think I've learned. Please tell me if I'm heading in the right direction at all.
a) In order to use 'make', I have to be able to access the config files for my kernel source
b) I checked my directories where I *think* my kernel sources should be. The .conf file does not exist
c) In order to create the configuration file, I need to rebuild my kernel
Am I correct? Do I really need to rebuild my kernel? Because, quite frankly, I've had Linux for about 2 days, and I'm terrified to build the kernel, because I'm pretty likely to just break everything.
What do the kernel source files look like? I went into Yast and downloaded them, but I don't know where exactly they are, or if they're configured or anything. If they aren't, is there a way I can configure them without rebuilding the kernel?
Any answers at all would be greatly appreciated.
|
|
|
03-10-2006, 01:45 AM
|
#5
|
LQ Newbie
Registered: Mar 2006
Posts: 14
Original Poster
Rep:
|
Okay, so I went back into Yast and updated my kernel. Now 'make' will run just fine. When I went to 'make install' it asked me if I wanted to remove modules from previous installations - I said yes. This seemed to go well too. But when I type in 'modprobe ath_pci' I get this error: FATAL: Module ath_pci not found.
::headdesk:: I just seem to run into more and more problems.
Edit: I went into the directory where ath_pci should be, and it isn't there. So I'm assuming I need to install that module, but I'm not really sure how to. Any pointers?
Last edited by Katlyn; 03-10-2006 at 01:59 AM.
|
|
|
03-10-2006, 02:16 AM
|
#6
|
LQ Newbie
Registered: Mar 2006
Posts: 14
Original Poster
Rep:
|
This is my output from 'make install'
h scripts/find-madwifi-modules.sh /lib/modules/2.6.13-15.8-default
for i in ./ath_hal ./net80211 ath_rate/sample ./ath; do \
make -C $i install || exit 1; \
done
make[1]: Entering directory `/home/katlyn-kun/madwifi-ng/ath_hal'
test -d //usr/share/modules/versions:/usr/share/modules/modulefiles || mkdir -p //usr/share/modules/versions:/usr/share/modules/modulefiles
strip -S ath_hal.ko
cp ath_hal.ko //usr/share/modules/versions:/usr/share/modules/modulefiles
make[1]: Leaving directory `/home/katlyn-kun/madwifi-ng/ath_hal'
make[1]: Entering directory `/home/katlyn-kun/madwifi-ng/net80211'
test -d //usr/share/modules/versions:/usr/share/modules/modulefiles || mkdir -p //usr/share/modules/versions:/usr/share/modules/modulefiles
for i in wlan.o wlan_wep.o wlan_tkip.o wlan_ccmp.o wlan_acl.o wlan_xauth.o wlan_scan_sta.o wlan_scan_ap.o; do \
f=`basename $i .o`; \
strip -S $f.ko; \
cp $f.ko //usr/share/modules/versions:/usr/share/modules/modulefiles; \
done
make[1]: Leaving directory `/home/katlyn-kun/madwifi-ng/net80211'
make[1]: Entering directory `/home/katlyn-kun/madwifi-ng/ath_rate/sample'
test -d //usr/share/modules/versions:/usr/share/modules/modulefiles || mkdir -p //usr/share/modules/versions:/usr/share/modules/modulefiles
strip -S ath_rate_sample.ko
cp ath_rate_sample.ko //usr/share/modules/versions:/usr/share/modules/modulefiles
make[1]: Leaving directory `/home/katlyn-kun/madwifi-ng/ath_rate/sample'
make[1]: Entering directory `/home/katlyn-kun/madwifi-ng/ath'
test -d //usr/share/modules/versions:/usr/share/modules/modulefiles || mkdir -p //usr/share/modules/versions:/usr/share/modules/modulefiles
strip -S ath_pci.ko
cp ath_pci.ko //usr/share/modules/versions:/usr/share/modules/modulefiles
make[1]: Leaving directory `/home/katlyn-kun/madwifi-ng/ath'
(export MODULEPATH=/usr/share/modules/versions:/usr/share/modules/modulefiles; /sbin/depmod -ae)
make -C ./tools install || exit 1
make[1]: Entering directory `/home/katlyn-kun/madwifi-ng/tools'
install -d /usr/local/bin
for i in athstats 80211stats athkey athchans athctrl athdebug 80211debug wlanconfig; do \
install $i /usr/local/bin/$i; \
strip /usr/local/bin/$i; \
done
install -d /usr/local/man/man8
install -m 0644 man/*.8 /usr/local/man/man8
make[1]: Leaving directory `/home/katlyn-kun/madwifi-ng/tools'
|
|
|
03-10-2006, 02:23 AM
|
#7
|
LQ Newbie
Registered: Mar 2006
Posts: 14
Original Poster
Rep:
|
I've checked the directories
/usr/share/modules/versions:/usr/share/modules/modulefiles
and my madwifi directory, they both have pci_ath in them! And from the the make install log, it looks like the modulepath is pointing to the right directory. So what's going on?
|
|
|
03-10-2006, 03:06 AM
|
#8
|
Senior Member
Registered: May 2004
Location: Leipzig/Germany
Distribution: Arch
Posts: 1,687
Rep:
|
Did you run "depmod -a" ? to update the modules dependency info?
But I fear this will still not work, because:
The file .config in the kernel source directory (/usr/src/linux) exists only after you at least have run the configuration part for the kernel.
Then this file is present - and your madwifi... will build - because the check it does is successful.
Since you build a kernel-module to be inserted into the running kernel, this module needs to "fit" the currently running kernel.
It was built against the kernel-source you have - but probably does not "fit" the currently running kernel, that is why inserting it will fail.
You need to be running the kernel which you built your madwifi module for.
That means: build it, install it, boot it - then check if your module still does not work.
Hint: install it by adding it to your bootloader under a distinct name. Do not replace your current kernel-image with the one you are going to build.
This way you still can boot your old kernel, in case the new one is not working as expected.
|
|
|
03-10-2006, 03:24 AM
|
#9
|
LQ Newbie
Registered: Mar 2006
Posts: 14
Original Poster
Rep:
|
Quote:
Originally Posted by jomen
Did you run "depmod -a" ? to update the modules dependency info?
But I fear this will still not work, because:
The file .config in the kernel source directory (/usr/src/linux) exists only after you at least have run the configuration part for the kernel.
Then this file is present - and your madwifi... will build - because the check it does is successful.
Since you build a kernel-module to be inserted into the running kernel, this module needs to "fit" the currently running kernel.
It was built against the kernel-source you have - but probably does not "fit" the currently running kernel, that is why inserting it will fail.
You need to be running the kernel which you built your madwifi module for.
That means: build it, install it, boot it - then check if your module still does not work.
Hint: install it by adding it to your bootloader under a distinct name. Do not replace your current kernel-image with the one you are going to build.
This way you still can boot your old kernel, in case the new one is not working as expected.
|
I did run depmod -a, it didn't make a difference.
I am confused about the rest of what you wrote - do I need to rebuild madwifi or the kernel?
I don't know if it helps clarify the situation any farther, but 'lsmod' does not show ath_pci. (I'm not sure if it's supposed to, though!)
Thank you so much for replying!
|
|
|
03-10-2006, 03:36 AM
|
#10
|
Senior Member
Registered: May 2004
Location: Leipzig/Germany
Distribution: Arch
Posts: 1,687
Rep:
|
First the kernel - then madwifi.
Not just rebuild - but also run it...
About the last hint: the kernel image is usually called bzImage or vmlinuz...
if you just copy the new one - and the old one has the same name - you will end up with just the new one and no way to go back in case you need to, because the new one did not work, for instance.
|
|
|
03-10-2006, 07:26 PM
|
#11
|
LQ Newbie
Registered: Mar 2006
Posts: 14
Original Poster
Rep:
|
Quote:
Originally Posted by jomen
First the kernel - then madwifi.
Not just rebuild - but also run it...
About the last hint: the kernel image is usually called bzImage or vmlinuz...
if you just copy the new one - and the old one has the same name - you will end up with just the new one and no way to go back in case you need to, because the new one did not work, for instance.
|
Well.. I gave it my best, and tried to rebuild my kernel... I failed miserably. XD In the process, even though I attempted to back up my old configuration, I also screwed that up, so now I'm reinstalling...I think I will leave off rebuilding the kernel until I have a lot more Linux experience, the wireless card will just have to wait. Thank you for all your help though, and if you could point me towards any guides or books that I might not have come across yet that could help me learn more about Linux, I'd be very greatful.
|
|
|
03-11-2006, 03:44 AM
|
#12
|
Senior Member
Registered: May 2004
Location: Leipzig/Germany
Distribution: Arch
Posts: 1,687
Rep:
|
Some hints for your next try compiling the kernel:
If you can, start with the kernel-configuration you already have. Look for a file in /proc called config.gz
Code:
ls -l /proc/config.gz
If it is there, it contains the configuration used to build you currently running kernel.
This command will unpack this compressed file and put it to the kernel-source-directory and then you have a surely working starting point for your new kernel.
Code:
zcat /proc/config.gz > /usr/src/linux/.config
Then go there and run make menuconfig or make xconfig... and just look through the options that are enabled - to learn...but don't change anything.
Then build the kernel.
Code:
make
make modules_install
When finished building, the new kernel is in /usr/src/linux/arch/i386/boot/bzImage
Copy this file to /boot - where your working kernel already is.
Code:
cp /usr/src/linux/arch/i386/boot/bzImage /boot/my_new_kernel
then your new kernel is in /boot and its name is my_new_kernel
Add another two lines to /boot/grub/menu.lst - take the lines already there as a reference and change just the name of the kernel to the one you gave it.
like this:
Code:
...
title=the_old_and_working_one
kernel /the_name_it_has root=/dev/hda3
title=the_new_one
kernel /my_new_kernel root=/dev/hda3
The "/dev/hda3" is just an example - might be different for you - I just took my configuration and pasted it here...
Now you can boot the old or the new one - if the new one does not work - you still have the old one.
To back up your old and working configuration before you change anything do:
Code:
cp -a /boot/grub/menu.lst /boot/grub/menu.lst-backup
--> to copy the grub config to menu.lst-backup
Also copy the kernel configuration - if it was there - to a place you will find it again:
Code:
cp /usr/src/linux/.config /root/
This way you can safely mess up a thousand kernel compiles - and still have the first and working kernel available to boot your system and try again - no need to reinstall every time you miss something when you configure the kernel.
|
|
|
All times are GMT -5. The time now is 06:49 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|