L4Linux with L4Re and Fiasco.OC-UX
Paul Boddie
paul at boddie.org.uk
Thu Mar 28 23:28:17 CET 2019
Hello,
I have been looking at trying out L4Linux in UX mode as a first step towards
its use on "native" Fiasco, and I seem to be experiencing a problem with
launching the Linux kernel itself.
I have followed the instructions from these pages:
https://l4linux.org/download.shtml
https://l4linux.org/build.shtml
https://l4linux.org/use.shtml
Specifically, I have an existing build of UX that has been used for some time
to develop software. I have updated it to revision 83 and have checked out the
l4linux_requirements, which appear to be some packages (rtc and shmc) I
already have. I then performed a build once again:
make O=mybuild
The L4Linux repository has also been checked out and updated to revision 83.
The code has been configured and built using the following invocations:
make O=mybuild x86_32-ux_defconfig
make O=mybuild menuconfig # to set the L4Re build directory
make O=mybuild
Here, the mybuild directory is distinct from the L4Re mybuild directory.
For the initial RAM filesystem, I downloaded the ramdisk-x86.rd file, and I
run the system as follows:
make O=mybuild ux E=L4Linux-basic
After the usual familiar start-up messages, I see this output specific to the
configuration being launched:
----
Ned: loading file: 'rom/l4lx.cfg'
libio: Warning: Query of 'vbus' failed!
PH 0 offs=00001000 flags=r-x PH-type=0x1
virt=00100000 evirt=0053f000
phys=00100000 ephys=0053f000
f_sz=0043f000 memsz=0043f000
PH 1 offs=00440000 flags=rw- PH-type=0x1
virt=0053f000 evirt=00a58000
phys=0053f000 ephys=00a58000
f_sz=0006ce9f memsz=00519000
PH 2 offs=00371ee0 flags=--- PH-type=0x4
virt=00470ee0 evirt=00470f1c
phys=00470ee0 ephys=00470f1c
f_sz=0000003c memsz=0000003c
Starting binary at 0x100000, argc=6 argv=0xafff4f84 *argv=0xb1007ff4
argv0=rom/vmlinuz
External resolver is at 0xa8000bd0
L4Re: rom/vmlinuz: Unhandled exception: PC=0x46980b PFA=97d47fe0 LdrFlgs=0
----
In order to try and identify the problem, I used the following command:
addr2line -e ~/L4/L4Linux/l4linux/mybuild/vmlinux 0x46980b
This seems to indicate that the point of failure is at line 2727 in
arch/l4/kernel/main.c which is the start of this function:
int __ref L4_CV main(int argc, char **argv)
So, I wonder what the problem might be that leads to a crash as the main
function is being invoked. Have I missed anything obvious?
All of this is being done in a Debian unstable chroot on x86.
Paul
More information about the l4-hackers
mailing list