Hi,
Sorry if this is not the right forum.
I'm following https://os.inf.tu-dresden.de/fiasco/build.html
and i could build fiasco just fine.
I made a couple of guesses about how to build L4Re because I couldn't find much info:
jack@uv:~/fiasco/src/l4$ mkdir mybuild jack@uv:~/fiasco/src/l4$ make grub2iso E=hello O=mybuild MODULE_SEARCH_PATH=~/fiasco/src/kernel/fiasco/mybuild/ Processing entry 'hello' Could not find 'bootstrap' with path '/home/jack/fiasco/src/kernel/fiasco/mybuild/:/home/jack/fiasco/src/l4/mybuild/bin/amd64_opteron:/home/jack/fiasco/src/l4/mybuild/bin/amd64_opteron/l4f:/home/jack/fiasco/src/l4/mybuild/lib/amd64_opteron:/home/jack/fiasco/src/l4/mybuild/lib/amd64_opteron/l4f' make: *** [grub2iso] Error 1
I find bootstrap.o, but no 'bootstrap':
jack@uv:~/fiasco/src/l4$ find ../kernel/fiasco/mybuild/ -name bootstrap* ../kernel/fiasco/mybuild/bootstrap.o
I have googled, including this list, but I haven't found the magic combination of words to get the answer.
Thanks, jack.
This is the kernel globalconfig.out:
# # Automatically generated file; DO NOT EDIT. # Fiasco configuration #
# # Target configuration # # CONFIG_IA32 is not set CONFIG_AMD64=y # CONFIG_ARM is not set CONFIG_PF_PC=y CONFIG_ABI_VF=y CONFIG_AMD64_K8=y # CONFIG_AMD64_CORE2 is not set # CONFIG_AMD64_ATOM is not set # CONFIG_AMD64_K10 is not set # CONFIG_CPU_VIRT is not set CONFIG_SCHED_APIC=y # CONFIG_WORKAROUND_AMD_FPU_LEAK is not set
# # Kernel options # CONFIG_MP=y CONFIG_MP_MAX_CPUS=4 CONFIG_CONTEXT_4K=y # CONFIG_FINE_GRAINED_CPUTIME is not set CONFIG_SCHED_FIXED_PRIO=y # CONFIG_SCHED_WFQ is not set # CONFIG_SCHED_FP_WFQ is not set # CONFIG_DISABLE_VIRT_OBJ_SPACE is not set CONFIG_VIRT_OBJ_SPACE=y
# # Debugging # # CONFIG_INLINE is not set CONFIG_NDEBUG=y CONFIG_NO_FRAME_PTR=y # CONFIG_STACK_DEPTH is not set # CONFIG_LIST_ALLOC_SANITY is not set # CONFIG_BEFORE_IRET_SANITY is not set # CONFIG_IRQ_SPINNER is not set # CONFIG_WATCHDOG is not set # CONFIG_SERIAL is not set # CONFIG_JDB is not set # CONFIG_POWERSAVE_GETCHAR is not set # CONFIG_WARN_NONE is not set CONFIG_WARN_WARNING=y # CONFIG_WARN_ANY is not set
# # Compiling # CONFIG_CC="gcc" CONFIG_CXX="g++" CONFIG_HOST_CC="gcc" CONFIG_HOST_CXX="g++" # CONFIG_MAINTAINER_MODE is not set CONFIG_LABEL="" CONFIG_EXPERIMENTAL=y CONFIG_BIT64=y CONFIG_WARN_LEVEL=1 CONFIG_XARCH="amd64" CONFIG_IA32_TARGET="AMD Opteron" CONFIG_ABI="vf"
Hi Jack,
On 2014-04-06 11:24, Jack Andrews wrote:
Hi,
Sorry if this is not the right forum.
you've come to the right place.
I'm following https://os.inf.tu-dresden.de/fiasco/build.html [1]
and i could build fiasco just fine.
I made a couple of guesses about how to build L4Re because I couldn't find much info:
jack@uv:~/fiasco/src/l4$ mkdir mybuild jack@uv:~/fiasco/src/l4$ make grub2iso E=hello O=mybuild MODULE_SEARCH_PATH=~/fiasco/src/kernel/fiasco/mybuild/ Processing entry 'hello'
You are nearly there. Just like there is a 'building' page for Fiasco there is one for L4Re. Just follow the explanation at
https://os.inf.tu-dresden.de/L4Re/build.html
and you should get what you want. Your try did not succeed because you first have to configure your L4Re tree.
Happy hacking,
- Marcus Haehnel
Thanks Marcus,
I think things are better, but now:
jack@uv:~/fiasco/src/l4$ rm -rf mybuild/ jack@uv:~/fiasco/src/l4$ make B=./mybuild jack@uv:~/fiasco/src/l4$ make O=./mybuild config [snip] *** End of the configuration. *** Execute 'make' to start the build or try 'make help'.
scripts/kconfig/conf --silentoldconfig /home/jack/fiasco/src/l4/mybuild/Kconfig.generated All build tools checked ok. make[4]: Nothing to be done for `all'. <stdin>:1:28: fatal error: bits/c++config.h: No such file or directory compilation terminated. ln -snf /home/jack/fiasco/src/l4 /home/jack/fiasco/src/l4/mybuild/source make[1]: `/home/jack/fiasco/src/l4/mybuild/.config.all' is up to date.
jack@uv:~/fiasco/src/l4$ make mk/Makeconf:264: *** need to give builddir with O=.../builddir. Stop. jack@uv:~/fiasco/src/l4$ make O=./mybuild make[2]: Nothing to be done for `all'. ... Compiling /home/jack/fiasco/src/l4/mybuild/tool/elf-patcher/elf-patcher Makefile:103: /home/jack/fiasco/src/l4/mybuild/pkg/.Package.deps: No such file or directory === Building package "boehm_gc" === === Building package "libstdc++-headers" === ... Building /home/jack/fiasco/src/l4/mybuild/pkg/libstdc++-headers/include/.general.d ... Updating symlinks ... Building /home/jack/fiasco/src/l4/mybuild/pkg/libstdc++-headers/include-4.7/.general.d ... Updating symlinks ... Building /home/jack/fiasco/src/l4/mybuild/pkg/libstdc++-headers/include-std/.general.d ... Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks === Building package "libgcc-pure" === ... Building /home/jack/fiasco/src/l4/mybuild/pkg/libgcc-pure/lib/.general.d ... Building .general.d ... Building Makefile.inc ... Generating libgcc.a ==> Installing libgcc.a to local build-tree === Building package "ldscripts" === ... Building /home/jack/fiasco/src/l4/mybuild/pkg/ldscripts/.general.d ... Building .general.d ... Building Makefile.inc ... Generating main_stat.ld ==> Installing main_stat.ld to local build-tree ... Generating main_rel.ld ==> Installing main_rel.ld to local build-tree ... Generating main_dyn.ld ==> Installing main_dyn.ld to local build-tree ... Compiling crti_s.o ... Compiling kip_addr.o ... Generating crti.o ==> Installing crti.o to local build-tree ... Compiling crtn.o ==> Installing crtn.o to local build-tree ... Compiling crt1.o ==> Installing crt1.o to local build-tree ... Compiling crti.s.o ==> Installing crti.s.o to local build-tree ... Compiling crtn.s.o ==> Installing crtn.s.o to local build-tree ... Compiling crt1.s.o ==> Installing crt1.s.o to local build-tree === Building package "l4sys" === ... Building /home/jack/fiasco/src/l4/mybuild/pkg/l4sys/include/.general.d ... Updating symlinks ... Building /home/jack/fiasco/src/l4/mybuild/pkg/l4sys/lib/src/.general.d ... Building .general.d ... Building Makefile.inc ... Compiling kobject.o ... Compiling utcb.o ... Compiling errtostr.o ==> Archiving into libl4sys.a ==> "libl4sys.a" built ... Compiling kobject.s.o ... Compiling utcb.s.o ... Compiling errtostr.s.o ==> Linking to shared libl4sys.so ld: i386 architecture of input file `/usr/lib/gcc/i686-linux-gnu/4.7/crtbeginS.o' is incompatible with i386:x86-64 output ld: i386 architecture of input file `/usr/lib/gcc/i686-linux-gnu/4.7/crtendS.o' is incompatible with i386:x86-64 output make[5]: *** [libl4sys.so] Error 1 make[4]: *** [/home/jack/fiasco/src/l4/mybuild/pkg/l4sys/lib/src/OBJ-amd64_opteron-l4f] Error 2 make[3]: *** [src] Error 2 make[2]: *** [lib] Error 2 make[1]: *** [l4sys] Error 2 make: *** [pkg] Error 2
TIA!
jack
On 6 April 2014 19:56, Marcus Hähnel mhaehnel@os.inf.tu-dresden.de wrote:
Hi Jack,
On 2014-04-06 11:24, Jack Andrews wrote:
Hi,
Sorry if this is not the right forum.
you've come to the right place.
I'm following
https://os.inf.tu-dresden.de/fiasco/build.html [1]
and i could build fiasco just fine.
I made a couple of guesses about how to build L4Re because I couldn't find much info:
jack@uv:~/fiasco/src/l4$ mkdir mybuild jack@uv:~/fiasco/src/l4$ make grub2iso E=hello O=mybuild MODULE_SEARCH_PATH=~/fiasco/src/kernel/fiasco/mybuild/ Processing entry 'hello'
You are nearly there. Just like there is a 'building' page for Fiasco there is one for L4Re. Just follow the explanation at
https://os.inf.tu-dresden.de/L4Re/build.html
and you should get what you want. Your try did not succeed because you first have to configure your L4Re tree.
Happy hacking,
- Marcus Haehnel
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
Hi Jack,
I think things are better, but now:
jack@uv:~/fiasco/src/l4$ rm -rf mybuild/ jack@uv:~/fiasco/src/l4$ make B=./mybuild jack@uv:~/fiasco/src/l4$ make O=./mybuild config [snip] *** End of the configuration. *** Execute 'make' to start the build or try 'make help'.
scripts/kconfig/conf --silentoldconfig /home/jack/fiasco/src/l4/mybuild/Kconfig.generated All build tools checked ok. make[4]: Nothing to be done for `all'. <stdin>:1:28: fatal error: bits/c++config.h: No such file or directory compilation terminated. ln -snf /home/jack/fiasco/src/l4 /home/jack/fiasco/src/l4/mybuild/source make[1]: `/home/jack/fiasco/src/l4/mybuild/.config.all' is up to date.
jack@uv:~/fiasco/src/l4$ make mk/Makeconf:264: *** need to give builddir with O=.../builddir. Stop. jack@uv:~/fiasco/src/l4$ make O=./mybuild make[2]: Nothing to be done for `all'. ... Compiling /home/jack/fiasco/src/l4/mybuild/tool/elf-patcher/elf-patcher Makefile:103: /home/jack/fiasco/src/l4/mybuild/pkg/.Package.deps: No such file or directory === Building package "boehm_gc" === === Building package "libstdc++-headers" === ... Building /home/jack/fiasco/src/l4/mybuild/pkg/libstdc++-headers/include/.general.d ... Updating symlinks ... Building /home/jack/fiasco/src/l4/mybuild/pkg/libstdc++-headers/include-4.7/.general.d ... Updating symlinks ... Building /home/jack/fiasco/src/l4/mybuild/pkg/libstdc++-headers/include-std/.general.d ... Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks ==> Updating symlinks === Building package "libgcc-pure" === ... Building /home/jack/fiasco/src/l4/mybuild/pkg/libgcc-pure/lib/.general.d ... Building .general.d ... Building Makefile.inc ... Generating libgcc.a ==> Installing libgcc.a to local build-tree === Building package "ldscripts" === ... Building /home/jack/fiasco/src/l4/mybuild/pkg/ldscripts/.general.d ... Building .general.d ... Building Makefile.inc ... Generating main_stat.ld ==> Installing main_stat.ld to local build-tree ... Generating main_rel.ld ==> Installing main_rel.ld to local build-tree ... Generating main_dyn.ld ==> Installing main_dyn.ld to local build-tree ... Compiling crti_s.o ... Compiling kip_addr.o ... Generating crti.o ==> Installing crti.o to local build-tree ... Compiling crtn.o ==> Installing crtn.o to local build-tree ... Compiling crt1.o ==> Installing crt1.o to local build-tree ... Compiling crti.s.o ==> Installing crti.s.o to local build-tree ... Compiling crtn.s.o ==> Installing crtn.s.o to local build-tree ... Compiling crt1.s.o ==> Installing crt1.s.o to local build-tree === Building package "l4sys" === ... Building /home/jack/fiasco/src/l4/mybuild/pkg/l4sys/include/.general.d ... Updating symlinks ... Building /home/jack/fiasco/src/l4/mybuild/pkg/l4sys/lib/src/.general.d ... Building .general.d ... Building Makefile.inc ... Compiling kobject.o ... Compiling utcb.o ... Compiling errtostr.o ==> Archiving into libl4sys.a ==> "libl4sys.a" built ... Compiling kobject.s.o ... Compiling utcb.s.o ... Compiling errtostr.s.o ==> Linking to shared libl4sys.so ld: i386 architecture of input file `/usr/lib/gcc/i686-linux-gnu/4.7/crtbeginS.o' is incompatible with i386:x86-64 output ld: i386 architecture of input file `/usr/lib/gcc/i686-linux-gnu/4.7/crtendS.o' is incompatible with i386:x86-64 output
It seems you selected to build an x86-64 L4Re. For this purpose you will need the respective gcc installed. If you only want x86-32, select this during the "make config" step. If you really want to cross-compile for x86-64, you will need to install the respective libs (in Debian those are called gcc-multilib and g++-multilib).
Bjoern
Thanks for all your help,
Can I suggest something like this patch to help silly people like me? [patch for https://os.inf.tu-dresden.de/fiasco/build.html]
Index: fiasco/The Fiasco microkernel - Building and Using.html =================================================================== --- fiasco.orig/The Fiasco microkernel - Building and Using.html 2014-04-07 05:24:31.019690370 +1000 +++ fiasco/The Fiasco microkernel - Building and Using.html 2014-04-07 05:35:37.859319499 +1000 @@ -175,8 +175,9 @@ <p> To test your Fiasco.OC build we recommend to use <a href="http://qemu.org/">QEMU</a>. There are several - options for booting, one is to generate a bootable ISO image. For that, build - L4Re and launch in the build directory of your L4Re tree: + options for booting, one is to generate a bootable ISO image. For that, + <a href="http://os.inf.tu-dresden.de/L4Re/build">build L4Re</a> + and launch in the build directory of your L4Re tree: </p>
<div class="code"> @@ -250,4 +251,4 @@
-</body></html> \ No newline at end of file +</body></html>
On Mon Apr 07, 2014 at 05:40:21 +1000, Jack Andrews wrote:
Can I suggest something like this patch to help silly people like me? [patch for https://os.inf.tu-dresden.de/fiasco/build.html]
Thanks, I've changed it.
Adam
l4-hackers@os.inf.tu-dresden.de