new hosts, problems with 32 b.it kernels

I believe there might be issues with the new hosts running 32 bit kernels, and indeed I ran into problems with my 32 bit kernel on the new 1G linode on an old host. I have to run pv-grub, and my old trusty debian wheezy kernel wouldn't boot anymore after the migration from 512 to 1024. I had to compile my own with

CONFIG_PHYSICAL_START=0x100000
CONFIG_PHYSICAL_ALIGN=0x100000

set in the kernel config.

Well, that's all fine, but I'd rather run a distro kernel (well, I'd rather run a linode kernel, but I can't, so distro kernel is the next best thing) and I saw some talk that might suggest even my newly compiled kernel might not work on the new hosts. I found out the issue is with the 32 bit kernel, and not 32 bit userspace, so in preparation, I installed a 64 bit stock debian kernel, selected pv-grub-x86_64, and rebooted, and it worked. so here's how I did it.

I had a 32 bit kernel and a 32 bit userland, I googled something like debian 64 bit kernel on a 32 bit userland and found this page

http://wiki.debian.org/Multiarch/HOWTO

these are the commands I ran

dpkg --add-architecture amd64

I modified /etc/apt/sources.list and added the [ ]

deb [arch=i386,amd64] http://ftp.us.debian.org/debian wheezy main

apt-get update
apt-get install linux-image-3.2.0-4-amd64:amd64

I also installed the ia32-libs-i386 package, which isn't listed on that page and I'm not sure if it's needed, however I'm not going to remove it to test at this stage.

rebooted and it all works. A 32 bit userland running on a 64 bit kernel.

4 Replies

I followed this process as well. I had to do a few extra steps.

When you add the 64 Bit kernel, it is added to the grub menu at positions 2 and 3 (single user mode).

The existing 32 Bit kernel remains at positions 0 and 1 (single user mode).

In grub menu.list you need to change default from 0 to 2, to match where the 64 Bit kernel is.

default         2

Then setup a (pv-grub-x86_64) profile in the dashboard.

If (pv-grub-x86_64) tries to boot a 32 Bit kernel, it doesn't boot. You can see the errors in LISH.

If (pv-grub-x86_32) tries to boot a 64 Bit kernel, it doesn't boot. You can see the errors in LISH.

At least in LISH you can select the correct kernel from the menu and boot into your system and make the required changes in grub menu.list

Otherwise just select you old 32 Bit profile and boot into that to recover.

It's useful to have the LISH console connected during the whole process, so you can see what's happening.

Edit:

I did all this before I tried to migrate to the new upgrades, and as it turns out, it wouldn't let me migrate on the pv-grub-x86_64 kernel anyway.

I had to choose the Linode latest 64 Bit kernel. Then it wouldn't let me migrate until I removed the pv-grub-x86_32 profile.

Once I did this, all went smoothly.

So if you have already migrated, and removed your 32 Bit kernel, Default has to become 0 again.

If you're just going to use the stock Debian kernel, what's the reason that the Linode kernel can't be used?

I was on a 32-bit userland with a 32-bit Linode kernel. To migrate to the new machines, I just switched the kernel to 64-bit in the Linode manager, did the migration, and Bob's your uncle.

@Guspaz:

If you're just going to use the stock Debian kernel, what's the reason that the Linode kernel can't be used?

I was on a 32-bit userland with a 32-bit Linode kernel. To migrate to the new machines, I just switched the kernel to 64-bit in the Linode manager, did the migration, and Bob's your uncle.

Yep that's all I did. I even recently successfully upgraded from 12.04 LTS to 14.04 LTS. The binaries are all still 32 bit.

@Guspaz:

If you're just going to use the stock Debian kernel, what's the reason that the Linode kernel can't be used?
Truth be known, probably nothing. I ran with the Linode kernel for nearly a decade. Just thought I'd give pv-grub a whirl.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct