Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel
3. Where are the linuxRT kernels and kernel modules?

Currently there are several versions of linux kernels that have been built for several host architectures.

They are all here under BUIDLROOT_HOME: /afs/slac/g/lcls/package/linuxRT/buildroot-2014.11

The tool chain used to build these kernels is 'buildroot' and version 2014.11 was used to build these kernels.

These kernels are available for 32 bit (linuxRT_glibc-x86 and linuxRT-x86) and 64-bit (linuxRT_glibc-x86_64) host architectures.

Further, they have been built with either uClibc (C library for embedded LInux) or glibc (GNU C LIbrary).

uClibc or glibc are libraries which defines "system calls" and other basic facilities such as open, malloc, printf, exit etc.

Based on which libraries the kernels have been built with, currently there are four options for linuxRT kernels to choose from:

buildroot-uclibc-x86 (for 32-bit i680 architectures with uClibc)

buildroot-glibc-x86 (for 32-bit i680 architectures with glibc)

buildroot-uclibc-x86_64 (for 64-bit x86_64 architectures with uClibc)

buildroot-glibc-x86_64 (For 64-bit x86_64 architectures with glibc)

uClibc and 32-bit architectures will be phased out in the near future at ICD - hence it is recommended to use 64-bit glibc kernels for new applications.

For our test application, we use 64-bit kernel built with glibc.

The various kernel modules built for the various kernels are all here:

 /afs/slac/g/lcls/package/linuxKernel_Modules

Example: EVR kernel module is pci_mrfevr_linuxRT

Under this directory, there are three different kernel modules - each built for some corresponding kernels as listed above.

Ensure that you use the right version of the kernel module that matches with your kernel.

...