dd(1) on Solnix vs Linux and the BSDs

On a default Solnix system, dd is the illumos /usr/bin/dd, a POSIX.1-2024 utility. The Solnix page published in the bundle is the GNU coreutils 9.7 page from pkgs.solnix.coreutils. That page documents GNU operands such as status=progress and iflag/oflag symbols, which the BSD pages mostly lack or define differently.

What Solnix runs

The command on PATH is the illumos /usr/bin/dd, and no other variants are shipped. The published page describes GNU coreutils 9.7 (pkgs.solnix.coreutils), and the bundle has no illumos dd text. The differences below are therefore GNU-page differences, and the bundle cannot confirm that /usr/bin/dd accepts all of them.

Differences

Compared withTopicWhat differs
Linuxsame programThe Solnix page and the Linux page describe the same GNU coreutils dd, with the same operands, conv symbols and --help/--version. The Solnix page is 9.7 and the Linux page is from coreutils-full-9.11, so small version differences exist.
Source: Solnix dd(1) footer (GNU coreutils 9.7); Linux dd(1) header (coreutils-full-9.11), DESCRIPTION
Linuxstatistics signalThe Solnix page says sending an INFO signal makes a running dd print I/O statistics and resume copying. The Linux page says USR1. A script that sends USR1 for progress is documented for Linux only.
Source: Solnix dd(1) DESCRIPTION (INFO signal); Linux dd(1) DESCRIPTION (USR1 signal)
Linuxiflag symbolsThe Solnix page lists the iflag/oflag symbol nolinks (fail if multiply-linked) and does not list noatime. The Linux page lists noatime (do not update access time) and does not list nolinks.
Source: Solnix dd(1) FLAG symbols (nolinks); Linux dd(1) FLAG symbols (noatime)
FreeBSD, OpenBSD, NetBSDGNU-style options and size suffixesThe Solnix page documents --help and --version, and size suffixes on N and BYTES (c, w, b, kB, K, MB, M, GB, G and so on, and a trailing B to count bytes). The FreeBSD, OpenBSD and NetBSD synopses list only operands.
Source: Solnix dd(1) DESCRIPTION (suffix paragraph, Options are); FreeBSD/OpenBSD/NetBSD dd(1) SYNOPSIS
OpenBSD, NetBSDstatus=progressSolnix status= accepts none, noxfer and progress (periodic statistics). OpenBSD documents only noxfer and none. NetBSD documents progress=n as a separate operand that prints a dot every n blocks, and msgfmt= for the summary format.
Source: Solnix dd(1) status=LEVEL; OpenBSD dd(1) status=value; NetBSD dd(1) progress=n, msgfmt=fmt
FreeBSDstatus=progress wordingFreeBSD status=progress prints basic transfer statistics once per second. The Solnix page says only periodic transfer statistics, with no interval stated.
Source: FreeBSD dd(1) status=value progress; Solnix dd(1) status=LEVEL
NetBSDiflag and oflag meaningOn NetBSD, iflag and oflag are comma-separated open(2) flags. oflag defaults to creat, and creat must be listed explicitly to write a new file. On Solnix they are GNU symbols such as direct, dsync, append and nofollow, and the page names no default.
Source: NetBSD dd(1) iflag=flags, oflag=flags; Solnix dd(1) FLAG symbols
FreeBSDiflag and oflag symbolsFreeBSD iflag takes fullblock and direct. oflag takes fsync, sync and direct. Solnix lists many more symbols, including append, directory, dsync, nonblock, nocache, noctty, nofollow and nolinks.
Source: FreeBSD dd(1) iflag=value, oflag=value; Solnix dd(1) FLAG symbols
FreeBSD, OpenBSD, NetBSDshort reads and bs=The BSD pages say short input reads are aggregated into full output blocks. With bs= and only noerror, notrunc or sync conversions, each input block is copied as is. The Solnix page offers iflag=fullblock to accumulate blocks and does not describe default aggregation.
Source: FreeBSD/OpenBSD/NetBSD dd(1) DESCRIPTION and bs=n; Solnix dd(1) bs=BYTES, iflag fullblock
FreeBSD, OpenBSD, NetBSDfiles= for tapesFreeBSD, OpenBSD and NetBSD have files=n, which copies n input files and applies only to tape input. The Solnix page has no files= operand.
Source: FreeBSD/OpenBSD/NetBSD dd(1) files=n; Solnix dd(1) DESCRIPTION
FreeBSDfillchar and speedFreeBSD dd has fillchar=c (pad character instead of space or NUL) and speed=n (limit in bytes per second). The Solnix page documents neither operand.
Source: FreeBSD dd(1) fillchar=c, speed=n; Solnix dd(1) DESCRIPTION
OpenBSDconv=osyncOpenBSD conv=osync pads the final output block to the full output block size, and is incompatible with bs=. The Solnix conv list has no osync. Its sync pads every input block to ibs-size.
Source: OpenBSD dd(1) conv osync; Solnix dd(1) CONV symbols (sync)
FreeBSD, NetBSDold conversion mapsFreeBSD and NetBSD accept oldascii, oldebcdic and oldibm, historic conversion maps. The Solnix page lists only ascii, ebcdic and ibm.
Source: FreeBSD dd(1) conv ascii, oldascii; NetBSD dd(1) conv ascii, oldascii; Solnix dd(1) CONV symbols

Standards

  • POSIX: dd is a POSIX.1-2024 utility.

Writing portable scripts

  • Stick to if=, of=, bs=, count=, skip=, seek= and conv=notrunc,noerror,sync. These appear in every page in the bundle. Avoid status=progress, iflag/oflag symbols and size suffixes in portable scripts.
  • Do not rely on a signal for progress: the Solnix page names INFO and the Linux page names USR1.

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.