Hi,
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
My cross-compiler is arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2011.03-41) 4.5.2. I have successfully used it to also build fiasco + L4Re.
Thanks for your help.
Anna
On Wed, 2011-06-15 at 11:44 +0000, Fischer, Anna wrote:
Hi,
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
Looking into my L4Re build directory, I thought the modules are all there:
# ls -l /root/l4re-core-2011042112/src/l4/testbuild/pkg/cxx_libc_io/lib/src/OBJ-arm_armv7a-l4f/ total 116 -rw-r--r-- 1 root root 1310 Jun 15 09:26 Makefile -rw-r--r-- 1 root root 828 Jun 15 09:26 Makefile.inc -rw-r--r-- 1 root root 71 Jun 14 12:18 io_backend.cxxflags lrwxrwxrwx 1 root root 71 Jun 14 12:18 io_backend.e.cc -> /root/l4re-core-2011042112/src/l4/pkg/cxx_libc_io/lib/src/io_backend.cc -rw-r--r-- 1 root root 34 Jun 14 12:18 io_backend.e.cxxflags -rw-r--r-- 1 root root 18148 Jun 15 09:26 io_backend.e.o -rw-r--r-- 1 root root 17308 Jun 15 09:26 io_backend.o drwxr-xr-x 2 root root 4096 Jun 14 12:18 libcxx_libc_io -rw-r--r-- 1 root root 17852 Jun 15 09:26 libcxx_libc_io.a drwxr-xr-x 2 root root 4096 Jun 14 12:18 libcxx_libc_io_e -rw-r--r-- 1 root root 18796 Jun 15 09:26 libcxx_libc_io_e.a drwxr-xr-x 2 root root 4096 Jun 14 12:18 noexc drwxr-xr-x 2 root root 4096 Jun 14 12:18 r
Any idea what the problem here is?
Thanks, Anna
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.
Adam
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
On Wed Jun 15, 2011 at 16:25:37 +0100, Anna Fischer wrote:
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?
Just take ARMv6, it does not really matter for L4Linux. For example it would be also possible to run the v5 version in this setup (MP excluded).
Adam
l4-hackers@os.inf.tu-dresden.de