Software Archive
Read-only legacy content
17061 Discussions

MPSS 3.3 source building configuration problem

Pierre_L_
Beginner
806 Views

Greetings, I just installed the last MPS version 3.3 and all is fine, however I need to rebuild a kernel module and things are getting wrong. Before building anything, just preparing the environment it seems a reference to the user "sthampso" is unexpected:

[root@phi01 linux-2.6.38+mpss3.3]# make modules prepare
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  /home/root/install/FhGFS/fhgfs-client-MIC/linux-2.6.38+mpss3.3/scripts/gen_initramfs_list.sh: Cannot open '/home/sthampso/new-kernel/make-2.6.38a/drivers/card/rootfs2'
make[1]: *** [usr/initramfs_data.cpio] Erreur 1
make: *** [usr] Erreur 2

I will adapt the config file accordingly to build my kernel module, but better to fix this in the distrib for everyone.

Best regards,

Pierre.

 

0 Kudos
5 Replies
Loc_N_Intel
Employee
806 Views

Hi Pierre,

If you rebuild a kernel module, you also need to rebuild the MPSS in order to make it work properly.

Thank you.

0 Kudos
Evan_P_Intel
Employee
806 Views

Pierre L. wrote:

  /home/root/install/FhGFS/fhgfs-client-MIC/linux-2.6.38+mpss3.3/scripts/gen_initramfs_list.sh: Cannot open '/home/sthampso/new-kernel/make-2.6.38a/drivers/card/rootfs2'

Unfortunately, and despite its suggestive name, config-mic-knc-2.6.38 is not, in fact, the kernel .config for the bzImage included in MPSS. Using it as the basis for your .config results in the error you're seeing, among others. Instead, you want to use /opt/mpss/3.*/sysroots/k1om-mpss-linux/boot/config-2.6.38.8+mpss3.*.

Exact directions for how to compile the MPSS Linux kernel from source can be found in this comment on an earlier forum thread. In particular, you may find the final "additional note" at the end of that comment relevant.

loc-nguyen (Intel) wrote:

If you rebuild a kernel module, you also need to rebuild the MPSS in order to make it work properly.

It's more nuanced than that.... Pierre, when you say you need to "rebuild a kernel module," you just mean that you need to rebuild a third-party, out-of-tree kernel module we don't ship with MPSS, correct? That won't require a massive rebuild.

0 Kudos
Pierre_L_1
Beginner
806 Views

Thanks for your answers guys, yes my purpose was to build a third party our of tree kernel module, which was not that difficult once the .config was fixed. All is fine now, but your are the file config-mic-knc-2.6.38 is misleading.

Cheers, Pierre.

 

0 Kudos
Holger_A_
Beginner
806 Views

Hello,

I have the same problem with the sources. I want to build a third party kernel module (Xeon Phi support for BeeGFS, formerly known as FhgFS).

When I copy the /opt/mpss/3.3/sysroots/k1om-mpss-linux/boot/config-2.6.38.8+mpss3.3 and type "make modules prepare" I get the message

  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CC      arch/x86/kernel/dumpstack.o
/root/mpss-3.3/src/linux-2.6.38+mpss3.3/arch/x86/include/asm/spinlock.h: Assembler messages:
/root/mpss-3.3/src/linux-2.6.38+mpss3.3/arch/x86/include/asm/spinlock.h:85: Error: no such instruction: `delay %ecx'
make[2]: *** [arch/x86/kernel/dumpstack.o] Fehler 1
make[1]: *** [arch/x86/kernel] Fehler 2
make: *** [arch/x86] Fehler 2

This is surely caused by the fact that the CentOS 6.5 I am using is running a 2.6.32 kernel, not 2.6.38. Where do I get the right config file for my kernel?

Regards

Holger

0 Kudos
Evan_P_Intel
Employee
806 Views

Holger A. wrote:

This is surely caused by the fact that the CentOS 6.5 I am using is running a 2.6.32 kernel, not 2.6.38.

Actually, the problem is that you didn't tell Linux you're cross compiling, so it's trying to build with "gcc" instead of the "k1om-mpss-linux-gcc" provided with MPSS. I'd suggest "make ARCH=k1om CROSS_COMPILE=k1om-mpss-linux- modules prepare".

As I mentioned, I've written more about cross-compiling MPSS's Linux kernel from source here.

0 Kudos
Reply