ARM/sel4 compatibility

Alexander Boettcher alexander.boettcher at genode-labs.com
Tue Aug 7 13:25:02 CEST 2018


Hello,

On 06.08.2018 16:15, Edward Sandberg wrote:
> Can someone please provide an up-to-date ARM hardware compatibility list
> for Genode 18.05 and seL4: boards and drivers?  Which boards are tested
> regularly?

as stated in the 17.08 [0] release notes - we solely enabled the
Wandboard as an ARM example for Genode/seL4 and test it every night. For
the Wandboard we have a timer, network and sd_card driver.

[0]
https://genode.org/documentation/release-notes/17.08#The_seL4_kernel_on_ARM_and_64-bit_x86_hardware


> cp ./dde_linux/lib/mk/spec/foc/rpi_usb.mk ./dde_linux/lib/mk/spec/sel4/
> 
> but then I hit:
> Library-description file kernel-sel4.mk is missing
> Library-description file syscall-sel4.mk is missing
> make[2]: *** No rule to make target 'syscall-sel4.lib', needed by
> 'startup-sel4.lib'.  Stop.

You may of course try to enable further ARM boards, supported by Genode
and by the seL4 kernel in general.  However, as you noticed, you will
have to come up with a kernel-sel4.mk and syscall-sel4.mk for your
specific ARM board.

For Wandboard those file are

repos/base-sel4/lib/mk/spec/wand_quad/syscall-sel4.mk
repos/base-sel4/lib/mk/spec/wand_quad/kernel-sel4.mk

You may copy them and adjust them as needed for your desired target. In
the files you will have to configure the used seL4 tools & Makefiles the
right way to succeed. For details please consult the seL4 documentation.

> 
> * Wandboard Quad
> Build completes, but when loading UImage all we see is:
> ## Booting kernel from Legacy Image at 12000000 ...
>    Image Name:
>    Image Type:   ARM Linux Kernel Image (gzip compressed)
>    Data Size:    697455 Bytes = 681.1 KiB
>    Load Address: 10001000
>    Entry Point:  10001000
>    Verifying Checksum ... OK
>    Uncompressing Kernel Image ... OK
> So it is unclear whether sel4 has started or not.

I attached the beginning of a Wandboard Genode/seL4 of our automated
nightly test for your reference. The first life sign is "ELF-loader
started on CPU" from the seL4 elfloader tool. The sources are located in
contrib/sel4_elfloader-<hash> and used by kernel-sel4.mk.


U-Boot SPL 2015.10-00237-g92e40f5-dirty (Dec 04 2015 - 15:37:04)
U-Boot 2015.10-00237-g92e40f5-dirty (Dec 04 2015 - 15:37:04 +0100)
CPU:   Freescale i.MX6Q rev1.2 at 792 MHz
Reset cause: POR
Board: Wandboard rev B1
I2C:   ready
DRAM:  2 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
No panel detected: default to HDMI
Display: HDMI (1024x768)
In:    serial
Out:   serial
Err:   serial
Net:   FEC [PRIME]
Hit any key to stop autoboot:  1  0
FEC Waiting for PHY auto negotiation to complete.... done
BOOTP broadcast 1
DHCP client bound to address X.X.X.X (2 ms)
Using FEC device
TFTP from server X.X.X.X; our IP address is X.X.X.X
Filename '/tftpboot/hosts/wandboard.scr'.
Load address: 0x12000000
Loading: *#
	 153.3 KiB/s
done
Bytes transferred = 157 (9d hex)
## Executing script at 12000000
Using FEC device
TFTP from server X.X.X.X; our IP address is X.X.X.X
Filename '/tftpboot/wand_quad/uImage'.
Load address: 0x50000000
Loading: *###################################################
	 6.6 MiB/s
done
Bytes transferred = 745105 (b5e91 hex)
## Booting kernel from Legacy Image at 50000000 ...
   Image Name:
   Image Type:   ARM Linux Kernel Image (gzip compressed)
   Data Size:    745041 Bytes = 727.6 KiB
   Load Address: 20000000
   Entry Point:  20000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK


Starting kernel ...
ELF-loader started on CPU: ARM Ltd. Cortex-A9 r2p10
  paddr=[20000000..201cc01f]
ELF-loading image 'kernel'
  paddr=[10000000..10039fff]
  vaddr=[e0000000..e0039fff]
  virt_entry=e0000000
ELF-loading image 'genode.elf'
  paddr=[1003a000..102e2fff]
  vaddr=[2000000..22a8fff]
  virt_entry=2000000
Enabling MMU and paging
Jumping to kernel-image entry point...
Info: Not using supported FPU as FPU is disabled in the build configuration
Bootstrapping kernel
Booting all finished, dropped to user space


-- 
Alexander Boettcher
Genode Labs

https://www.genode-labs.com - https://www.genode.org

Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth



More information about the users mailing list