Re: Converting to 64-bit On Sunday 17 December 2006 10:50, J.O. Aho stood up and addressed the masses
in /alt.os.linux.gentoo/ as follows...:
> Whoever wrote:
>
>> I started to try to build a new 64-bit system in a chroot environment,
>> but have run into a problem:
>> chroot: cannot run command `/bin/bash': Exec format error
>
> The 32bit kernel do not have any 64bit support, so you can't run 64bit
> programs without using an emulator, not sure if qemu can help you here.
It can't. ;-) While it is possible to emulate a 32-bit system on a 64-bit
architecture via /qemu/ - although if the OS is the same, the /x86_64/
architecture can run 32-bit code natively in a 64-bit environment without
the need for an emulator - it is to my knowledge (and at the moment) not
possible to run a 64-bit emulator on a 32-bit system.
>> I assume that this is because the kernel doesn't recognise 64-bit
>> binaries. I have previously selected Opteron/Athlon64 for my processor
>> sub-architecture and rebuilt the kernel and rebooted. Yet uname still
>> shows it as i686:
>
> You can build a 64bit kernel with support for 32bit, this may work.
> On Sparcs you use 64bit kernel with a 32bit userspace, as you don't gain
> anything really using 64bit for quite standard systems (on heavy
> calculating systems you would).
It also deserves to be noted that choosing Athlon64/Opteron as the processor
type in the kernel configuration tool will not normally build a 64-bit
kernel. It will just be a 32-bit kernel with optimizations for the
specified processor.
You need the cross-compiler version of /gcc/ and of the GNU /make/ utilities
to be able to generate a 64-bit kernel. Even if you select
Athlon64/Opteron (or EM64T for that matter) from the kernel configurator,
the /.config/ file will still be set for /x86,/ not for /x86_64./
--
With kind regards,
*Aragorn*
(registered GNU/Linux user #223157) |