Is there a way to change an i386 RHEL4 machine to run an amd64 kernel, but ensure that it still builds software into same i386 binaries?

On Debian this seems quite straightforward: just install an amd64 kernel (worst case, build one like this guy: http://www.debian-administration.org/users/jonesy/weblog/1) and prefix everything with "linux32". Then everything that considers uname -m will be unchanged, I just need to handle the few cases that consider uname -r.

What is the Red Hat equivalent? Is the only way a full 64-bit installation on another disk and then chrooting back to the 32-bit system before anyone builds anything? (Even the best examples of that seem to be Debian-based.)

Background: We make a large system that runs on (a variant of) i386 RHEL4. However, some of the larger RHEL build machines now have enough RAM that they might benefit from going 64-bit (for the kernel and maybe some of the bigger build steps). Our build system doesn't support cross-compilation.

1 Answer 1


You can have a 32-bit userland with a 64-bit kernel under RHEL, but I would not recommend taking an existing 32-bit install and stuffing a 64-kernel into it. At the very least you would need some 64-bit libraries and binaries in order for the kernel to run properly, including basics such as rpm and glibc.

Also, the gcc in x86-64 RHEL is capable of building 32-bit binaries provided that you pass -m32 and have the appropriate 32-bit *-devel packages in place.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .