Hello again and thank you for your help!
On 03/11/11 22:00, Adam Lackorzynski wrote:
Hi,
On Fri Mar 11, 2011 at 10:53:12 +0100, Siegfried Podesser wrote:
I'm just trying since nearly a week to compile L4Linux. But neither the SVN-copy nor the snapshot (l4re-snapshot-2011022209) compiles at all.
Before I will explain what I've already tried, my main question, can someone here send me a correct build vmlinuz.arm file ?
What have I already tried:
_'_'_'_'_'_L4 Linux from SVN _'_'_'_'_'_'_'_'
- checked it out :) -> svn co
http://svn.tudos.org/repos/oc/l4linux/trunk l4linux 2. kernel configuration and building -> make ARCH=arm mx51_defconfig O=build (or make ARCH=l4 mx51_defconfig O=build with recopying mx51_defconfig) -> make ARCH=arm all CROSS_COMPILE=arm-none-linux-gnueabi- O=build
The L4Linux build defaults to the 'l4' architecture, i.e. an explicit 'ARCH=l4' is not required. Also, it defaults to build for x86, and thus requires to select ARM explicitly: L4ARCH=arm. So a make call for configuring looks like this: $ mkdir build $ make L4ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- O=build arm_defconfig Before proceeding you need to set the path to your L4 build directory against which you want to build this L4Linux. This option is the first one in the L4Linux submenu. $ cd build $ make L4ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig When the path is set, a build should run through: $ make L4ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
There aren't any platform specific L4Linux versions, as the platform is always the same. Passing through (platform specific) devices is basically not affected by this.
Sorry, it doesn't build. --> The first steps (until the last one) are working as expected.
$ make L4ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig
Through this step I set the L4 build directory with "/home/abc/Work-Repositories/sepia/tudos_Vnew/l4/build". Then I tried to build it with the default settings: ------------------------------------------------------------- make L4ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- make -C /home/beresford/Work-Repositories/sepia/l4linux O=/home/beresford/Work-Repositories/sepia/l4linux/build/. L4 source directory: /home/beresford/Work-Repositories/sepia/l4linux PWD=/home/beresford/Work-Repositories/sepia/l4linux make -C /home/beresford/Work-Repositories/sepia/l4linux -f /home/beresford/Work-Repositories/sepia/l4linux/arch/l4/Makefile.l4conf O=/home/beresford/Work-Repositories/sepia/tudos_Vnew/l4/build/ L4X_LOOP_CHECK=1 OUTPUT=/home/beresford/Work-Repositories/sepia/l4linux/build/Makeconf.l4conf make[4]: *** No rule to make target `/.config.all', needed by `/home/beresford/Work-Repositories/sepia/l4linux/build/Makeconf.l4conf'. Stop. make[3]: *** [/home/beresford/Work-Repositories/sepia/l4linux/build/Makeconf.l4conf] Error 2 GEN /home/beresford/Work-Repositories/sepia/l4linux/build/Makefile scripts/kconfig/conf --silentoldconfig Kconfig make[3]: *** No rule to make target `/.config.all', needed by `/home/beresford/Work-Repositories/sepia/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/orig-arch symlink Creating asm-l4/arm-arch/mach symlink make[2]: *** No rule to make target `/home/beresford/Work-Repositories/sepia/l4linux/build/Makeconf.l4conf', needed by `archprepare'. Stop. make[1]: *** [sub-make] Error 2 make: *** [all] Error 2 ---------------------------------------------------------
and then I changed the architecture from x86 to arm (within the L4Linux menuconfig entry). In that case I get the following error: --------------------------------------------------------- make L4ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- make -C /home/beresford/Work-Repositories/sepia/l4linux O=/home/beresford/Work-Repositories/sepia/l4linux/build/. make[3]: *** No rule to make target `/.config.all', needed by `/home/beresford/Work-Repositories/sepia/l4linux/build/Makeconf.l4conf'. Stop. GEN /home/beresford/Work-Repositories/sepia/l4linux/build/Makefile scripts/kconfig/conf --silentoldconfig Kconfig make[3]: *** No rule to make target `/.config.all', needed by `/home/beresford/Work-Repositories/sepia/l4linux/build/Makeconf.l4conf'. Stop. make[2]: *** No rule to make target `/home/beresford/Work-Repositories/sepia/l4linux/build/Makeconf.l4conf', needed by `archprepare'. Stop. make[1]: *** [sub-make] Error 2 make: *** [all] Error 2
_'_'_'_'_'_L4 Linux from snapshot file _'_'_'_'_'_'_'_' or with the snapshot in general (means for the existing realview platform and not for the mx51, just to see if it builds at least)
- checked it out -> wget
http://os.inf.tu-dresden.de/download/snapshots-oc/l4re-snapshot-2011022209.t...
-> wget
http://os.inf.tu-dresden.de/download/ramdisk-arm.rd für die ramdisk.arm 3. then unzipped 4. then I've tried it exactly as Wesley Miaw posted on Jan 4.1.11 with
GCC_PATH_PREFIX=/opt/sourcery-g++-lite/bin/arm-none-linux-gnueabi- L4ARCH=arm
make setup -> selected ARM realview make cd obj/l4linux/arm-up make arm_defconfig make menuconfig -> set L4 build path obj/l4/arm-rv -> set cross compile prefix arm-none-linux-gnueabi- -> turned on ARM EABI + old EABI binaries options make
the last step does not build at all:
In the above steps you mean that you did this by hand? If you just let the 'make setup' configure everything and call make, does it work then?
The first make setup and the make after, works. But then I have to change into the obj/l4linux/arm-up directory, if I understand it right.
Also, it should be 'make L4ARCH=arm' for the last make call.
this call ends up with the following error: menuconfig ->l4linux -> arch x86 ----------------------------------------------------------------- ... make[3]: *** No rule to make target `/.config.all', needed by `/home/beresford/Work-Repositories/sepia/l4re-snapshot-2011022209/obj/l4linux/arm-up/Makeconf.l4conf'. Stop.
make[2]: *** No rule to make target `/home/beresford/Work-Repositories/sepia/l4re-snapshot-2011022209/obj/l4linux/arm-up/Makeconf.l4conf', needed by `archprepare'. Stop. make[1]: *** [sub-make] Error 2 make: *** [all] Error 2 ----------------------------------------------------------------- and with arch arm (as it should be or?) ----------------------------------------------------------------- ... # # configuration written to .config #
make[3]: *** No rule to make target `/.config.all', needed by `/home/beresford/Work-Repositories/sepia/l4re-snapshot-2011022209/obj/l4linux/arm-up/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/orig-arch symlink Creating asm-l4/arm-arch/mach symlink make[2]: *** No rule to make target `/home/beresford/Work-Repositories/sepia/l4re-snapshot-2011022209/obj/l4linux/arm-up/Makeconf.l4conf', needed by `archprepare'. Stop. make[1]: *** [sub-make] Error 2 make: *** [all] Error 2 -----------------------------------------------------------------
Maybe someone has an idea. My development platform: Gentoo Linux 64bit, 2.6.37-rc1, GCC 4.5.2, arm-none-linux-gnueabi-... version (Sourcery G++ Lite 2010.09-50) 4.5.1
Adam
Thank you for your help! I would be really glad if you could provide me maybe some more ideas to solve it.
Kind regards, siegfried