On Thursday 23 February 2006 19:07, Bo Andresen <[EMAIL PROTECTED]> 
wrote about 'Re: [gentoo-user] chroot: cannot run command `bin/bash': Exec 
format error':
> On Friday 24 February 2006 01:56, Boyd Stephen Smith Jr. wrote:
> > So, why don't you give it a go with:
> > make ARCH=x86_64 CC="gcc -m64" menuconfig
> > make ARCH=x86_64 CC="gcc -m64"
> > make ARCH=x86_64 CC="gcc -m64" modules_install
> > make ARCH=x86_64 CC="gcc -m64" install
> >
> > and let me know how it goes.
>
> via linux # make ARCH=x86_64 CC="gcc -m64"
>   CHK     include/linux/version.h
>   UPD     include/linux/version.h
>   SPLIT   include/linux/autoconf.h -> include/config/*
>   CC      arch/x86_64/kernel/asm-offsets.s
> cc1: error: code model `kernel' not supported in the 32 bit mode
> cc1: sorry, unimplemented: 64-bit mode not compiled in

Blah.  I don't really know how to get around this.  I generally stay away 
from configuring my own gcc and I don't know what, if any, USE flag 
controls when 64-bit mode is compiled in.  That works in my 
i686-pc-linux-gnu-gcc, but maybe that's 'cause it is a "cross"-compiler on 
my system.

It may be easier at this point to just find a live cd / live dvd that will 
bring you up in a 64-bit kernel.  It won't matter much whether it is 
gentoo or some other distro [1], as long as it brings up the network and 
your drives, because all you'll be doing is chrooting and finishing the 
gentoo install.

If you still want to continue down the "cross"-compile and install a kernel 
route (what we've been trying to do so far).  I suggest you emerge 
crossdev in your 32-bit environment, then do crossdev -s1 -t x86_64 to 
compile a cross-compiling bin-utils and gcc (C only) [2].  Then, you 
should be able to "cross"-compile your kernel with.

make ARCH=x86_64 CROSS_COMPILE=x86_64-pc-linux-gnu-
(menuconfig, all, modules_install, etc.)

Crossdev will take basically no time to install, but compiling gcc make 
take a while, even without any language front-ends other than C.

-- 
Boyd Stephen Smith Jr.
[EMAIL PROTECTED]
ICQ: 514984 YM/AIM: DaTwinkDaddy

[1] I only mention this because the gentoo amd64 live cds were nothing but 
problems on my system and it was much easier to bring up (k)ubuntu, as 
long as all I needed was 64-bit mode.

[2] Cross dev have 4 stages: (0) bin-utils, (1) gcc, (C only) (2) 
linux-headers, (3) libc, and (4) gcc (C/C++) and two "extra" targets 
(ex-gcc) gcc (all languages) and (ex-gdb) gdb.  You'll only need the first 
two to compile the kernel, since it provides it's own headers, can't link 
to any library (including libc), and isn't written in any language other 
than C.
-- 
[email protected] mailing list

Reply via email to