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.