Find the answer to your Linux question:
Results 1 to 10 of 10
This is my second day with Linux (posting from Windows XP) and I'm trying to install a program called DriverLoader so that I can use my Windows driver for my ...
  1. #1
    Just Joined!
    Join Date
    Mar 2007
    Posts
    6

    Installing "kernel source and compiler packages"

    This is my second day with Linux (posting from Windows XP) and I'm trying to install a program called DriverLoader so that I can use my Windows driver for my WAN card on my Linux machine. When I typed "dpkg -i" with the .deb file of DriverLoader, it failed. The relevant text is:
    "First, ensure that the proper kernel source and compiler packages from your distribution vendor and/or the community are installed."
    With a bit of looking around I realized that my /usr/src/ directory is empty.

    What exactly do I need to do? Can I just get a kernel source from kernel.org, and how do I install it? Would the "compiler packages" come with the source?

  2. #2
    Linux Guru bryansmith's Avatar
    Join Date
    Nov 2004
    Location
    /Ontario/Canada
    Posts
    2,621
    The packages you want to install here are kernel-source and build-essential. You can install these with apt.

    In case you don't know how to use apt, issue the following at the command line:
    Code:
    su
    <Enter your root password>
    apt-get update
    apt-get install kernel-source build-essential
    Here is an apt how-to that would really be worth a look over. Enjoy!
    Looking for a distro? Look here.
    "There can be no doubt that all our knowledge begins with experience." - Immanuel Kant (Critique of Pure Reason)
    Queen's University - Arts and Science 2008 (Sociology)
    Registered Linux User #386147.

  3. #3
    Just Joined!
    Join Date
    Mar 2007
    Posts
    6
    Thanks for your reply.

    I typed in the commands you suggested, and after I typed in the second, it told me I should "explicitly select" a version to install, preceded by a list of options. So I tried it again:
    Code:
    apt-get install kernel-source-2.6.8 build-essential
    And after being asked to insert a couple of my Debian CDs, it came to a prompt:
    "Where is the linux source build directory that matches your running kernel? [/usr/src/linux]"
    I pressed enter and it gave me the same error as before:
    "WARNING: missing file /usr/src/linux/include/linux/autoconf.h"

    One thing I did notice, though, is that now theres a kernel-source-2.6.8.tar.bz2 file in the /usr/src/ directory. Do I need to manually decompress it or something?

    Edit: I tried bunzipping and extracting the kernel-source that was put in the /usr/src/ directory, renamed it linux, and it still cannot find /usr/src/linux/include/linux/autoconf.h, even though there is now a /usr/src/linux/include/linux directory. I also tried deleting everything in /usr/src/ and installing the latest kernel source I could find from kernel.org (linux-2.6.20.2.tar.bz2), but I still have the same problem. Am I totally missing some important concept here?

  4. #4
    Just Joined!
    Join Date
    Mar 2007
    Posts
    6
    I still can't get it to work. To recap on the problem:
    I was trying to install a program called DriverLoader, and it failed because my /usr/src/ directory was empty.
    I installed the kernel source into /usr/src/linux, but there's no conf.h file, so it still doesn't work. I tried "make menuconfig" but that fails before I get any prompts with a bunch of errors (enough errors that my console can't scroll to the top of them).

    So, as I understand it, I can't really install anything that needs to be compiled (not sure about "anything" or even if it's just the ones to be compiled) until I correctly setup my kernel source, which I can't figure out how to do.

  5. #5
    Linux Guru bryansmith's Avatar
    Join Date
    Nov 2004
    Location
    /Ontario/Canada
    Posts
    2,621
    Installing the kernel source should install the kernel source in its appropriate directories.

    Have you tried the install guide on the linuxant website: http://www.linuxant.com/driverloader...9144b2dd7bd73c
    Looking for a distro? Look here.
    "There can be no doubt that all our knowledge begins with experience." - Immanuel Kant (Critique of Pure Reason)
    Queen's University - Arts and Science 2008 (Sociology)
    Registered Linux User #386147.

  6. #6
    Just Joined!
    Join Date
    Mar 2007
    Posts
    6
    Yes, and with every command I use related to installing it, I get an error related to "WARNING: missing file /usr/src/linux/include/linux/autoconf.h".
    I think perhaps I messed something up somewhere and need to clean it up. Here's an example of what I'm getting (eg. why does it show stuff about driverloader here):
    Code:
    Debian-1:/# dldrconfig
    Linuxant DriverLoader for Wireless LAN devices, version 2.36
    
    No pre-built modules for: Debian-3.1 linux-2.4.27-speakup i686
    
    Trying to automatically build the driver modules...
    (this requires a C compiler and proper kernel sources to be installed)
    
    Where is the linux source build directory that matches your running kernel?
    [/usr/src/linux/]/usr/src/linux/
    
    WARNING: missing file /usr/src/linux/include/linux/autoconf.h
    The cause of this is usually a missing or unconfigured kernel source tree (and sometimes an incorrect directory or symbolic link).
    
    However, proper /boot/config-2.4.27-speakup was found.
    Would you like to try using it (in a temporary kernel tree)? [yes]yes
    
    Unable to prepare temporary kernel tree
    
    First, ensure that the proper kernel source and compiler packages from your distribution vendor and/or the community are installed.
    
    The Linux kernel can then be reconfigured by running "make menuconfig" under the kernel source directory (usually /usr/src/linux).
    
    Verify that the proper options for your system are selected.
    
    Then compile and install your new kernel (for more information about this procedur, see the README file under the kernel source directory), reboot the system using the new kernel, and re-run "dldrconfig".
    I'm hoping that my problem will be obvious enough to someone with Linux experience once they see this post, and I have a feeling it is just some simple thing I'll feel stupid about later. If not, then I'll try some more drastic measures.

  7. #7
    Linux Enthusiast
    Join Date
    Aug 2006
    Posts
    631
    The source code for many driver modules requires access to the kernel source code or the kernel headers during the compilation process.
    Make sure to install the files that matches the kernel you're running.
    First check the version with uname -r.
    To install the files if your version is 2.6.8:

    Code:
    apt-get install kernel-headers-2.6.8-1-386
    for the kernel-headers and:

    Code:
    apt-get install kernel-source-2.6.8
    for the kernel-source.

    Note that this installs a single BZIP file of the source code into the /usr/src directory.
    First unbzip it with the command:

    Code:
    bunzip2 kernel-source-2.4.27.tar.bz2
    Then untar it with:

    Code:
    tar -xvf kernel-source-2.4.27.tar
    You can delete the .tar file after the extraction.


    Regards

  8. #8
    Linux Guru bryansmith's Avatar
    Join Date
    Nov 2004
    Location
    /Ontario/Canada
    Posts
    2,621
    You could also extract it in one command:
    Code:
    tar -xjvf <archive name>
    Looking for a distro? Look here.
    "There can be no doubt that all our knowledge begins with experience." - Immanuel Kant (Critique of Pure Reason)
    Queen's University - Arts and Science 2008 (Sociology)
    Registered Linux User #386147.

  9. #9
    Just Joined!
    Join Date
    Mar 2007
    Posts
    6
    Thank you for your patience.
    After installing the kernel headers and source, I tried to install driverloader again, and it worked (as far as I know).

    One thing that is weird, though, is that it only works when, in response to this prompt:
    Code:
    Where is the linux source build directory that matches your running kernel?[/usr/src/linux]
    I give the directory of my kernel headers (/usr/src/kernel-headers-2.4.27-speakup). It does not work if I give the directory of the kernel source (/usr/src/kernel-source-2.4.27).
    Is this normal or did I do something wrong? Also, do I need to use "make xconfig" to configure my source or is this just for compiling a new kernel?

  10. #10
    Linux Enthusiast
    Join Date
    Aug 2006
    Posts
    631
    It seems that the driver needs a link to /usr/scr/linux.
    Do you have a directory .usr/scr/linux (symbolic link to your source directory)?
    If you don't try to make a symbolic link to it:

    Code:
    ln -s /usr/src/kernel-headers-2.4.27-speakup /usr/src/linux
    Regards

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •