I'm trying to install a newer kernel version on my Debian (squeeze) machine as I need it to get my wireless card working. I have Debian on one partition of my hard drive, Fedora on the other. I'm looking for SIMPLE instructions on how to do this which I cannot find anywhere on the net. Any help would be greatly appreciated! I'm even wondering if it is possible to copy the kernel across from one partition to the next?

3 Answers 3


Assuming you have a machine that is connected to the internet, and that apt is properly configured on your squeeze machine, you can do e.g.

apt-get install --print-uris linux-image-2.6.32

which will give you a list of urls for packages to install. Then you can use another machine to download them. On my machine, for example, this list starts with

'http://debian.csail.mit.edu/debian/pool/main/l/linux-2.6/linux-image-2.6.32-5-486_2.6.32-39_i386.deb' linux-image-2.6.32-5-486_2.6.32-39_i386.deb 27475516 MD5Sum:be5608eefba4b7180d91b7888abde8da

Then you can download the packages on another machine by doing (for example)

wget -c http://debian.csail.mit.edu/debian/pool/main/l/linux-2.6/linux-image-2.6.32-5-486_2.6.32-39_i386.deb

Then copy them to your Debian machine. Then do

dpkg -i linux-image-2.6.32-5-486_2.6.32-39_i386.deb pkg2.deb pkg3.deb...

You need to give all the package files as arguments.

If you see errors, try running this command again. Sometimes dpkg, when called with a list of packages which are dependent on each other, has trouble with dependency resolution. If it still doesn't work, try

apt-get -f install

which will try to resolve your dependencies.

An alternative is gdebi

apt-cache show gdebi

Description: Simple tool to install deb files - GNOME GUI gdebi lets you install local deb packages resolving and installing its dependencies. apt does the same, but only for remote (http, ftp) located packages.

Current versions of apt support the installation of deb files, and handle dependency resolution for them. So one can do, instead

apt-get install ./linux-image-2.6.32-5-486_2.6.32-39_i386.deb ./pkg2.deb ./pkg3.deb...

One needs to specify the location of the deb files, here, hence the ./, which of course means current directory here.

  • on my debian machine that is not connected to the internet the --print-uris command finds nothing. how will it know what packages it needs if its not connected to the internet?
    – james
    Dec 18, 2011 at 15:45
  • @james: It uses the apt cache if present, but this does assume that it has at some point been connected to the internet, and that you ran apt-get update, so it has the cache. If not, you'll have to manually go through the list of packages it wants. How did you do the installation? Dec 18, 2011 at 16:25
  • @james: Perhaps you could give more details about your setup, as in, which systems do you have connected to the internet, why you can't connect the Debian installation to the internet temporarily (which would be the simplest thing), and the history of the Debian installation, like how you installed it and whether it has ever been on the network. Dec 18, 2011 at 16:36
  • i have installed debian cd 1 on one partition of my hard drive. i have a rtl8191se wireless card which will not work as of yet on debian, on my other partition i have fedora. no problems wireless is working fine.. recently i updated my debian kernel its now 2.6.39 and downloaded the drivers for the rtl8191se card. when i try to compile make keeps bringing up errors :/
    – james
    Dec 19, 2011 at 4:32
  • @james: Ok. The drivers for the card are not included in the kernel I take it? I suggest you post the errors. Dec 19, 2011 at 6:27

It sounds like you need a more recent version of the kernel than what's in Debian squeeze. The easiest thing to try is the kernel from the backports. The kernel is in a package called linux-image-$VERSION-$FLAVOR. Pick the flavor from what you already have (e.g. 686 or 686-bigmem or amd64 or … and get the most recent version you can find. The sqeeze backports currently have version 2.6.39.

If that's recent enough for you, download the .deb file from the website and copy it to your machine however you like (e.g. on a USB stick). Also grab every package that's listed as a dependency; you'll need the package containing the actual kernel file (not just the linux-image-2.6-… metapackage) and updated initramfs-tools, and possibly more recent firmware-linux-free and other firmware as well. Install the packages by typing the command dpkg -iGE /path/to/*.deb as root in a terminal. This will automatically create an entry for the new kernel in the boot menu. Reboot and see if it works.

If you need to recompile third-party modules in addition to what's distributed ith the kernel, grab the linux-headers-… package alongside the -image- package.

If you find you need an even more recent kernel (3.0 or 3.1), it doesn't look like there's any readily available package for Debian squeeze at the moment. Try a 3.x kernel from testing or unstable (or even a 3.2rc in experimental). Note that this may require more effort; you may need more recent module and initramfs tools.

  • thanks for the advice. i got my kernel updated using your advice. only problem now is i still cant get my wireless card working :/.. if i type in ifconfig wlan0 up it says theres no such device. im having trouble makeing the drivers. if i go into the driver directory and type make it brings up an error
    – james
    Dec 19, 2011 at 4:36
  • @james It's impossible to help you more without knowing what your wireless card is and what the errors are. I suggest that you ask a new question “How to make XXX wireless card work on Debian squeeze” (where XXX is the model of your wireless card), and mention what you tried (what kernel and driver versions you used, where you got them from, what commands you ran…) and copy-paste the error messages. Dec 19, 2011 at 8:00
  • ok sure.. i'll repost. thanks for all the help. i at least go a new kernel package working :)
    – james
    Dec 19, 2011 at 10:36

If you have following scenario, this may be helpful

  1. Tried to install Debian Wheezy which have kernel without some WiFi driver which is available only in higher kernel (Not in 3.2 but available in 3.13 version of kernel). You may have found it out by running Debian jessie installation DVD.

  2. You do not want jessie which is unstable

  3. Now if you install Debian wheezy, you do not have working WiFi/wired connection. So you can not update to newer kernel.

=========Then do as follows (Thanks for above comments)=========

  1. In a computer with Internet add jessie in /etc/apt/source.list

    Example: deb http://ftp.iitm.ac.in/debian/ jessie main

  2. apt-get update

  3. To find if kernel 3.13 is available apt-cache search linux-image

  4. wget -c 'http://ftp.iitm.ac.in/debian/pool/main/i/initramfs-tools/initramfs-tools_0.115_all.deb'

  5. wget -c http://ftp.iitm.ac.in/debian/pool/main/l/linux/linux-image-3.13-1-amd64_3.13.10-1_i386.deb'

  6. apt-get download linux-headers-3.13-1-amd64

  7. copy files downloaded to computer with no Internet

  8. dpkg -i

  9. reboot and select amd64 kernel

Above instructions were helpful to me to install debian wheezy with kernel 3.13 on laptop ACER Aspire V5-123

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .