Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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: 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.

share|improve this question

migrated from Mar 28 '10 at 20:28

This question came from our site for professional and enthusiast programmers.

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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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