Hi, I have some problems with running L4 for amd64 (i586 is just fine). I am trying to run (qemu-14.1.) the hello world binary and get: --------- L4 Bootstrapper Build: #1 Mi 29. Jun 17:41:45 CEST 2011, x86-64, 4.4.5 RAM: 0000000000000000 - 000000000009f3ff: 637kB RAM: 0000000000100000 - 0000000007ffcfff: 130036kB Total RAM: 127MB Moving 7 modules to 2000000 with offset fa8000 moving module 07 { 1679000-1739a52 } -> { 2621000-26e1a52 } moving module 06 { 1678000-1678039 } -> { 2620000-2620039 } moving module 05 { 1566000-167779e } -> { 250e000-261f79e } moving module 04 { 132d000-1565b9e } -> { 22d5000-250db9e } moving module 03 { 110c000-132cb58 } -> { 20b4000-22d4b58 } moving module 02 { 10be000-110b397 } -> { 2066000-20b3397 } moving module 01 { 1058000-10bdb00 } -> { 2000000-2065b00 } Scanning /fiasco -serial_esc -comspeed 115200 -comport 1 -nokdb
This is an invalid binary, fix it (wrong ELF architecture).
Key press reboots... Rebooting. ---------
This is done with a clean checkout URL: http://svn.tudos.org/repos/oc/tudos/trunk Repository Root: http://svn.tudos.org/repos/oc/tudos Repository UUID: d050ee49-bd90-4346-b210-929a50b99cfc Revision: 33
configured for K8-type CPU.
/usr/bin/file tells me: build/obj/bin/amd64_K8/l4f/sigma0: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped build/obj/bin/amd64_K8/l4f/moe: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped build/obj/bin/amd64_K8/l4f/ned: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped build/obj/bin/amd64_K8/l4f/l4re: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped build/obj/bin/amd64_K8/l4f/loader: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped build/obj/bin/amd64_K8/l4f/hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped build/obj/bin/amd64_K8/bootstrap: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, not stripped ./../kernel/fiasco/build/fiasco: symbolic link to `main'
So why is bootstrap not built as 64 bit binary?
Daniel
Hi,
On Tue Jul 05, 2011 at 11:39:37 +0200, Daniel Müller wrote:
I have some problems with running L4 for amd64 (i586 is just fine). I am trying to run (qemu-14.1.) the hello world binary and get:
L4 Bootstrapper Build: #1 Mi 29. Jun 17:41:45 CEST 2011, x86-64, 4.4.5 RAM: 0000000000000000 - 000000000009f3ff: 637kB RAM: 0000000000100000 - 0000000007ffcfff: 130036kB Total RAM: 127MB Moving 7 modules to 2000000 with offset fa8000 moving module 07 { 1679000-1739a52 } -> { 2621000-26e1a52 } moving module 06 { 1678000-1678039 } -> { 2620000-2620039 } moving module 05 { 1566000-167779e } -> { 250e000-261f79e } moving module 04 { 132d000-1565b9e } -> { 22d5000-250db9e } moving module 03 { 110c000-132cb58 } -> { 20b4000-22d4b58 } moving module 02 { 10be000-110b397 } -> { 2066000-20b3397 } moving module 01 { 1058000-10bdb00 } -> { 2000000-2065b00 } Scanning /fiasco -serial_esc -comspeed 115200 -comport 1 -nokdb
This is an invalid binary, fix it (wrong ELF architecture).
/usr/bin/file tells me: build/obj/bin/amd64_K8/bootstrap: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, not stripped ./../kernel/fiasco/build/fiasco: symbolic link to `main'
So why is bootstrap not built as 64 bit binary?
Because common bootloaders load 32-bit binaries only. Switching to 64bit mode has be done afterwards. Anyway, bootstrap is successfully running and complains about the fiasco binary. Are you sure this one is built for amd64 (i.e. 'main' is a 64bit binary)?
Adam
On 05.07.2011 13:22, Adam Lackorzynski wrote:
So why is bootstrap not built as 64 bit binary?
Because common bootloaders load 32-bit binaries only. Switching to 64bit mode has be done afterwards. Anyway, bootstrap is successfully running and complains about the fiasco binary. Are you sure this one is built for amd64 (i.e. 'main' is a 64bit binary)?
Nope, main is also 32 bit. My assumption was, that the menuconfig generated config is used for fiasco as well - I guess that is wrong?
Daniel
On Tue Jul 05, 2011 at 13:36:50 +0200, Daniel Müller wrote:
On 05.07.2011 13:22, Adam Lackorzynski wrote:
So why is bootstrap not built as 64 bit binary?
Because common bootloaders load 32-bit binaries only. Switching to 64bit mode has be done afterwards. Anyway, bootstrap is successfully running and complains about the fiasco binary. Are you sure this one is built for amd64 (i.e. 'main' is a 64bit binary)?
Nope, main is also 32 bit. My assumption was, that the menuconfig generated config is used for fiasco as well - I guess that is wrong?
Yes, Fiasco configures separately. Do 'make config' in the fiasco build directory to change its config.
Adam
l4-hackers@os.inf.tu-dresden.de