mknod(8) on Solnix vs Linux and the BSDs

On Solnix, mknod is the illumos /usr/sbin/mknod. It takes no options: only `name b major minor`, `name c major minor` or `name p`. Linux and OpenBSD/NetBSD have -m for the mode, and the Linux page has a different synopsis (TYPE first-class, section 1) and a u type.

What Solnix runs

A default Solnix system runs the illumos mknod at /usr/sbin/mknod. No other variants are shipped. The Solnix page recommends a symbolic link to the physical name under /devices instead of mknod where possible.

Differences

Compared withTopicWhat differs
Linux, OpenBSD, NetBSD-m mode optionSolnix mknod documents no options, so no way to set the mode. Linux (-m, --mode), OpenBSD (-m) and NetBSD (-m) set permission bits at creation. Linux, OpenBSD and NetBSD default to a=rw (Linux: a=rw minus umask); the Solnix page states no default.
Source: Solnix mknod(8) SYNOPSIS, OPTIONS; Linux mknod(1) -m; OpenBSD mknod(8) -m; NetBSD mknod(8) -m
Linuxmanual section and argument orderSolnix mknod is in section 8 and takes the form `mknod name b|c major minor` or `name p`, with no options. The Linux page documents `mknod [OPTION]... NAME TYPE [MAJOR MINOR]`, adds the `u` type as a synonym for c, and has --help and --version.
Source: Solnix mknod(8) SYNOPSIS; Linux mknod(1) SYNOPSIS, TYPE
all fournumber formatsThe Solnix page says only that minor can be decimal or octal. Linux accepts 0x/0X hexadecimal, octal and decimal; FreeBSD, OpenBSD and NetBSD accept any strtoul(3) format, including a leading 0x. Hex numbers are not documented for Solnix.
Source: Solnix mknod(8) OPERANDS minor; Linux mknod(1) DESCRIPTION; FreeBSD mknod(8) DESCRIPTION; OpenBSD mknod(8) minor; NetBSD mknod(8) minor
all foursuperuser requirementThe Solnix page says you must be the super-user to use the device form (b or c). The Linux, FreeBSD, OpenBSD and NetBSD pages in the bundle do not state this requirement.
Source: Solnix mknod(8) OPERANDS minor; Linux/FreeBSD/OpenBSD/NetBSD mknod pages (no such statement)
FreeBSDowner:group and no-argument formFreeBSD accepts an optional owner:group operand pair and, with only a name, recreates a deleted node under devfs(4). The FreeBSD page calls mknod deprecated and the chown-like operand FreeBSD-specific. Solnix has neither form.
Source: FreeBSD mknod(8) SYNOPSIS, DESCRIPTION, COMPATIBILITY; Solnix mknod(8) SYNOPSIS
FreeBSDFIFOsThe FreeBSD mknod synopsis has no p type (its SEE ALSO points to mkfifo(1)). Solnix mknod name p creates a FIFO.
Source: FreeBSD mknod(8) SYNOPSIS, SEE ALSO; Solnix mknod(8) OPTIONS p
NetBSDownership, replacement, driver names and formatNetBSD adds -u uid, -g gid, -r and -R (replace an existing file of wrong type), -l (list drivers) and -F fmt (device-number packing, including solaris). It also accepts driver names and a unit/subunit form. None of these appear in the Solnix page.
Source: NetBSD mknod(8) SYNOPSIS, -F, -g, -l, -r, -R, -u; Solnix mknod(8) SYNOPSIS
OpenBSDmultiple nodes per callOpenBSD mknod accepts several parameter lists in one invocation, and -m applies to all of them. The Solnix synopsis shows a single name per call.
Source: OpenBSD mknod(8) STANDARDS; Solnix mknod(8) SYNOPSIS
FreeBSDdevice nodes in regular file systemsFreeBSD documents that device nodes are managed by devfs(4) and that nodes created in regular file systems cannot be used to access devices. Solnix documents that the kernel interprets major/minor numbers and prefers symlinks into /devices.
Source: FreeBSD mknod(8) COMPATIBILITY; Solnix mknod(8) NOTES

Standards

  • POSIX: mknod is not a POSIX.1-2024 utility.

Writing portable scripts

  • Do not rely on mknod for portable scripts: options (-m, -u, -g, -F) and operand forms differ on every system. Use mkfifo(1) for FIFOs where available.
  • If you need a specific mode, run chmod after mknod instead of using -m, which Solnix does not document.

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.