Getting Started with Synaptics Coralboard™ SL

This is a page about an out of box experience with the Synaptics Coralboard™ SL.

Documentation:

Availability:

Addons:

Alternative:

Synaptics Astra Tools

Latest Software release

Flashing Synaptics Example SDK:

To flash the SDK to the board, we will need Synaptics USB-Tool

git clone https://github.com/synaptics-astra/usb-tool.git
cd ./usb-tool/

In this same usb-tool directory, extract your example image:

./usb-tool$ unzip sl2619_coralboard_scarthgap_6.12_v2.5.0.zip
/usb-tool$ tree -L 1
.
├── astra-usbboot-images
├── bin
├── eMMCimg
├── README.rst
├── RELEASE_NOTES.md
├── sl2619_coralboard_scarthgap_6.12_v2.5.0.zip
├── Synaptics_WinUSB_Driver
├── UBOOT_RELEASE_NOTES.md
├── update_emmc.bat
├── update_emmc.sh
├── update_spi.bat
└── update_spi.sh

5 directories, 8 files

Now flash the board: (early development boards used eMMC, production units will use microSD, this will change)

sudo ./update_emmc.sh
Astra Update

Update Image: sl2619 
    Image Type: eMMC
    Secure Boot: genx
    Memory Layout: 2GB
    DDR Type: DDR4X16
    Boot Image ID: 

Boot Image: sl2619 coralboard (35ac1aea-5f76-11f1-a1dd-00155dd97baa)
    Secure Boot: genx
    Memory Layout: 2GB
    Memory DDR Type: DDR4X16
    Device Series: SL26XX
    Transport Type: USB_CDC
    U-Boot Console: UART
    uEnv.txt Support: enabled
    NAND Support: disabled
    U-Boot Variant: Synaptics U-Boot

Waiting for Astra Device(s): (06CB:019E) (CAFE:4002) (18D1:4EE0)

Hold USER and toggle reset, flashing progress will be shown over serial

Default user is root no password:

Poky (Yocto Project Reference Distro) 5.0.9 sl2619-coralboard ttyS0

sl2619-coralboard login: [   25.744563] dwc2 f7b00000.usb: new device is high-speed
[   25.831779] dwc2 f7b00000.usb: new device is high-speed
[   25.888264] dwc2 f7b00000.usb: new address 33
[   27.905727] EXT4-fs (mmcblk0p18): resizing filesystem from 2436096 to 2470139 blocks
[   27.979480] EXT4-fs (mmcblk0p18): resized filesystem to 2470139
[   28.488598] systemd-sysv-generator[770]: SysV service '/etc/init.d/tee-supplicant' lacks a native systemd unit file, automatically generating a unit file for compatibility.
[   28.507823] systemd-sysv-generator[770]: Please update package to include a native systemd unit file.
[   28.518878] systemd-sysv-generator[770]: ! This compatibility logic is deprecated, expect removal soon. !
[   28.543059] systemd-sysv-generator[770]: SysV service '/etc/init.d/dropbear' lacks a native systemd unit file, automatically generating a unit file for compatibility.
[   28.562614] systemd-sysv-generator[770]: Please update package to include a native systemd unit file.
[   28.572571] systemd-sysv-generator[770]: ! This compatibility logic is deprecated, expect removal soon. !
[  OK  ] Finished Resize root filesystem to fit available disk space.
[   35.684365] i2c 3-0038: deferred probe pending: i2c: supplier 3-0045 not ready

sl2619-coralboard login: root

WARNING: Poky is a reference Yocto Project distribution that should be used for
testing and development purposes only. It is recommended that you create your
own distribution for production use.

root@sl2619-coralboard:~# 

Building the SDK

Right now Synaptics recommends: Astra Yocto Linux Developer Guide — Synaptics Astra SDK User Guide scarthgap_6.12_v2.5.0 documentation

I could not get the KAS docker to work with Synaptics current release, here is a custom ubuntu-yocto dockerfile that i was able to use to build the sdk: https://openbeagle.org/beagleboard/ci-docker-images/-/blob/main/docker/amd64/yocto-ubuntu-22.04-amd64/Dockerfile?ref_type=heads

Here is an example ci pipeline on gitlab: Robert Nelson / ci-astra-sl2619-coralboard · GitLab

Setup SDK Repository:

git clone -b scarthgap_6.12_v2.5.0 https://github.com/synaptics-astra/sdk
cd sdk/
git submodule sync
git submodule update --init --recursive

Advanced, at the time of 6.12_v2.5.0 tag, some 3rd party projects are behind their scarthgap branch and can be update.. Use this quick bash script to update them all (this fixes building the sdk on some newer distros).

cd meta-clang/
git checkout origin/scarthgap
cd ../

git add meta-clang
git commit -a -m "update meta-clang scarthgap"
git submodule status

cd meta-openembedded/
git checkout origin/scarthgap
cd ../

git add meta-openembedded
git commit -a -m "update meta-openembedded scarthgap"
git submodule status

cd meta-selinux/
git checkout origin/scarthgap
cd ../

git add meta-selinux
git commit -a -m "update meta-selinux scarthgap"
git submodule status

cd meta-swupdate/
git checkout origin/scarthgap
cd ../

git add meta-swupdate
git commit -a -m "update meta-swupdate scarthgap"
git submodule status

cd meta-virtualization/
git checkout origin/scarthgap
cd ../

git add meta-virtualization
git commit -a -m "update meta-virtualization scarthgap"
git submodule status

cd poky/
git checkout origin/scarthgap
cd ../

git add poky
git commit -a -m "update poky scarthgap"
git submodule status

Setup Environment:

Use the mirror to help create your local mirror, the files (EULA, gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz and gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz) are broken in the current yocto scripts.

export SOURCE_MIRROR_URL=https://rcn-ee.net/mirror/astra/
export ACCEPT_SYNA_EULA=1
export MACHINE=sl2619-coralboard
export OOBE=enabled
source meta-synaptics/setup/setup-environment

Build

MACHINE=sl2619-coralboard bitbake astra-media

Advanced, Build Linux and patch:

MACHINE=sl2619-coralboard bitbake linux-syna