7

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

2
  • Just install Ubuntu 64bit, avoid troubles.
    – xangua
    Oct 30, 2014 at 15:39
  • 1
    Why would booting with a different kernel cause an automatic package re-install? I thought I would be able to run a 32-bit system on top of the 64-bit kernel, so there shouldn't be anything to reinstall. I know it's not the usual case but I haven't seen any specific reasons it wouldn't work. I'll re-install all of Ubuntu if I must, but that just sounds like a painful and time consuming process to get everything back to how it was before.
    – Ben
    Oct 30, 2014 at 15:45

1 Answer 1

6

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
7
  • Yikes, thanks for that warning! Does that mean my comment, "I assume I can boot into the 32-bit kernel again if things go wrong" is not correct? I should probably download a 64-bit Live CD image to make sure it functions first, I suppose.
    – Ben
    Oct 30, 2014 at 15:48
  • I used 32-bit Ubuntu 14.04 and 14.10 with a self-compiled 64-bit kernel without any problems. The userspace remains fully compatible with 32-bit kernels. Nothing is uninstalled except the 32-bit kernel. thermald is replaced with a 64-bit variant, but it's an optional package that appeared in 14.04. I would not worry too much about it. You should be able to install a 32-bit kernel in parallel with the 64-bit kernel. Perhaps some dpkg cajoling would be needed. Or just self-compile it.
    – proski
    Oct 31, 2014 at 4:22
  • 2
    Down-voter: do you mind commenting? I'd like to know of any problems with the answer before I try it, since I'm sure something like this could break my system for days if done incorrectly.
    – Ben
    Nov 3, 2014 at 15:15
  • Thanks a million for the edits, Daniel! I felt a whole lot safer with the ability to provide a fallback, and with the command to preview the changes. The one that worked was sudo apt-get install linux-image-generic-lts-utopic:amd64; previewing the other options showed the 32-bit image would have been removed. Now I'm happily running a 64-bit kernel, with no need to mess with reconfiguring my system, and have successfully installed the application I wanted. Total success!
    – Ben
    Jul 1, 2015 at 4:42
  • A follow-up: the system is still working fine except for not having 3D acceleration after Ubuntu pushed a bad update to the proprietary driver. I was unable to install the 64-bit driver direct from ATI because of not having the 64-bit version of some system tools (which also would not install), and the 32-bit drivers prevent booting, so I assume that's a consequence of this nonstandard setup. So now I wait for a better driver from the Ubuntu repositories.
    – Ben
    Sep 5, 2015 at 14:42

You must log in to answer this question.

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