routeros-netinstall — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited routeros-netinstall (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill focuses on official Netinstall / `netinstall-cli` behavior. tikoci/netinstall is a useful wrapper and source of grounded examples, but it is only one way to drive the tool.
netinstall-cli DoesNetinstall reinstalls RouterOS onto a device that has booted into etherboot mode. The Linux tool, netinstall-cli, listens for BOOTP requests and then sends the RouterOS boot image and selected .npk packages.
Grounded behavior from MikroTik docs:
netinstall-cli is the Linux command-line variant. The Windows GUI exposes nearly the same core options.
netinstall-cli [-r] [-e] [-b] [-m [-o]] [-f] [-v] [-c]
[-k <keyfile>] [-s <userscript>] [-sm <modescript>]
[--mac <mac>] {-i <interface> | -a <client-ip>} [PACKAGES...]| Flag | Meaning |
|---|---|
-r | Reinstall and apply the default-configuration stage |
-e | Reinstall with empty configuration |
-b | Discard the currently installed branding package |
-m | Enable repeated installs in one run |
-o | With -m, only reinstall a given MAC once per run; by itself it behaves like a normal single install |
-f | Ignore storage-size checks |
-v | Verbose output |
-c | Allow multiple netinstall instances on the same host |
-k <keyfile> | Install a license key (.KEY) |
-s <userscript> | Install a persistent configure script that replaces the RouterOS-supplied default configuration script |
-sm <modescript> | Install a one-time mode script for the first boot after install |
--mac <mac> | Only respond to this MAC address |
-i <interface> | Bind to a specific interface |
-a <client-ip> | Assign a specific client IP; if -i is used, server IP is auto-detected |
routeros-...npk first in the package list.The official workflow is:
For Linux netinstall-cli, the important first-boot order is:
That ordering matters: use -sm for first-boot state that must happen before default or custom configuration, especially `/system/device-mode` and protected-routerboot.
The docs use several names for the persistent -s script: configure script, initial configuration, and the custom default configuration script visible at:
/system/default-configuration/custom-script/printThese two script types are different:
| Feature | Configure script (-s) | Mode script (-sm) |
|---|---|---|
| Purpose | Replace RouterOS-supplied default config script | One-time first-boot actions before config scripts |
| When it runs | As the device's default-configuration stage | On first boot after install, before custom/default config |
| Persistence | Stored on device | Auto-removed after execution |
| Survives upgrades | Yes | No |
Later /system reset-configuration | Runs again after reset | Does not persist for later resets |
| Version requirement | Available in RouterOS 7.x docs | Requires RouterOS 7.22+ and netinstall-cli 7.22+ |
| Timeout | 120 seconds | 120 seconds |
| File format | Regular RouterOS import file (.rsc) | Regular RouterOS import file (.rsc) |
Additional grounded details:
$defconfPassword and $defconfWifiPassword starting with RouterOS 7.10beta8/system reset-configuration runs that same script again until the device is re-netinstalled without itUse the normal RouterOS download tree:
https://download.mikrotik.com/routeros/{version}/routeros-{version}-{arch}.npk
https://download.mikrotik.com/routeros/{version}/all_packages-{arch}-{version}.zip
https://download.mikrotik.com/routeros/{version}/netinstall-{version}.tar.gzUse download.mikrotik.com first for all release channels. Treat cdn.mikrotik.com as a fallback mirror/cache, not the primary version rule.
| Architecture | Package form |
|---|---|
arm | routeros-7.22-arm.npk |
arm64 | routeros-7.22-arm64.npk |
mipsbe | routeros-7.22-mipsbe.npk |
mmips | routeros-7.22-mmips.npk |
smips | routeros-7.22-smips.npk |
ppc | routeros-7.22-ppc.npk |
tile | routeros-7.22-tile.npk |
x86 | routeros-7.22.npk |
x86 is the naming exception: the package filename omits the architecture suffix, but the all-packages ZIP still uses x86, for example all_packages-x86-7.22.zip.
Official Linux quick-start pattern:
wget https://download.mikrotik.com/routeros/7.22/netinstall-7.22.tar.gz
tar -xzf netinstall-7.22.tar.gz
sudo ./netinstall-cli -r -i eth0 \
routeros-7.22-arm64.npk \
container-7.22-arm64.npkStatic IP on the netinstall host is strongly recommended, for example:
sudo ifconfig eth0 192.168.88.2/24sudo ./netinstall-cli -e -b -i eth0 \
routeros-7.22-arm64.npksudo ./netinstall-cli -i eth0 \
routeros-7.22-arm64.npkThis keeps the configuration database only; it does not preserve files stored on the device.
/system/device-mode update mode=advanced container=yessudo ./netinstall-cli -r -sm modescript.rsc -i eth0 \
routeros-7.22-arm64.npk \
container-7.22-arm64.npkThis is the main documented use for -sm: set device mode during the first boot without requiring a later manual confirmation flow.
Devices must be in etherboot mode before Netinstall can see them. Common entry methods:
Ctrl+E)boot-device=try-ethernet-once-then-nandNetinstall uses BOOTP/DHCP ports, so avoid other DHCP sources on the same segment. The docs also call out two common failure cases:
netinstall-cli is a Linux i386 ELF binary.
| Host | Practical approach |
|---|---|
| x86_64 Linux | Run it directly |
| ARM/ARM64 Linux | Use QEMU user-mode (qemu-i386-static or qemu-i386) |
| macOS | Run Linux in a VM with bridged networking |
This is where tikoci/netinstall is useful as a reference wrapper: it automates package download, QEMU-on-ARM, and macOS VM execution, but the underlying Netinstall behavior is still the same netinstall-cli flow documented above.
routeros-fundamentals/references/version-parsing.md~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.