embedded-linux
/embedded-linux
Use when controlling, testing, inspecting, or debugging network-connected embedded Linux boards (ARM, ARM64, RISC-V, Buildroot, Yocto, OpenWrt, BusyBox/Dropbear) via the embedded-linux-mcp server or SSH.
- Author
- Alka-q ↗
- Repository
- embedded-linux-mcp ↗
- Licence
- MIT
- Last repository change
- 02.11.2026
Assessment and security
- Files in this package
- 3
- Scripts
- 0
- HTML comments
- 0
- URLs in SKILL.md
- 0
No signals detected. Repository changed on 02.11.2026, without references to retired models or APIs.
MIT, open: use and modify while retaining author attribution.
What it does and when to use it
Use when controlling, testing, inspecting, or debugging network-connected embedded Linux boards (ARM, ARM64, RISC-V, Buildroot, Yocto, OpenWrt, BusyBox/Dropbear) via the embedded-linux-mcp server or SSH.
Original author description
Use when controlling, testing, inspecting, or debugging network-connected embedded Linux boards (ARM, ARM64, RISC-V, Buildroot, Yocto, OpenWrt, BusyBox/Dropbear) via the embedded-linux-mcp server or SSH.
How it works
- Overview
- Mandatory Onboarding Workflow
- Flash-Safe Execution Rules
- Hardware & Debugging Playbooks
SKILL.md preview
---
name: embedded-linux
description: Use when controlling, testing, inspecting, or debugging network-connected embedded Linux boards (ARM, ARM64, RISC-V, Buildroot, Yocto, OpenWrt, BusyBox/Dropbear) via the embedded-linux-mcp server or SSH.
---
# Embedded Linux Control, Testing & Debugging
## Overview
Use this skill whenever you interact with a network-attached embedded Linux target. Embedded Linux boards differ fundamentally from cloud servers: they often run **BusyBox** userlands, **Dropbear** SSH (frequently without an SFTP subsystem), **uclibc/musl** C libraries, small RAM budgets (64 MB – 512 MB), and raw **SPI NAND/NOR or eMMC flash** that wears out under heavy writes.
## Mandatory Onboarding Workflow
Whenever starting work on a board or IP address:
1. **Check Connection Pool (`device_list` / `device_connect`):**
- Call `device_list` first. If the target device is not registered or connected, call `device_connect` with `host` (e.g., `"192.168.1.100"`), `username` (default `"root"`), and the board's credentials.
2. **Take a System Snapshot (`system_info` & `read_dmesg`):**
- Call `system_info` before running custom commands. Note:
- **Architecture & ABI:** `armv7l`, `aarch64`, `riscv64`, `mips`
- **Board Model:** from `/proc/device-tree/model`
- **Available RAM & `/tmp` capacity:** Check `memory` and `storage` (`tmpfs` size)
- Call `read_dmesg(lines=50)` to spot boot errors, driver probe failures, or voltage/MMC warnings.
## Flash-Safe Execution Rules
1. **Always Use `/tmp` for Ephemeral Files:**
- Upload test scripts, cross-compiled binaries, and diagnostic captures to `/tmp/<name>` (`tmpfs` in RAM).
- Never write temporary artifacts to `/` or `/root` unless persistence across reboots is explicitly requested by the user.
2. **Check Binary Size & Linked Libc Before Uploading:**
- Before calling `file_transfer(direction="upload")`, verify `free` RAM in `/tmp` via `system_info`.
- When cross-compiling on the host, match the target's C library (`uclibc`, `musl`, or `glibc`) or link statically (`-static` / `*-unknown-linux-musl*`) so the binary does not fail with deceptive `sh: ./app: not found` (which indicates a missing dynamic linker in `/lib/ld-*`).
3. **Respect BusyBox Command Dialect:**
- Avoid GNU-only flags (`ps aux --sort`, `df --output`, `grep -P`, `stat -c`).
- Prefer POSIX/BusyBox flags or reading `/proc` and `/sys` directly via `file_read`.
## Hardware & Debugging Playbooks
Load the relevant reference document when performing peripheral control or low-level debugging:
- **SoC Families, Cross-Compilation & GPIO Pin Math:** Read `references/soc-gpio-notes.md` for GPIO bank/group pin number calculation, static cross-compilation targets, and media/camera service contention.
- **Generic Sysfs, Peripherals & Crash Debugging:** Read `references/sysfs-debug.md` for `/sys/class/gpio`, `/sys/class/pwm`, `i2c-tools`, `spidev`, `gdbserver`, and `strace` workflows.
Files in this package (3)
- SKILL.md 3 KB
- references/soc-gpio-notes.md 2 KB
- references/sysfs-debug.md 2 KB
Versions
The database has no other skills named embedded-linux.
Database snapshot: 13.11.2026 · package version 8defc8bd2217 (SHA-256 digest of the entire package)
Downloads in the last 30 days: 0 · ranking
Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.
Similar skills
- 100embedded-linux-login-debug
Use when logging into, connecting to, or preparing to debug an embedded Linux device - 100embedded-linux-patterns
Embedded Linux patterns: Yocto layer and recipe hierarchy, kernel config fragments, device tree GPIO and interrupt properties, out-of-tree module Makefiles, sysfs attributes, and QEMU testing before hardware. Use when customizing a Linux image or writing a driver for an ARM board. - 100cross-gcc
Cross-compilation with GCC skill for embedded and multi-architecture targets. Use when setting up cross-gcc toolchains, configuring sysroots, building for ARM/AArch64/RISC-V/MIPS from an x86-64 host, troubleshooting wrong-architecture errors, or running cross-compiled binaries… - 86linux-server-ops
Use when diagnosing or managing a Linux server over SSH. - 95openwrt-kwrt-remote-ops
远程运维 OpenWrt / Kwrt(openwrt.ai 系)路由器——SSH 通道搭建、固件升级后抢修(全屋断网/DNS 黑洞/OpenClash 消失)、插件增删、新 opkg 不支持本地 ipk 时自建本地源离线安装、OpenClash 内核与启用故障、软件源报错定位、overlay 空间治理与 U 盘 extroot 建议。当用户给出路由器 IP/账号要求登录排障、说"升级固件后连不上网/WiFi 上不去、电脑没网"、提到 OpenClash/PassWall/SSR Plus 启用失败、opkg 软件源报错、装不上插件、overlay… - 100embedded-debugger
Embedded hardware debugging workflow for probe-rs targets using embedded-debugger-mcp. Use when Codex or Claude Code needs to inspect debug probes, validate embedded debugger setup, start the MCP server, guide a user through ARM Cortex-M/RISC-V flashing/debugging/RTT workflows,…