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-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel