L4Linux with L4Re and Fiasco.OC-UX
adam at os.inf.tu-dresden.de
Wed Apr 3 07:56:32 CEST 2019
On Thu Mar 28, 2019 at 23:28:17 +0100, Paul Boddie wrote:
> 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:
> 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
> 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?
Guess not except that doing this on UX could be a bit adventurous
nowadays. Which instruction is sitting at 0x46980b?
More information about the l4-hackers