# xen-sources on ibm x330 issue

## BloodyIron

I'm having a multitude of issues with  xen-sources on my IBM x330 servers.

When I try to make menuconfig for version 2.6.18-xen-r12:

```
Makefile:410: *** mixed implicit and normal rules.  Stop.

```

When I try to use 2.6.34-xen-r3, the kernel boots but it gets caught on what I think is a USB issue but I can't get the exact log as it never finishes booting.

When I try to use 2.6.34-xen-r4, it can't seem to work with my SCSI controller (unsure if I'm doing something wrong here) and in turn can't find the disk in the system

When I try to make && make modules_install for version 2.6.38-xen, it fails at:

```
 LD      drivers/xen/sfc_netutil/sfc_netutil.o

  LD      drivers/xen/sfc_netutil/built-in.o

  LD      drivers/xen/built-in.o

drivers/xen/blktap2-new/built-in.o: In function `blktap_ring_init':

(.init.text+0xe0): multiple definition of `blktap_ring_init'

drivers/xen/blktap2/built-in.o:(.init.text+0x8c): first defined here

drivers/xen/blktap2-new/built-in.o: In function `blktap_ring_destroy':

(.text+0x334): multiple definition of `blktap_ring_destroy'

drivers/xen/blktap2/built-in.o:(.text+0xcdd): first defined here

drivers/xen/blktap2-new/built-in.o: In function `blktap_device_init':

(.init.text+0x16e): multiple definition of `blktap_device_init'

drivers/xen/blktap2/built-in.o:(.init.text+0x122): first defined here

drivers/xen/blktap2-new/built-in.o: In function `blktap_ring_kick_user':

(.text+0x88e): multiple definition of `blktap_ring_kick_user'

drivers/xen/blktap2/built-in.o:(.text+0x5df): first defined here

drivers/xen/blktap2-new/built-in.o:(.bss+0x0): multiple definition of `blktaps'

drivers/xen/blktap2/built-in.o:(.bss+0x0): first defined here

ld: Warning: size of symbol `blktaps' changed from 1024 in drivers/xen/blktap2/built-in.o to 4 in drivers/xen/blktap2-new/built-in.o

drivers/xen/blktap2-new/built-in.o: In function `blktap_device_destroy':

(.text+0x105d): multiple definition of `blktap_device_destroy'

drivers/xen/blktap2/built-in.o:(.text+0x2b9b): first defined here

drivers/xen/blktap2-new/built-in.o: In function `blktap_request_free':

(.text+0x15de): multiple definition of `blktap_request_free'

drivers/xen/blktap2/built-in.o:(.text+0x346c): first defined here

drivers/xen/blktap2-new/built-in.o: In function `blktap_device_create':

(.text+0xd70): multiple definition of `blktap_device_create'

drivers/xen/blktap2/built-in.o:(.text+0x180f): first defined here

drivers/xen/blktap2-new/built-in.o:(.data+0xac): multiple definition of `blktap_debug_level'

drivers/xen/blktap2/built-in.o:(.data+0x48): first defined here

drivers/xen/blktap2-new/built-in.o: In function `blktap_ring_create':

(.text+0x863): multiple definition of `blktap_ring_create'

drivers/xen/blktap2/built-in.o:(.text+0xd2b): first defined here

drivers/xen/blktap2-new/built-in.o: In function `blktap_sysfs_destroy':

(.text+0x193d): multiple definition of `blktap_sysfs_destroy'

drivers/xen/blktap2/built-in.o:(.text+0x365f): first defined here

drivers/xen/blktap2-new/built-in.o: In function `blktap_sysfs_init':

(.init.text+0x261): multiple definition of `blktap_sysfs_init'

drivers/xen/blktap2/built-in.o:(.init.text+0x20a): first defined here

drivers/xen/blktap2-new/built-in.o: In function `blktap_sysfs_create':

(.text+0x1987): multiple definition of `blktap_sysfs_create'

drivers/xen/blktap2/built-in.o:(.text+0x3bc3): first defined here

make[2]: *** [drivers/xen/built-in.o] Error 1

make[1]: *** [drivers/xen] Error 2

make: *** [drivers] Error 2
```

Why would the only unmasked version not even compile? :/

----------

## BloodyIron

Bump. I have exhausted my resources here I think :/

----------

## BloodyIron

Anyone?

----------

## BloodyIron

I'm trying to do this on another system with the by default unmasked version "xen-sources-2.6.18-r12", and I still get this error:

```
Makefile:410: *** mixed implicit and normal rules.  Stop.
```

I really don't know what I'm doing wrong here.

----------

## BloodyIron

bump again

----------

## Yonex

I solved the same error by choosing

```

