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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.