xen-devel
RE: [Xen-users] Re: [Xen-devel] need to compile 32bit on x86_64 cpu
You need to clean the linux kernel directory (probably with
"mrproper" note: mrproper will remove your .config file too, so copy that if you
have made any changes...)
--
Mats
Reading the README i found a way to do this
export
XEN_TARGET_ARCH=i386
or
export
XEN_TARGET_ARCH=x86_32
Then do
make linux-2.6-xen-config
CONFIGMODE=menuconfig
Now menuconfig shows the 32bit cpu's. However
when i run the build command, it fails badly giving the following errors:
make -f buildconfigs/mk.linux-2.6-xen build make[1]: Entering
directory `/home/xen/xen-3.0.2-2' if grep "^CONFIG_MODULES="
linux-2.6.16-xen/.config ; then \ make -C
linux-2.6.16-xen ARCH=i386 modules ; \ make -C
linux-2.6.16-xen ARCH=i386 INSTALL_MOD_PATH=/home/xen/xen-3.0.2-2/dist/install
modules_install ; \ fi CONFIG_MODULES=y make[2]: Entering directory
`/home/xen/xen-3.0.2-2/linux-2.6.16-xen' CHK
include/linux/version.h CC
arch/i386/kernel/asm-offsets.s In file included from
include/linux/thread_info.h:20,
from
include/linux/preempt.h:10,
from
include/linux/spinlock.h:50,
from include/linux/capability.h:45,
from
include/linux/sched.h:7,
from arch/i386/kernel/asm-offsets.c:7: include/linux/bitops.h: In function
`generic_hweight64': include/linux/bitops.h:142: warning: integer constant
is too large for "unsigned long" type include/linux/bitops.h:142: warning:
integer constant is too large for "unsigned long"
type include/linux/bitops.h:143: warning: integer constant is too large for
"unsigned long" type include/linux/bitops.h:143: warning: integer constant
is too large for "unsigned long" type include/linux/bitops.h:144: warning:
integer constant is too large for "unsigned long"
type include/linux/bitops.h:144: warning: integer constant is too large for
"unsigned long" type include/linux/bitops.h:145: warning: integer constant
is too large for "unsigned long" type include/linux/bitops.h:145: warning:
integer constant is too large for "unsigned long"
type include/linux/bitops.h:146: warning: integer constant is too large for
"unsigned long" type include/linux/bitops.h:146: warning: integer constant
is too large for "unsigned long" type In file included from
include/linux/timex.h:61,
from
include/linux/sched.h:11,
from arch/i386/kernel/asm-offsets.c:7: include/asm/timex.h: In function
`get_cycles': include/asm/timex.h:25: warning: left shift count >= width
of type include/asm/timex.h: In function
`get_cycles_sync': include/asm/timex.h:38: warning: left shift count >=
width of type In file included from
include/asm/semaphore.h:43,
from include/linux/sched.h:20,
from arch/i386/kernel/asm-offsets.c:7: include/linux/rwsem.h:27:65:
asm/rwsem.h: No such file or directory In file included from
include/asm/semaphore.h:43,
from include/linux/sched.h:20,
from arch/i386/kernel/asm-offsets.c:7: include/linux/rwsem.h: In function
`down_read': include/linux/rwsem.h:45: warning: implicit declaration of
function `__down_read' include/linux/rwsem.h: In function
`down_read_trylock': include/linux/rwsem.h:56: warning: implicit
declaration of function `__down_read_trylock' include/linux/rwsem.h: In
function `down_write': include/linux/rwsem.h:68: warning: implicit
declaration of function `__down_write' include/linux/rwsem.h: In function
`down_write_trylock': include/linux/rwsem.h:79: warning: implicit
declaration of function `__down_write_trylock' include/linux/rwsem.h: In
function `up_read': include/linux/rwsem.h:90: warning: implicit declaration
of function `__up_read' include/linux/rwsem.h: In function
`up_write': include/linux/rwsem.h:100: warning: implicit declaration of
function `__up_write' include/linux/rwsem.h: In function
`downgrade_write': include/linux/rwsem.h:110: warning: implicit declaration
of function `__downgrade_write' In file included from
arch/i386/kernel/asm-offsets.c:7: include/linux/sched.h: At top
level: include/linux/sched.h:309: error: field `mmap_sem' has incomplete
type In file included from include/asm/suspend.h:6,
from
include/linux/suspend.h:5,
from arch/i386/kernel/asm-offsets.c:10: include/asm/desc.h: In function
`_set_gate': include/asm/desc.h:97: warning: right shift count >= width
of type include/asm/desc.h: In function
`set_tssldt_descriptor': include/asm/desc.h:137: warning: right shift count
>= width of type include/asm/desc.h: In function
`set_seg_base': include/asm/desc.h:164: warning: cast from pointer to
integer of different size include/asm/desc.h:165: warning: cast from
pointer to integer of different size arch/i386/kernel/asm-offsets.c: In
function `foo': arch/i386/kernel/asm-offsets.c:28: error: structure has no
member named `eax' arch/i386/kernel/asm-offsets.c:29: error: structure has
no member named `ebx' arch/i386/kernel/asm-offsets.c:30: error: structure
has no member named `ecx' arch/i386/kernel/asm-offsets.c:31: error:
structure has no member named `edx' arch/i386/kernel/asm-offsets.c:32:
error: structure has no member named
`esi' arch/i386/kernel/asm-offsets.c:33: error: structure has no member
named `edi' arch/i386/kernel/asm-offsets.c:34: error: structure has no
member named `ebp' arch/i386/kernel/asm-offsets.c:35: error: structure has
no member named `esp' arch/i386/kernel/asm-offsets.c:36: error: structure
has no member named `eip' arch/i386/kernel/asm-offsets.c:43: error:
structure has no member named `hard_math'
arch/i386/kernel/asm-offsets.c:69: error: structure has no member named
`esp0' arch/i386/kernel/asm-offsets.c:74: error: `VSYSCALL_BASE' undeclared
(first use in this function) arch/i386/kernel/asm-offsets.c:74: error:
(Each undeclared identifier is reported only once
arch/i386/kernel/asm-offsets.c:74: error: for each function it appears
in.) make[3]: *** [arch/i386/kernel/asm-offsets.s] Error 1 make[2]: ***
[prepare0] Error 2 make[2]: Leaving directory `/home/xen/xen-3.0.2-2
/linux-2.6.16-xen' make[2]: Entering directory
`/home/xen/xen-3.0.2-2/linux-2.6.16-xen' if [ -r System.map -a -x
/sbin/depmod ]; then /sbin/depmod -ae -F System.map -b
/home/xen/xen-3.0.2-2/dist/install -r 2.6.16-xenx86_32 ; fi make[2]:
Leaving directory `/home/xen/xen-3.0.2-2/linux-2.6.16-xen' make -C
linux-2.6.16-xen ARCH=i386 INSTALL_PATH=/home/xen/xen-3.0.2-2/dist/install
vmlinuz make[2]: Entering directory `/home/xen/xen-3.0.2-2
/linux-2.6.16-xen' make[2]: Nothing to be done for `vmlinuz'. make[2]:
Leaving directory `/home/xen/xen-3.0.2-2/linux-2.6.16-xen' make -C
linux-2.6.16-xen ARCH=i386 INSTALL_PATH=/home/xen/xen-3.0.2-2/dist/install
install make[2]: Entering directory
`/home/xen/xen-3.0.2-2/linux-2.6.16-xen' sh
/home/xen/xen-3.0.2-2/linux-2.6.16-xen/arch/i386/boot/install.sh
2.6.16-xenx86_32 arch/i386/boot/bzImage System.map "/home/xen/xen-3.0.2-2
/dist/install"
*** Missing file:
arch/i386/boot/bzImage *** You need to run "make" before "make
install".
make[3]: *** [install] Error 1 make[2]: *** [install]
Error 2 make[2]: Leaving directory `/home/xen/xen-
3.0.2-2/linux-2.6.16-xen' make[1]: *** [build] Error 2 make[1]: Leaving
directory `/home/xen/xen-3.0.2-2' make: *** [linux-2.6-xen-install] Error
2
My guess is that its complaining about some libraries for
32bit and since the os is 64bit, they are not present.
Can anyone
please shed more light on this ?
Thanks.
--
regards,
Anand Gupta
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
|
|
|