Install 64-bit kernel in 32-bit Ubuntu
I want to use an application that is only available in 64-bit, but my Ubuntu installation is 32-bit. The application is proprietary, so I can't even recompile it for 32-bit.
I've read that I should be able to run a 64-bit application in 32-bit Ubuntu, if my kernel is 64-bit. From what I've read, this should work fairly smoothing with "MultiArch" support, which I should have in my version (14.04). But I can't figure out how to install the 64-bit kernel.
My processor seems to support 64-bit, because "lm" appears in the output of grep flags /proc/cpuinfo
I've seen a few questions already about upgrading the entire system to 64-bit, but those all tend to boil down to "just do a fresh install". I want to avoid doing a fresh install, if I can: I've got a lot of configuration I don't want to find and repeat, and I've read that on my old hardware with my relatively small amount of RAM, a full 64-bit system will probably use enough extra memory that it will get bogged down.
I've noticed that old kernel versions stick around until I remove them, so if I can install a 64-bit kernel, I assume I can boot into the 32-bit kernel again if things go wrong.
I found a guide to upgrading a Debian system that starts with installing the 64-bit kernel[1], but the instructions therein don't work for me:
$ sudo dpkg --add-architecture amd64
$ sudo apt-get update
$ sudo apt-get install linux-image-amd64:amd64
The first two commands seem to complete OK, but the install command gives:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package linux-image-amd64
Am I doing something wrong? Missing a step? Should I just do a full install after all?
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty
[1] http://www.ewan.cc/?q=node/90
Solution 1:
The error indicates that Ubuntu does not provide a package named "linux-image-amd64".
I surmise this is due to the fact that the guide from where you picked the shell commands has been written for a Debian installation. Indeed, if you search on debian.org for this package, you'll get a positive result. This is not the case if you enter this package name on http://packages.ubuntu.com/
The last command should be
sudo apt-get install linux-image-generic:amd64
or (if you really care about latency)
sudo apt-get install linux-image-lowlatency:amd64
Please note that the 32-bit kernel will be removed. Also, some 64-bit userspace libraries will be installed. To see what apt-get
will do to your system without actually touching your system, run apt-get with these options
sudo apt-get -Vs install linux-image-generic:amd64
If you want to retain your 32-bit kernel as a fallback, install a different kernel image, e.g. for your 14.04 (codename: trusty) try:
sudo apt-get install linux-generic-lts-trusty:amd64
sudo apt-get install linux-generic-lts-utopic:amd64