Ubuntu 13.04 install amd64 kernel from x86 OS

Asked by Andrey Bondarenko

I have Ubuntu 13.04 32-bit OS installed on Intel Core 2 system and want to start 64-bit virtual machine from it.

I suppose CPU can run 64-bit code, but I need 64-bit kernel for this. I've added foreign architecture:

$ sudo dpkg --add-architecture amd64

Now I'm trying to install linux-image and linux-headers from amd64. Binary package linux-image can'be installed and runs ok, but I cannot install linux-headers package because of dependency issues.

$ sudo env LANG=C apt-get --dry-run install linux-headers-3.8.0-32-generic:amd64

The following packages have unmet dependencies:
 linux-headers-3.8.0-32-generic:amd64 : Depends: linux-headers-3.8.0-32:amd64 but it is not installable
E: Unable to correct problems, you have held broken packages

Looks like some linux-headers related packages are marked as architecture dependent, while others not:

$ env LANG=C aptitude search headers-3.8.0-32
p linux-headers-3.8.0-32 - Header files related to Linux kernel version 3.8.0
p linux-headers-3.8.0-32-generic - Linux kernel headers for version 3.8.0 on 32 bit x86 SMP
p linux-headers-3.8.0-32-generic:amd64 - Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
p linux-headers-3.8.0-32-lowlatency - Linux kernel headers for version 3.8.0 on x86/x86_64
p linux-headers-3.8.0-32-lowlatency:amd64 - Linux kernel headers for version 3.8.0 on x86/x86_64
p linux-lowlatency-headers-3.8.0-32 - Header files related to Linux kernel version 3.8.0

Is there a possibility to override dependencies and install headers needed for building kernel modules or it requires fixing kernel sources? Why headers are marked architecture dependent? Are they different in different arches?

Question information

Language:
English Edit question
Status:
Answered
For:
Ubuntu linux Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Manfred Hampl (m-hampl) said :
#1

I am not sure if there is a reasonable possibility to do an architecture change from 32 bit to 64 bit without complete reinstallation.

linux-headers-3.8.0-32 is architecture-independent (linux-headers-3.8.0-32_3.8.0-32.47_all.deb), so it should be installable on any architecture. Can you try installing that package manually? And when that one is installed, does apt-get install linux-headers-3.8.0-32-generic:amd64 still complain? Maybe using dpkg instead of apt-get does not show that architecture dependency problem?

Can you help with this problem?

Provide an answer of your own, or ask Andrey Bondarenko for more information if necessary.

To post a message you must log in.