Agent skill · software engineering · aiskillstore
routeros-qemu-chr
MikroTik RouterOS CHR (Cloud Hosted Router) with QEMU. Use when: running RouterOS in QEMU, booting CHR images, debugging CHR boot failures, setting up VirtIO devices for RouterOS, choosing between SeaBIOS and UEFI boot, configuring QEMU port forwarding for RouterOS REST API, or selecting QEMU acceleration (KVM/HVF/TCG).
Why this skill is useful
Provides specific QEMU invocation patterns and MikroTik RouterOS CHR configurations that the AI wouldn't reliably generate on its own.
What it needs
Requires qemu installed locally. Requires mikrotik account access. About 8k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.
What this skill does
RouterOS CHR with QEMU What Is CHR Cloud Hosted Router (CHR) is MikroTik's x8664 and aarch64 RouterOS image designed for virtual machines. Free license allows unlimited use with 1 Mbps speed limit — sufficient for development, testing, API work, and packet sniffer debugging. A free 60-day trial removes the speed limit entirely (requires a free mikrotik.com account). See CHR licensing reference for full details on license tiers, trial activation, and expiry behavior. Image Variants Image Architecture Boot method Source --- --- --- --- chr-<ver>.img x8664 SeaBIOS (MBR chain-load) download.mikrotik.com chr-<ver>-arm64.img aarch64 UEFI (EDK2 pflash) download.mikrotik.com chr-efi.img (fat-chr) x8664 UEFI (OVMF) tikoci/fat-chr GitHub Standard x86 image has a proprietary boot partition — it looks like an EFI System Partition in GPT but is NOT FAT. UEFI firmware (OVMF) cannot read it. Only SeaBIOS can boot it via MBR chain-load. The fat-chr repackaged image converts this to standard FAT16 with EFI/BOOT/BOOTX64.EFI, enabling UEFI boot. Required for Apple Virtualization.framework on X86 macOS, optional everywhere else. Disk layout (128 MiB, both architectures): Hybrid GPT+MBR, partition 1 = boot (~33 MiB), partition 2 = ext4 root (~94 MiB). Downloading CHR Images Images are distributed as .img.zip — unzip to get the raw .img disk file. Pattern Choices: QEMU Invocation There are several valid approaches to launching CHR under QEMU. Each has tradeoffs: Pattern A: Inline arguments (simplest, good for scripts) Everything on the command line. Easy for an LLM to construct and debug — all state is visible in one place. Pros: Single command, easy to read, easy to modify. Cons: Long command lines, hard to version-control, no persistence. Pattern B: Wrapper script (good for reuse) A shell script that detects acceleration, handles firmware paths, manages PID files. Pros: Portable, handles platform differences, parameterizable. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aiskillstore/routeros-qemu-chr