Alex Hudson

Thoughts on Technology, Product, & Strategy

“Upgrade” your i386 Fedora install to 64-bit

Now, this isn’t something you’d probably want to do every day, but sometimes you have a 32-bit Fedora install which you’d like to be able to run 64-bit software on: my use case is that I have this desktop which I want to start running virtual machines on. Now, if you have a 32-bit install, you can’t run 64-bit machines – a bit weird given the hardware is supposed to be virtualised, but that’s how it works.

However, the good news is that you can do this without having to reinstall the machine – there is a bit of a sneaky short-cut for use cases like these. The 64-bit kernel is fully capable of running a 32-bit userland, so actually all you really need to do is upgrade the kernel.

Sadly, there aren’t many easy ways of doing this, which is a shame: this configuration was a suggested Fedora feature not long ago, and while it’s probably not a robust enough default for everyone, it’s also a fair way from being a hack.

The simplest I’ve found is to edit the /etc/rpm/platform file to read simply “x86_64-redhat-linux-gnu” (without quotes), then to do a “yum clean all” followed by “yum reinstall kernel“. You then change the platform back to “i386-redhat-linux-gnu” (otherwise you risk updating parts of the system, and that starts getting very messy) – one reboot later, and you’ll have your 64-bit kernel running all your old favourite 32-bit software.

This solution isn’t amazingly “sticky” – a later upgrade could bring back the 32-bit kernel, but at least it’s easy enough to fix. There aren’t many good reasons to install 32-bit Fedora on a 64-bit machine any more, but this is a shortcut which can at least temporarily bridge the gap until you properly upgrade.

Previous

Potential Gna! issues

Next

Updates to bongo’s storetool

2 Comments

  1. Ulrich

    There are reasons to keep using 32bit all right. In fact, I downgraded my system back to 32bits after a few months.

    * Linux 32bit (the kernel), unlike Windows, can support more than just 3GB of memory, so you don’t need a 64bit kernel
    * if you’re not running huge Java VMs or Oracle installations, you probably don’t need more than a few GB of memory for any single user process
    * since pointers are only 32bits, the system will use much less memory (maybe 60% of a 64bit installation), so keep in mind that any process that uses 2GB on your 32bit system might use 3-4GB for *the same functionality*. This is especially noticeable if you do Java development, where most apps will use a lot of RAM to begin with (and no, compressing pointers still uses more RAM, so it’s not equivalent to just running 32bits).
    * no problems with browser plugins etc.

    Overall, I didn’t see a single benefit (and some disadvantages) from running 64bit Fedora, and for the next 5+ years, I’ll probably be very happy with a 32bit system.

  2. So, Ulrich, it’s approaching 5+ years. Has your decision changed? I am inquiring because I was thinking switching from 32 to 64 at work without reinstalling. I have already installed fresh 64-bit on all my other systems, but not my main work one. Further, we /do/ use Java a lot (Websphere, JDeveloper, Netbeans, etc), and that memory limitation might become an issue.

Leave a Reply