Skip to content

Kontron Operations and Updates

Barbara Chassoul edited this page Feb 13, 2026 · 1 revision

Kontron Operations and Updates

Device networking

Get DHCP lease:

udhcpc -i eth0 -p /tmp/udhcpc.pid

From Erlang shell, inspect IP:

f(IP), {ok, [{addr, IP}]} = inet:ifget("eth0", [addr]), io:format("IP Address: ~w.~w.~w.~w~n", [element(1, IP), element(2, IP), element(3, IP), element(4, IP)]), IP.

Prepare SSH client on device

mkdir -p /data/.ssh
ssh-keygen -t ed25519 -N '' -f /data/.ssh/id_ed25519
cat /data/.ssh/id_ed25519.pub

Manual flash from device

Copy firmware to /data:

scp -i /data/.ssh/id_ed25519 -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null <USERNAME>@<DEV_HOST_IP>:<PATH_TO_GRISP_ALLOY>/artefacts/<firmware>.fw /data

Program complete image:

fwup -a -d /dev/mmcblk0 -i /data/<firmware>.fw -t complete

Manual A/B update with fwup

Apply upgrade:

fwup -a -d /dev/mmcblk0 -i /data/<firmware>.fw -t upgrade

Validate post-boot:

fwup -a -d /dev/mmcblk0 -i /data/<firmware>.fw -t validate

Status:

fwup -a -d /dev/mmcblk0 -i /data/<firmware>.fw -t status

Rollback (if available):

fwup -a -d /dev/mmcblk0 -i /data/<firmware>.fw -t rollback

Manual A/B update with grisp_updater

Tarball source:

grisp_updater:update(<<"tarball:///data/<package>.tar">>).

HTTP source:

grisp_updater:update(<<"http://<HOST_IP>:8080/<package-prefix>">>).

HTTPS source (security pack required in firmware):

grisp_updater:update(<<"https://<HOSTNAME>:8443/<package-prefix>">>).

Validation:

grisp_updater:validate().

Clone this wiki locally