Inforce

Warning: seL4 support for this platform is unmaintained. Using it would require fixing userlevel library support which is known to be broken.

This page contains info on building seL4 for the Inforce IFC6410 development board, running a Qualcomm Krait processor that is like an A15. Krait is a Qualcomm reimplementation of ARMv7A.

Building for the Inforce IFC6410

To use default build config, use “inforce_” configurations.

To make a bootable image you will need the Android bootimg tool. On Debian, do

apt-get install android-mkbootimg

Then when you have built your app, you can create a boot image with these commands (substituting the name of your output file for “sel4test-driver-image-arm-apq8064”):

> ramdisk
objcopy -O binary sel4test-driver-image-arm-apq8064 sel4test-driver-image-arm-apq8064.bin
mkbootimg --kernel sel4test-driver-image-arm-apq8064.bin --ramdisk ramdisk --base "0x82000000" --output boot.img

Serial Console

The serial port on the Inforce is at RS232 voltage levels. Connect to a normal serial port, then use minicom or screen to talk to it, at 115200 baud, no parity, eight bits.

Booting seL4

Force the board to boot into Fastboot mode by shorting pins 26 and 30 on the large header — see This blog post for details.

You will see something like this on the serial port:

Android Bootloader - UART_DM Initialized!!!
[0] welcome to lk

[10] platform_init()
[10] target_init()
[130] USB init ept @ 0x88f4e000
[170] fastboot_init()
[170] udc_start()
[300] -- reset --
[300] -- portchange --
[470] fastboot: processing commands

You can then do:

fastboot boot boot.img

and should then see the output from your app.

CAVEATS

The timer driver is not complete, which means that two of the tests in seL4test will fail.