User Tools

Site Tools


This page has information about supporting cross-compilation for the kselftest feature of the Linux kernel

Grant Likely has taken the lead of this effort, stating on the kernel summit mailing list that:

In August, 2014, Grant Likely wrote (on the ksummit-discuss mailing list, here):

I've also been doing some hacking. I've taken a good look at several
of the tools people are using. Guenter's scripts. Kevin & Olof's
scripts, your ttc, and the stuff I'm using personally, and then
started a new tool for booting and testing boards, pulling in bits and
pieces that look good. I've been able to come up with something that
works really well for me, will boot on qemu out-of-the-box, and is
easily extendible to real hardware like a board on a desk or a
personal board farm. I'll post my patches this coming week. Right now
I'm cleaning up some ugly bits and I need to graft in the logging from
Kevin's scripts.

Tim's notes on cross-compilation

Here are some notes about cross-compilation:

  • Makefiles currently don't support KBUILD_OUTPUT or O=
  • model in Makefile at top of srctree is 'make kselftest'
    • build and run are a single thing
    • kernel install is ignored (left as exercise for user)
  • in lower Makefiles, have hardcoded ARCH stuff for specifying include dirs for user-space apps (ugh)
  • mqueue uses 'gcc', direct execution, etc.

build dependencies for different tests

  • mqueue uses -lrt -lpthread -lpopt
  • ipc/msgque.c requires kernel headers from Linux 3.8 or later (which my Ubuntu system fails to provide)

runtime dependencies for different tests

  • mqueue requires root for some tests
    • mq_open_test, even when run as root, gets permission denied at mq_open at 202:
  • ipc/msgque.c (msgque_test) requires root privileges
  • net requires /bin/sh and requires root privileges
  • sysctl requires /bin/sh, says it needs kernel.sysctl_writes_string=1, /proc/sys/
support_cross-compilation.txt · Last modified: 2014-09-20 00:53 by tbird20d