raidctl(8) on Solnix vs Linux and the BSDs
On Solnix, raidctl is the illumos /usr/sbin/raidctl, a configuration tool for hardware RAID controllers (the mpt driver plug-in). NetBSD raidctl drives the RAIDframe software RAID driver raid(4). The same letters mean different things: -C, -c, -F, -a and -g are not interchangeable, and NetBSD -F fails a disk, while Solnix -F flashes firmware.
The manual pages
- Solnix: raidctl(8) from
pkgs.solnix.illumos-world-man· illumos.org - NetBSD: raidctl(8) 11.0
What Solnix runs
A default Solnix system runs the illumos raidctl at /usr/sbin/raidctl, and no other variants are shipped. The page says the shipped plug-in covers the mpt driver (LSI1020, LSI1030, LSI1064, LSI1068 HBAs), and that support for each option depends on the driver and the controller firmware. The bundle has counterpart pages only for NetBSD, none for Linux, FreeBSD or OpenBSD.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| NetBSD | what is being managed | Solnix raidctl configures volumes on hardware RAID controllers through driver plug-ins. NetBSD raidctl is the control program for the RAIDframe software disk driver raid(4) and addresses a raid device such as raid0. Source: Solnix raidctl(8) DESCRIPTION; NetBSD raidctl(8) NAME, DESCRIPTION, SYNOPSIS |
| NetBSD | -F meaning (dangerous) | Solnix -F filename controller updates controller firmware, after a prompt unless -f is given. NetBSD -F component dev fails that component and starts reconstruction onto a hot spare. Running a NetBSD-style -F on Solnix, or the reverse, does something unrelated.Source: Solnix raidctl(8) OPTIONS -F; NetBSD raidctl(8) -F |
| NetBSD | -f meaning | On Solnix, -f is a modifier that skips confirmation prompts for -C, -d, -F, -p and -c. On NetBSD, -f component dev marks a component as failed without starting reconstruction.Source: Solnix raidctl(8) OPTIONS -C, -d, -F, -p; NetBSD raidctl(8) -f |
| NetBSD | -C and -c meaning | Solnix -C "disks" creates a volume from disks given as C.ID.L, and -c is an older create form taking c0t0d0-style disk names. On NetBSD, -c config_file dev configures a set from a file, and -C forces that configuration.Source: Solnix raidctl(8) OPTIONS -C, -c; NetBSD raidctl(8) -C, -c |
| NetBSD | hot spares and -g | Solnix uses -a set|unset -g disk with a volume (local spare) or controller (global spare). NetBSD -a component dev adds a hot spare to a device, and -g component dev reads a component label.Source: Solnix raidctl(8) OPTIONS -a; NetBSD raidctl(8) -a, -g |
| NetBSD | delete, list and stripe options | Solnix has -d to delete a volume, -l to list controllers, volumes or disks, and -s for stripe size at creation. The NetBSD synopsis has no -d or -l, and -s there takes only dev. The NetBSD text visible in the bundle does not say what -s does.Source: Solnix raidctl(8) SYNOPSIS, OPTIONS -d, -s; NetBSD raidctl(8) SYNOPSIS |
| NetBSD | RAID levels | Solnix -r accepts 0, 1, 1E, 5, 10 and 50, and creates RAID 1 if -r is omitted. NetBSD's simplified create command accepts levels 0, 1 (or mirror) and 5.Source: Solnix raidctl(8) OPTIONS -C, -r; NetBSD raidctl(8) DESCRIPTION create |
| NetBSD | argument syntax | Solnix takes a controller ID and disks as C.ID.L (for example 0.1.2) or canonical names (c0t0d0). NetBSD takes the raid device last (raidctl -A yes dev) or first (raidctl dev create level components).Source: Solnix raidctl(8) OPTIONS -C, -d, -c; NetBSD raidctl(8) SYNOPSIS |
| NetBSD | autoconfiguration and boot | NetBSD has -A yes|no|forceroot|softroot to autoconfigure a set at boot or make it the root device, and -L to rescan. The Solnix synopsis has no equivalent option.Source: NetBSD raidctl(8) -A, -L; Solnix raidctl(8) SYNOPSIS |
| NetBSD | privilege failure | On Solnix, an unprivileged user running raidctl gets exit status 1, because access is controlled by file-system permissions. The NetBSD text in the bundle does not describe this. Source: Solnix raidctl(8) DESCRIPTION; NetBSD raidctl(8) DESCRIPTION |
Everyday tasks
| Task | Solnix | NetBSD |
|---|---|---|
| create a RAID volume | raidctl -C "disks" [-r raid_level] controller | raidctl dev create level component1 component2 ... |
| add a hot spare | raidctl -a set -g disk volume|controller | raidctl -a component dev |
| list RAID controllers and volumes | raidctl -l | — |
| delete a volume | raidctl -d volume | — |
| fail a component and rebuild onto a spare | — | raidctl -F component dev |
| update controller firmware | raidctl -F filename controller | — |
Standards
- POSIX: raidctl is not a POSIX.1-2024 utility.
Writing portable scripts
- Do not share raidctl scripts between Solnix and NetBSD.
-C,-c,-F,-f,-aand-gmean different things, and a wrong-Fon NetBSD fails a disk.
Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.