<*>   Block-device tap backend driver

< >   Block-device tap backend driver 2

```

in the menu Device Drivers => Xen 

or if make menuconfig fails just change this lines of your .config:

```

CONFIG_XEN_BLKDEV_TAP=y

# CONFIG_XEN_BLKDEV_TAP2 is not set

```

I hope that you don't need specific use of blktap2 (but just blktap).

And make sure you have :

```

<*> SCSI backend driver

```

Enabled for the dom0 kernel

AND

```

<*> SCSI frontend driver

```

Enabled for the domU kernel

----------

## BloodyIron

Thanks!

I'll have to try these out and see how it goes.  :Very Happy: 

Any idea why menuconfig isn't making?

 *Yonex wrote:*   

> I solved the same error by choosing
> 
> ```
> 
> <*>   Block-device tap backend driver
> ...

 

----------

## Yonex

I searched for your error of make menuconfig, it seems that newer version of "make" don't like the old Makefiles, so if you want to use those old kernels, you can downgrade your make utility and the menuconfig should work.

----------

## BloodyIron

DUELY NOTED, thanks!

 *Yonex wrote:*   

> I searched for your error of make menuconfig, it seems that newer version of "make" don't like the old Makefiles, so if you want to use those old kernels, you can downgrade your make utility and the menuconfig should work.

 

----------

## BloodyIron

1) Using make version 3.81 is now enabling me to make menuconfig for the only unsmaked version of xen-sources currently availabe as of this writing linux-2.6.18-xen-r12

2) Deselecting the "Block-device tap backend driver 2" now makes it so the kernel completes compiling (for higher versions too)

3) I tried the highest kernel version linux.2.6.38-xen with these changes and it still won't pick up on my drives. I tried fiddling with many different driver settings outside of xen settings and ended up giving up and just going back to 2.6.18-xen-r12

4) I need to roll back udev to use this version of the xen kernel sources. The latest version, udev-164-r2 complains that the kernel is too old. Switching to udev-141 so far appears to work properly for me.

As of right now I am successfully completing a boot and init of everything. I'm still new to Xen so I don't know if this is an environment that will work for my goals (trying to setup a HA cluster). But I am much farther than I was before. Thanks for your help everyone! If I have more info I'll try to post it, but so far this is what it takes to get it working.

----------

## unghio

(for those like me looking for an answer to this topic and not founding it...)

for what i've seen/red/tried: you can't use genkernel when building a gentoo dom0, because enabling xen in kernel configuration will prevent bzImage target (wich is what genkernel uses) from building, allowing vmlinuz only, so you have to manually configure, make && make modules (wich is not hard to do, but just let me know  :Smile: )

also, i wanted to use lvm so my need (i firstly thought) to use genkernel to build an initramfs automatically (and not with all the cpio stuff  :Smile: ) but i've found that you can't use an initramfs when booting a xen0 (well, i've tried and failed).

i did "genkernel -lvm initramfs" after compiling vmlinuz and modules, configured grub.conf and when tried to boot it said that i cant specify an initrd *before* kernel... my conf was sort of:

kernel /boot/xen.gz

module /boot/vmlinuz various_options=values

initrd /boot/initramfs

deleting initrd part it goes, but i can't manage to use lvm (nor even xfs... but may be i've messed up with .config and left it as module), so i used normal ext3.... if someone knows how to resolve this i'll happy to learn  :Smile:  i didn't understand how this is going to work

----------

## johnrkg

 *BloodyIron wrote:*   

> 
> 
> When I try to make && make modules_install for version 2.6.38-xen, it fails at:
> 
> ```
> ...

 

I'm running into the same thing. Per http://xen.1045712.n5.nabble.com/Compilation-problems-oldstyle-xenlinux-2-6-38-blktap2-td4914938.html, the blktap2-new patch probably isn't supposed to be included in the general release.  I'm still trying to test whether it works, but if you modify drivers/xen/Makefile with the following:

```

-obj-$(CONFIG_XEN_BLKDEV_TAP2)          += blktap2/ blktap2-new/

+obj-$(CONFIG_XEN_BLKDEV_TAP2)           += blktap2/

```

the kernel will at least compile.  I also understand from that link that if you build it with CONFIG_XEN_BLKDEV_TAP2=m, it will build two separate modules and won't get the conflict that way either.

I'm not experienced enough to know which is better.  Perhaps another XEN guru can chime in with this additional information.

----------

