Re: Building kernel modules for L4Linux

Paul Boddie <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <[email protected]>
On Tuesday 2. February 2016 14.44.34 Nourhan Mohamed wrote:
> 
> I wanted to build a simple character device module for L4Linux on ARM
> device.  However, I don't know who should I compile it for the L4Linux
> version (version 4.3.0). Can you please help me with what files should I
> download to cross compile the module and what should be included in the
> Makefile? My machine is a 64-bit machine running Ubuntu with Linux kernel
> version 4.3.3.

I know that others will be able to offer far more assistance than I can, but 
is the problem related to cross-compiling in general or the specific task of 
cross-compiling the module?

On the more general topic, I've been using Debian to cross-compile L4Re and 
Fiasco.OC, and it's been possible to use the cross-toolchains in the unstable 
version of Debian. I guess the following packages are relevant for ARM:

https://packages.debian.org/sid/gcc-arm-linux-gnueabi
https://packages.debian.org/sid/gcc-arm-linux-gnueabihf

I've been using the following package for MIPS:

https://packages.debian.org/sid/gcc-mipsel-linux-gnu

I believe that Ubuntu has raced ahead with some aspects of providing cross-
toolchains for ARM, and I found these:

http://packages.ubuntu.com/xenial/gcc-arm-linux-gnueabi
http://packages.ubuntu.com/xenial/gcc-arm-linux-gnueabihf

On a slightly less general topic, I've followed these instructions for the 
most part to get L4Re and Fiasco.OC cross-compiled:

https://github.com/MIPS/fiasco-l4re/blob/master/HOWTO.fiasco-l4re#L75

The SYSTEM_TARGET setting seems to be pertinent here.

I also found that I needed to do this (for MIPS):

ln -s /usr/share/pkg-config-crosswrapper /usr/bin/mipsel-linux-gnu-pkg-config

But I did read once that Ubuntu's packages set up various symbolic links for 
ARM (ignoring the need to do this generically for many architectures).

And I also found that I needed to change src/l4/mk/Makeconf so that the 
correct pkg-config would be used:

PKG_CONFIG      = $(SYSTEM_TARGET)pkg-config

I hope this isn't telling you things you already know, and I can't help you 
with your specific topic of Linux module compilation, unfortunately.

Paul
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.