upgrading 32 bit to 64 bit

Hey guys, is it possible to upgrade my OS from debian lenny 5 32 bit to the 64 bit version without doing a complete reinstall? I've found conflicting information using google and wanted to know if any had any experience with this topic.

Thanks

6 Replies

In short. No.

In long. No because the 64 bit and 32bit architectures aren't compatible, I suppose in theory you might be able to switch to a 64 bit kernel but run 32 bit apps then install the 64 bit counterparts, update your configuration files etc…but to be honest you're better creating a new linode, cloning over your configuration files and data then moving your dns entries.

Is there a reason you want to use 64 bit over 32 bit?

@obs Thanks for the response. I wanted to demo an application that will only run efficiently on 64-bit, at least that's what the website stated. I think I'll just deploy a 64 bit OS on a new profile and copy over my website files and virtualmin configuration backup manually and see if that works. I'm pretty new to linux so it might end up being a challenge although it'll be a learning experience, but in "theory" my idea sounds like it'll work.

I just realized that I could clone a linode and copy configurations over, that's awesome, so I have a few options. Thanks for making me aware of that

In theory it is possible to run 32-bit and 64-bit apps together on a 64-bit kernel.

In practice, this isn't really doable on Linux (yet) because everything binary-depends on everything else and there's no sane way to have separate core libraries in both 64 and 32 bit versions for your whole system (this is a future goal for many Linux distros, however, including Debian).

There are exceptions, for example there's workarounds for running 32-bit skype or flash plugin (proprietary apps for which there aren't proper 64-bit versions) on 64-bit debian, but that's just two apps.

So it means that you kind of have to make the 64-bit vs 32-bit choice up-front. You can't change from one to the other without replacing all software; so it's not an upgrade but a 'reinstallation'.

On a 64-bit kernel, you can run a whole 64-bit Linux inside a chroot of a 32-bit Linux or vice-versa, but that's just a chroot. Plus it'd just be way easier to deploy a new Linode and set up a 64-bit OS on that. You can copy across much of your configuration (though be careful; if you're a newb then perhaps don't try that).

As for 'cloning' your 32-bit configuration; cloning your installation including software may not help much; you can't 'upgrade' it. You can, however, clone your data directories (ie /home, /srv, etc) though (and if they're on a separate partition, it'll make things easier).

@AceStar:

In practice, this isn't really doable on Linux (yet) because everything binary-depends on everything else and there's no sane way to have separate core libraries in both 64 and 32 bit versions for your whole system (this is a future goal for many Linux distros, however, including Debian).

That's not completely true. You can create a whole 32 bit chroot in a 64 bit installation and it'll work very nicely although not completely transparently (you have to run your 32 bit apps from within the chroot).

Ummm btmorex, I'm guessing you didn't read my whole post. :roll:

Allow me to highlight it for you. Quoting myself:

@AceStar:

On a 64-bit kernel, you can run a whole 64-bit Linux inside a chroot of a 32-bit Linux or vice-versa, but that's just a chroot. Plus it'd just be way easier to deploy a new Linode and set up a 64-bit OS on that.

@AceStar:

In practice, this isn't really doable on Linux (yet) because everything binary-depends on everything else and there's no sane way to have separate core libraries in both 64 and 32 bit versions for your whole system (this is a future goal for many Linux distros, however, including Debian).

OpenSuse has great compatibility layer, every x86_64 lib has a 32-bit variant, and running 32-bit apps alongside 64-bit ones is very much possible. The only "problem" is that installing 32-bit version actually installs only the 32-bit version, ie. overwrites 64-bit one. Arch has similar. Gentoo as well, etc….

Additional problem is with close sourced kernel modules. 64-bit apps cannot access hardware via 32-bit modules (which, if I am not mistaken, cannot even run on 64-bit kernel).

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