make problems


Forum: System
Topic: make problems
started by: Dark_Phoenix

Posted by Dark_Phoenix on Mar. 29 2008,22:51
First, 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
Code Sample

Makefile:154: /lib/modules/2.4.26/build/Rules.make: No such file or directory
make: *** No rule to make target '/lib/modules/2.4.26/build/Rules.make'

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:58
It'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:31
I 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
Code Sample
make: cc: Command not found
make: *** [rtmp_main.o] error 127
I googled around and found a threat that said that make will use cc if gcc is not present, but I had already installed 'gcc1-with-libs.dsl'

What am I missing here?

Posted by Juanito on Mar. 30 2008,13:57
Is < 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:14
Oh 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:46
Let 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)
  * linux-kernel-headers.dsl
  * kernelsource.dsl
  * gcc-2.95.dsl
  * gcc1-with-libs.dsl
  * gnu-utils.dsl

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:08
If 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
Quote (curaga @ Mar. 30 2008,09:14)
Oh 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.

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
Quote
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?

Apart from needing the full 2.4.31 kernel sources and a different .config, I think the other stuff would work.

Quote
And also, how would I link it to cc, would I create a symlink?

Something along the lines of:
Code Sample
$ sudo ln -s /usr/bin/gcc-2.95 /usr/bin/cc

Posted by curaga on Mar. 30 2008,16:19
With 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 2.4.36.2.

Posted by Dark_Phoenix on Mar. 30 2008,16:21
Thanks 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:26
To 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)
Quote
make menuconfig
make dep
make bzImage modules
sudo make modules_install
At the first step you will get to the configuration utility; you can select all parts in, out, or as a module, and get a description of each. First go to processor settings and set the cpu type to yours; this will get you the largest speed gains. Then drop a multitude of drivers not needed to save space :)

Quote
sudo cp arch/i386/boot/bzImage /boot/mykernel


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:29
Make 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:36
Oh, 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:26
OK, 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:59
It 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:06
Well, 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
Code Sample
Unable to locate RSDP
and some insmod commands that fail
Code Sample
insmod: /lib/modules/2.4.26/kernel/drivers/usb/usbcore.o: No such file or directory
insmod: insmod /lib/modules/2.4.26/kernel/drivers/usb/usbcore.o failed
insmod: insmod hid failed
insmod: /lib/modules/2.4.26/kernel/drivers/input/input.o: No such file or directory
insmod: insmod /lib/modules/2.4.26/kernel/drivers/input/input.o failed
insmod: insmod mousedev failed
insmod: /lib/modules/2.4.26/kernel/drivers/ide/ide-cd.o: No such file or directory
insmod: insmod: insmod ide-cd failed

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:39
Start 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:19
Or 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.

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.