AgentSkillsCN

renode-init

在 TMNL 中为 Renode 设计无头 tmux 启动工作流。当您启动或重启 Renode 会话、UART 套接字,或打开监控窗格时,这一技能将助您事半功倍。

SKILL.md
--- frontmatter
name: renode-init
description: Headless tmux launch workflow for Renode in TMNL. Invoke when starting or restarting Renode sessions, UART sockets, or monitor panes.
model_invoked: true
triggers:
  - 'renode init'
  - 'renode-init'
  - 'renode tmux'
  - 'tmux renode'
  - 'headless renode'
  - 'uart socket'
allowed-tools: [Bash, Read, Write]

Renode Init Workflow (TMNL)

When to Use

  • Starting Renode headless with tmux.
  • Recreating or reattaching a Renode session.
  • Ensuring UART and monitor sockets are wired.

Canonical Sources

  • embedded/renode/scripts/renode-init.sh
  • embedded/renode/nrf52840/nrf52840-telemetry.resc
  • embedded/renode/README.md

Mandatory Flow

  1. Start the tmux session:
bash
embedded/renode/scripts/renode-init.sh
  1. Attach to the session:
bash
tmux attach -t tmnl-renode
  1. Verify sockets:
bash
nc 127.0.0.1 1234
nc 127.0.0.1 5501

Decision Trees

Session Creation

code
Need a Renode session?
├─ tmux session exists? -> tmux attach -t tmnl-renode
└─ no session           -> renode-init.sh

UART Port Override

code
Need a non-default UART port?
├─ Yes -> set TMNL_RENODE_UART_PORT before renode-init.sh
└─ No  -> use default 5501

Environment Overrides

bash
export TMNL_RENODE_SESSION=tmnl-renode
export TMNL_RENODE_SCRIPT=embedded/renode/nrf52840/nrf52840-telemetry.resc
export TMNL_RENODE_UART_PORT=5501
export TMNL_RENODE_MONITOR_ADDR=127.0.0.1:1234

DO NOTs (Strict)

  • DO NOT use PTY UART terminals. Use TCP sockets + nc.
  • DO NOT launch Renode GUI when running in tmux.
  • DO NOT start multiple Renode tmux sessions.
  • DO NOT change ports without updating nc and docs.

Guardrails (Mandatory)

  • Use --disable-gui (script handles this).
  • Keep CreateServerSocketTerminal in the .resc script.
  • Keep three windows: renode, uart, console.
  • Keep a single session name: tmnl-renode.

Highly Suggested

  • Kill a stale session before restart:
bash
tmux kill-session -t tmnl-renode
  • Use TMNL_RENODE_SCRIPT when switching .resc files.
  • Keep scripts and firmware paths under embedded/renode/.

Quick Commands

bash
embedded/renode/scripts/renode-init.sh
tmux attach -t tmnl-renode
tmux kill-session -t tmnl-renode

Files to Edit

  • embedded/renode/scripts/renode-init.sh
  • embedded/renode/nrf52840/nrf52840-telemetry.resc
  • embedded/renode/README.md