Hi Richard,
Error seems still to be the same I'm afraid although no complaint for missing header (so it's there), so something's different.
Debian installer is here :) http://ftp.de.debian.org/debian-cd/current/amd64/iso-cd/debian-12.5.0-amd64-...
Thanks, Adam
On Thu Apr 11, 2024 at 22:52:01 +0000, Richard Clark wrote:
Adam,
What's the recommended Debian distro to build on? Could you point me at an iso image so I can spin up a VM, please?
Thanks!
Richard
From: Adam Lackorzynski adam@l4re.org Sent: Thursday, April 11, 2024 3:55 PM To: Richard Clark richard.clark@coheretechnology.com; l4-hackers@os.inf.tu-dresden.de l4-hackers@os.inf.tu-dresden.de Subject: Re: 23.10.1 amd64 l4linux doesn't build
[EXTERNAL]
Hi Richard,
On Thu Apr 11, 2024 at 17:51:40 +0000, Richard Clark wrote:
Adam,
Thank you for the response!
I'm building on a fresh install of linux mint cinnamon. That should be irrelevant as the build should be using its own include files, not that of the host.
Ah! Building Linux requires to have libelf-dev installed nowadays, for building the objtool tool.
Yes, everyone and their sister has a virtual machine nowadays. These are of limited use, however. There are instances where the user-space runtime directly on top of the l4 kernel (native l4 app) is extremely useful.
Absolutely.
There are also instances where it is helpful to have a full unikernel to run paravirtualized directly on top of the l4 kernel.
Yep.
And of course, completely untrusted code which is expected to be attacked and owned gets sandboxed into its own virtual space. I have use for all three cases.
Sure.
All that is possible of course. I was just referring to the different virtualization options and did not want to exclude the other options besides virtualization.
I'm (was?) assuming that running a multicore AMD64 linux in a vm is functional, and am exploring the other two options.
Good assumption :)
I wanted to check the paravirtualzed version first since there seems to be some instructions for it. It comes packaged alongside the snapshots.
Yep. The snapshot also has some targets for running uvmm VMs. Please check the screencasts at https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fl4re.org%2...https://l4re.org/cast-multi-vm-qemu.html
Adam
Here is about where it seems to go astray:
=============================================== For quick build instructions, please visit: https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwiki.tudos....http://wiki.tudos.org/Quickstart https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fl4linux.org...http://l4linux.org/build.shtml =============================================== DESCEND objtool <stdin>:1:10: fatal error: libelf.h: No such file or directory compilation terminated. CALL /home/webadmin/Fiasco/l4re-snapshot-23.10.1/src/l4linux/scripts/checksyscalls.sh INSTALL libsubcmd_headers HOSTLD scripts/mod/modpost CC kernel/bounds.s CHKSHA1 /home/webadmin/Fiasco/l4re-snapshot-23.10.1/src/l4linux/include/linux/atomic/atomic-arch-fallback.h UPD include/generated/timeconst.h CHKSHA1 /home/webadmin/Fiasco/l4re-snapshot-23.10.1/src/l4linux/include/linux/atomic/atomic-instrumented.h CHKSHA1 /home/webadmin/Fiasco/l4re-snapshot-23.10.1/src/l4linux/include/linux/atomic/atomic-long.h CC /home/webadmin/Fiasco/l4re-snapshot-23.10.1/obj/l4linux/amd64/tools/objtool/arch/x86/special.o MKDIR /home/webadmin/Fiasco/l4re-snapshot-23.10.1/obj/l4linux/amd64/tools/objtool/arch/x86/lib/ CC /home/webadmin/Fiasco/l4re-snapshot-23.10.1/obj/l4linux/amd64/tools/objtool/weak.o GEN /home/webadmin/Fiasco/l4re-snapshot-23.10.1/obj/l4linux/amd64/tools/objtool/arch/x86/lib/inat-tables.c In file included from /home/webadmin/Fiasco/l4re-snapshot-23.10.1/src/l4linux/tools/objtool/include/objtool/objtool.h:13, from /home/webadmin/Fiasco/l4re-snapshot-23.10.1/src/l4linux/tools/objtool/include/objtool/arch.h:11, from /home/webadmin/Fiasco/l4re-snapshot-23.10.1/src/l4linux/tools/objtool/include/objtool/check.h:11, from /homie/webadmin/Fiasco/l4re-snapshot-23.10.1/src/l4linux/tools/objtool/include/objtool/special.h:10, from arch/x86/special.c:4: /home/webadmin/Fiasco/l4re-snapshot-23.10.1/src/l4linux/tools/objtool/include/objtool/elf.h:37:9: error: unknown type name ‘GElf_Shdr’ 37 | GElf_Shdr sh; | ^~~~~~~~~ /home/webadmin/Fiasco/l4re-snapshot-23.10.1/src/l4linux/tools/objtool/include/objtool/elf.h:42:9: error: unknown type name ‘Elf_Data’ 42 | Elf_Data *data; | ^~~~~~~~ /home/webadmin/Fiasco/l4re-snapshot-23.10.1/src/l4linux/tools/objtool/include/objtool/elf.h:54:9: error: unknown type name ‘GElf_Sym’ 54 | GElf_Sym sym; | ^~~~~~~~ /home/webadmin/Fiasco/l4re-snapshot-23.10.1/src/l4linux/tools/objtool/include/objtool/elf.h:82:9: error: unknown type name ‘Elf’ 82 | Elf *elf; | ^~~
Thanks!
Richard
From: Adam Lackorzynski adam@l4re.org Sent: Thursday, April 11, 2024 1:18 PM To: Richard Clark richard.clark@coheretechnology.com; l4-hackers@os.inf.tu-dresden.de l4-hackers@os.inf.tu-dresden.de Subject: Re: 23.10.1 amd64 l4linux doesn't build
[EXTERNAL]
Hi Richard,
which Linux variant are you doing this on, out of curiosity? This is typically assembled on stable Debian, so it's good to know the difference.
On another note, regarding virtualization, please focus on uvmm instead of L4Linux. L4Linux is pure paravirtualization while on today's systems we obviosly want to exploit the CPUs virtualization support capabilities which uvmm does nicely.
Best regards, Adam
On Thu Apr 11, 2024 at 14:47:55 +0000, Richard Clark wrote:
Hi!
I'm doing microkernel evaluations for a US gov't contract to find a nice shiny new replacement for the dismal little l4 microkernel they've been using and failing with... Fiasco/L4/L4linux seems to be a wonderfully full-featured software platform that easily fits the bill. Separation/Capability microkernel, fully developed user space, l4-native linux, and even a vmm that runs a sandboxed linux.
Latest build with snapshot 23.10.1 and l4linux 23.10.1 seems the amd64 l4linux is broken with issues in libelf.h, gelf.h, and elf.h. 32bit build seems to build ok.
Still trying to get something up and running. I'll try 32-bit with qemu for now. I do need 64-bit to compile and run, so I would appreciate any info on how to fix the build issues.
Adam