View previous topic :: View next topic |
Author |
Message |
kabage Guru
Joined: 31 Jan 2005 Posts: 340
|
Posted: Tue Jun 07, 2005 5:33 am Post subject: [SOLVED]Compile 32bit kernel on amd64 - for a livecd SOLVED |
|
|
I get the below error from a 32 bit chroot where I am trying to compile a 32 bit kernel
on my amd64.
It seems like it shouldn't be so fussy since many are running x86 on amd64
please tell me I don't have to set up a cross-compiling environment.
I went thru bootstrap and emerge system with little problems
in my chroot.
Things I did do
Code: |
make ARCH=i386 menuconfig
|
I do have IA32 emulation in the running kernel.
I set the chroot environment to CHOST=i686-pc-linux-gnu
CFLAGS=-march=i686 -m32 -pipe -fomit-frame-pointer -O2
The Error
Quote: |
make ARCH=i386
/i386/kernel/asm-offsets.c: In function `foo':
arch/i386/kernel/asm-offsets.c:26: error: structure has no member named `eax'
arch/i386/kernel/asm-offsets.c:27: error: structure has no member named `ebx'
arch/i386/kernel/asm-offsets.c:28: error: structure has no member named `ecx'
arch/i386/kernel/asm-offsets.c:29: error: structure has no member named `edx'
arch/i386/kernel/asm-offsets.c:30: error: structure has no member named `esi'
arch/i386/kernel/asm-offsets.c:31: error: structure has no member named `edi'
arch/i386/kernel/asm-offsets.c:32: error: structure has no member named `ebp'
arch/i386/kernel/asm-offsets.c:33: error: structure has no member named `esp'
arch/i386/kernel/asm-offsets.c:34: error: structure has no member named `eip'
arch/i386/kernel/asm-offsets.c:41: error: structure has no member named `hard_math'
arch/i386/kernel/asm-offsets.c:61: error: structure has no member named `esp0'
arch/i386/kernel/asm-offsets.c:65: error: `FIX_VSYSCALL' undeclared (first use in this function)
arch/i386/kernel/asm-offsets.c:65: error: (Each undeclared identifier is reported only once
arch/i386/kernel/asm-offsets.c:65: error: for each function it appears in.)
make[1]: *** [arch/i386/kernel/asm-offsets.s] Error 1
make: *** [arch/i386/kernel/asm-offsets.s] Error 2
|
So I guess the kernel is trying to build 32bit but is still addressing 64 bit registers?
Anyone have a clue, please Thank you.
Never mind - Im embarressed
did not have
linux32 chroot - in my mounting script.
But then how did the rest of the system compile? I _________________ The solutions are easy. Its finding them that is hard.
Last edited by kabage on Tue Jun 07, 2005 6:51 am; edited 2 times in total |
|
Back to top |
|
|
alkan Guru
Joined: 06 Aug 2004 Posts: 385 Location: kasimlar yaylasi
|
Posted: Tue Jun 07, 2005 6:37 am Post subject: |
|
|
how did you chroot? What is th output of uname -a in the chroot, you should
Code: |
linux32 chroot <chroot_dir> /bin/bash
|
|
|
Back to top |
|
|
usui n00b
Joined: 24 Aug 2004 Posts: 51
|
Posted: Fri Jul 01, 2005 7:00 pm Post subject: |
|
|
Hello,
I have the exact same problem that you had, I see that you were able to solve it and you even said how (the thing about the mounting script) I am not able to fix it though. I did every step again with the linux32 command in front of it since the chroot command (I even tried to mount my dirs with the linux32 command in front of it.) I keep getting the same error though. Please help me.Bye |
|
Back to top |
|
|
|