Building L4Linux for ARM

Anna Fischer anna.fischer at hp.com
Wed Jun 15 17:25:37 CEST 2011


On Wed, 2011-06-15 at 13:22 +0000, Adam Lackorzynski wrote:
> Hi,
> 
> On Wed Jun 15, 2011 at 13:24:44 +0100, Anna Fischer wrote:
> > On Wed, 2011-06-15 at 11:44 +0000, Fischer, Anna wrote:
> > > I am trying to compile/build L4Linux for an ARM-based platform.
> > > 
> > > When I execute make then I get an error saying Makeconf.l4conf cannot be
> > > found. 
> > > 
> > > These are the steps I have followed to build L4Linux.
> > > 
> > > # cd /root/l4linux
> > > # svn co http://svn.tudos.org/repos/oc/l4linux/trunk l4linux
> > > # cd l4linux/
> > > # mkdir build
> > > # cp arch/l4/configs/arm-mp_defconfig build/.config
> > > # make O=build/ oldconfig
> > > # make O=build/ menuconfig
> > > (set L4 tree build directory to '/root/l4linux/l4linux/build')
> > > (de-configure PCI etc)
> > > # make O=build/ 
> > > 
> > > L4 source directory: /root/l4linux/l4linux
> > > PWD=/root/l4linux/l4linux make -C /root/l4linux/l4linux
> > > -f /root/l4linux/l4linux/arch/l4/Makefile.l4conf
> > > O=/root/l4linux/l4linux/build L4X_LOOP_CHECK=1
> > > OUTPUT=/root/l4linux/l4linux/build/Makeconf.l4conf
> > > make[3]: *** No rule to make target `/.config.all', needed by
> > > `/root/l4linux/l4linux/build/Makeconf.l4conf'.  Stop.
> > > make[2]: *** [/root/l4linux/l4linux/build/Makeconf.l4conf] Error 2
> > >   GEN     /root/l4linux/l4linux/build/Makefile
> > > scripts/kconfig/conf --silentoldconfig Kconfig
> > > make[2]: *** No rule to make target `/.config.all', needed by
> > > `/root/l4linux/l4linux/build/Makeconf.l4conf'.  Stop.
> > >   Creating asm-l4/api-l4env -> asm/api symlink
> > >   Creating asm-l4/l4lxapi/impl symlink
> > >   Creating asm-l4/l4x-arm -> asm/l4x symlink
> > >   Creating asm-l4/l4-arch/asm symlink
> > >   Creating asm-l4/arm-arch/mach symlink
> > >   Creating asm-l4/orig-arch symlink
> > > make[1]: *** No rule to make target
> > > `/root/l4linux/l4linux/build/Makeconf.l4conf', needed by `archprepare'.
> > > Stop.
> > > make: *** [sub-make] Error 2
> > > 
> > 
> > I figured that this was because I did not point to the L4Re build
> > directory. Now I have changed that appropriately, and the build runs a
> > bit further. Now I am getting the following error:
> > 
> > # make O=build/           
> > Package libio-io was not found in the pkg-config search path.
> > Perhaps you should add the directory containing `libio-io.pc'
> > to the PKG_CONFIG_PATH environment variable
> > Package 'libio-io', required by 'libio', not found
> > Getting required compilation flags failed.
> > L4OBJ: /root/l4re-core-2011042112/src/l4/testbuild
> > L4_REQUIRED_MODS: stdlibs log l4re_c-util libio shmc
> > /root/l4linux/l4linux/arch/l4/Makefile:306: *** Aborting..  Stop.
> > make: *** [sub-make] Error 2
> 
> To build L4Linux, you need the packages that are summarized with the
> 'l4linux_requiremnts' keyword at the repomgr.
> 
> To build a Linux for ARM, the build command looks as follows:
> 
> $ make O=... L4ARCH=arm CROSS_COMPILER=arm-linux- arm_defconfig
> 
> Change path to corresponding l4re-objdir:
> $ make O=... L4ARCH=arm CROSS_COMPILER=arm-linux- menuconfig
> 
> Build:
> $ make O=... L4ARCH=arm CROSS_COMPILER=arm-linux- -j2
> 
> Which should result in a vmlinuz file in the Linux build root directory.
> 
> 
> I've updated http://wiki.tudos.org/Quickstart to include a section on
> building L4Linux on ARM.

OK, thanks, that works better now.

I have built (and successfully run) fiasco and L4Re for a Cortex-A9
(ARMv7), RealView PBX platform. When building L4Linux now, the
menuconfig automatically selects L4Linux as the system type, but then it
only offers ARMv5 or ARMv6 as build type. Does that mean there is no
support for ARMv7 in L4Linux yet?

Thanks again,
Anna






More information about the l4-hackers mailing list