Repair CAN bring-up on a custom i.MX93 carrier.
Inspect the real Linux source tree, patch device-tree pinmux in VS Code, build with BitBake, validate CAN on a physical fixture and open an evidence-backed pull request.
Follow a complete engineering workflow across the Linux shell, VS Code, GitHub and real hardware. KERNARY keeps the code change, validation results and release decision connected.
Tools connected by KERNARY
Linux shellGit, BitBake, systemd, can-utils and i2c-tools
VS CodeSource, tasks, diffs and the integrated terminal
GitHubPull requests, Actions checks and review gates
KERNARYOrchestration, validation and evidence interfaces
Interactive demos
Select a scenario or let it play. Each stage updates the editor, Linux terminal and pull request together.
Guided walkthrough
Inspect the real Linux source tree, patch device-tree pinmux in VS Code, build with BitBake, validate CAN on a physical fixture and open an evidence-backed pull request.
Search the source tree and correlate the boot log with the board revision.
&flexcan1 { pinctrl-names = "default";- pinctrl-0 = <&pinctrl_flexcan1>; }; &iomuxc {orbit@build-cell-317 ~/workspace/orbit-controller-demo
$git switch -c fix/can1-pinmux
$rg -n "flexcan1" arch/arm64/boot/dts/freescale
!can0: interface remains DOWN after boot
Pull request #1842
Draft fix/can1-pinmux into main
kernary-engineer[bot]opened this change · human review required
0 of 5 checks complete
Source policydiff + binding validation
RunningYocto buildbuild #2387 · manifest
WaitingQEMU smoke42 checks passed
WaitingHIL / CAN loopbackboard rev B · 18/18
WaitingHuman release gateapproval required
Waiting◇KERNARY evidence bundle18 / 18 HIL assertions passed · boot target 4.8s
build #2387test #9183source diffHuman release gateAgent cannot merge or sign this release
Engineering use cases
The demos connect the KERNARY product line to work an embedded team already recognises.
Inspect the real Linux source tree, patch device-tree pinmux in VS Code, build with BitBake, validate CAN on a physical fixture and open an evidence-backed pull request.
Confirm the bus and address with standard Linux tools, add the device-tree node, load the upstream driver and preserve the observed measurement as evidence.
Move from a fleet alert to a reproducible board-lab failure, use Git bisect and system logs to isolate the change, then send a guarded fix through CI.
Developer integrations
These examples use familiar VS Code tasks and GitHub Actions workflows alongside the KERNARY developer experience.
VS Code / task runner
A workspace task launches the native Yocto command from the repository root. The editor is the control surface; Linux remains the execution environment.
{
"version": "2.0.0",
"tasks": [
{
"label": "KERNARY demo: Yocto build",
"type": "shell",
"command": "source oe-init-build-env build && bitbake kernary-image-production",
"options": { "cwd": "${workspaceFolder}" },
"problemMatcher": [],
"group": { "kind": "build", "isDefault": true }
}
]
}GitHub / pull request checks
A self-hosted runner builds with native tooling. KERNARY then requests physical validation and associates evidence with the pull request.
name: Embedded evidence demo
on:
pull_request:
jobs:
build-and-test:
runs-on: [self-hosted, linux, x64, yocto]
steps:
- uses: actions/checkout@v6
- name: Build image
shell: bash
run: |
source oe-init-build-env build
bitbake kernary-image-production
- name: Request physical validation
run: |
# KERNARY product preview; not publicly available.
kernary test run --suite can-and-boot --evidence githubPlan your next release
KERNARY connects source changes, repeatable builds and real-hardware validation so teams can find issues earlier, make release decisions with evidence and avoid late-stage rework.