Topic: make problems
started by: Dark_Phoenix
Posted by Dark_Phoenix on Mar. 29 2008,22:51First, let me say I am new to linux and so far I love it.
I just installed DSL to an old Dell Inspiron 3000 ( HD Install ) and it runs faster now that it ever did with windows on it. Now I am trying to get my wireless card working, an EDIMAX EW-7108PCg that uses the RT2500 driver. So I downloaded that but when I try to compile it make gives me this error
I have not had any problems compiling other files so I assume that this is something specific with the RT2500 file.
Anyone have any ideas?
Posted by curaga on Mar. 30 2008,06:58It's a kernel module, so it wants at least the kernel headers, possibly full kernel sources.
The headers are in System, named as kernelsource.dsl. If it still complains, the full kernel source is at kernel.org.
Posted by Dark_Phoenix on Mar. 30 2008,13:31I already had installed kernelsource.dsl, so I went to kernel.org and downloaded the full source for the version kernel I am running, v2.4.26. That got it started, make 'config run' without a hitch. But when I run 'make all' the first command it issues is 'cc -D....' and gives the error
What am I missing here?
Posted by Juanito on Mar. 30 2008,13:57Is < this > any help?
i.e. I would guess you might need to mydsl-load gcc-2.95.dsl, load the dsl .config and make dep to prepare the kernel for your addtional module to compile properly.
Posted by curaga on Mar. 30 2008,14:14Oh yes. You need the same GCC version as the kernel was compiled with, 2.95. And link gcc-2.95 to cc so it can be found under that generic name.
Posted by Dark_Phoenix on Mar. 30 2008,14:46Let me just make sure I have everything I need here to build / install modules / drivers / apps ect.... I have installed the following extensions :
* linux-2.4.26 (from kernel.org)
is there anything else I need or any particular order that they have to be installed in?
(btw, if it matters, I have dsl-3.3 and kernel-2.4.26)
Posted by Juanito on Mar. 30 2008,15:08If you use the full kernel source, I don't think you need linux-kernel-headers.dsl or kernelsource.dsl and I also think you need to load gcc-2.95 last
Posted by Dark_Phoenix on Mar. 30 2008,15:41
Sorry to be a pest here, but I am still quite a noob with linux.
I noticed that the current version of DSL is using kernel-2.4.31, if I were to change to this version where can I find a lint of gcc versions to match the kernel?
And also, how would I link it to cc, would I create a symlink?
Posted by Juanito on Mar. 30 2008,16:01
Apart from needing the full 2.4.31 kernel sources and a different .config, I think the other stuff would work.
Something along the lines of:
Posted by curaga on Mar. 30 2008,16:19With a HD install having multiple kernels around is easy. If you are gonna compile a kernel while your at it, go for it!
Seriously, it's quite fun and a nice learning experience. Plus you can get additional performace and smaller ram & hd usage by customizing for your machine, and by compiling with a later gcc.
When I still had a DSL Hd install I made a custom kernel, the latest 2.4 at the time. So if you are going to do it, no reason to stay at 2.4.31, go for 18.104.22.168.
Posted by Dark_Phoenix on Mar. 30 2008,16:21Thanks for all the help.
I have a couple things I have to do, then I'll give this a try again. I'll let you know what happens.
Posted by curaga on Mar. 30 2008,16:26To summarize 2.4 kernel compiling along with DSL procedures and your rt2500 driver:
- unpack the wanted kernel to /usr/src/linux-2.4.xx. The directory is not set in stone, it's just a habit to have 2.4 kernelsource there (which these out-of-tree drivers follow btw)
- have gcc1-with-libs and gnu-utils installed, without gcc 2.95 for gains (re-add gcc1-with-libs to overwrite it and symlink cc to gcc)
- cd there and copy the base DSL .config there from kernelsource.dsl (to the root of the unpacked linux-2.4.xx directory)
Then just edit your bootloader to point to the new kernel, and your all set to reboot. If you chose grub, the file is /boot/grub/menu.lst.
After reboot you can compile the rt2500 driver (as it selects the running kernel on what to build for)
Posted by ^thehatsrule^ on Mar. 30 2008,18:29Make sure you build without SMP support, as iirc that's what causes the module to be incompatible with DSL (unless something was updated).
If you do require SMP, ndiswrapper is probably your best choice.
Posted by curaga on Mar. 30 2008,18:36Oh, was this *this* driver? Then you need to build your own kernel, as DSL has only SMP ones.
Posted by Dark_Phoenix on April 04 2008,17:26OK, My first attempt at compiling the kernel was a complete failure. I looked back at the above directions and I think I forgot to move the .config file over to the kernel root directory. I guess that this file determines which options in 'make menuconfig' are defaulted to on or off. I did not know what half of those options were so I just lef tthem as the default, but I noticed that most of them were defaulted to no.
I'll move the .config file over and try again.
Posted by ^thehatsrule^ on April 04 2008,17:59It defaults to defconfig in [...]/arch/i386
If you use menuconfig, you can choose which config to load in the menu.
Posted by Dark_Phoenix on April 05 2008,14:06Well, I got a (mostly) successful build this time. Only problem is that before my NIC card worked without me having to do anything, now the lights do not even come on. when I reboot I get an error
Other than the above and my NIC not working everything seems to be working ok
My NIC uses the Realtek RTL-8139 (which I made sure to include in menuconfig) so I am not sure what is going on there.
Any ideas how I can clear up these issues?
Posted by lucky13 on April 05 2008,14:39Start at the beginning because I'm not clear what you've actually done. Did you go ahead and rebuild 2.4.26? Or did you go ahead with a newer kernel? If you compiled a newer kernel, you need to update your boot configuration so it loads the newer kernel (it shouldn't be looking in .../2.4.26); it should load the old one if you didn't make any other changes. That means GRUB menu.lst or lilo.conf (plus run lilo), the initrd, system.map, etc. I think the issue lies in that area because it's not finding the modules.
Posted by curaga on April 05 2008,16:19Or you compiled usb and ide-cd in instead of modules..
The RDSP error means you have a buggy bios - add acpi=off to your boot arguments to get rid of it.