Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
FWUP(1) 			  User Commands 			 FWUP(1)

NAME
     fwup - configurable embedded firmware update creator and runner

SYNOPSIS
     fwup [OPTION]...

DESCRIPTION
     fwup  is a self-contained utility for creating and applying firmware update
     files.  Firmware update (.fw) files are nothing more than zip archives con-
     taining metadata, a limited set of instructions, and data. On  an	embedded
     device or on a host PC, fwup is used to write nonvolatile memory (eMMC, SD-
     Cards,  etc.)  in such a way as to upgrade the firmware on the device or to
     completely initialize it.

OPTIONS
     -a, --apply
	    Apply the firmware update

     -c, --create
	    Create the firmware update

     -d <file> Device file for the memory card

     -D, --detect List attached SDCards or MMC devices and their sizes

     -E, --eject Eject removable media after successfully writing firmware.

     --no-eject Do not eject media after writing firmware

     --enable-trim Enable use of the hardware TRIM command

     --exit-handshake Send a Ctrl+Z on exit and wait for stdin to close (Erlang)

     -f <fwup.conf> Specify the firmware update configuration file

     -F, --framing Apply framing on stdin/stdout

     -g,  --gen-keys  Generate	 firmware   signing   keys   (fwup-key.pub   and
	    fwup-key.priv, or specify with -o)

     -i <input.fw> Specify the input firmware update file (Use - for stdin)

     -l, --list
	    List the available tasks in a firmware update

     --max-size <blocks> Max size of the destination in 512-byte blocks (usually
	    automatic)

     -m, --metadata
	    Print metadata in the firmware update

     --metadata-key  <key>  Only  output the specified key's value when printing
	    metadata

     --minimize-writes Skip write if contents match destination

     --no-minimize-writes Don't try to minimize writes	when  applying	firmware
	    updates (default)

     -n     Report numeric progress

     -o  <output.fw>  Specify the output file when creating an update (Use - for
	    stdout)

     -p, --public-key-file <keyfile> A public key file	for  verifying	firmware
	    updates (can specify multiple times)

     --private-key <key> A private key for signing firmware updates

     --progress-low <number> When displaying progress, this is the lowest number
	    (normally 0 for 0%)

     --progress-high <number> When displaying progress, this is the highest num-
	    ber (normally 100 for 100%)

     --public-key <key> A public key for verifying firmware updates (can specify
	    multiple times)

     -q, --quiet
	    Quiet

     --reboot-param-path  Path	to  write reboot parameters (defaults to systemd
	    and Nerves locations)

     -s, --private-key-file <keyfile> A private key file  for  signing	firmware
	    updates

     -S, --sign Sign an existing firmware file (specify -i and -o)

     --sparse-check <path> Check if the OS and file system supports sparse files
	    at path

     --sparse-check-size <bytes> Hole size to check for --sparse-check

     -t, --task <task> Task to apply within the firmware update

     -u, --unmount Unmount all partitions on device first

     -U, --no-unmount Do not try to unmount partitions on device

     --unsafe Allow unsafe commands (consider applying only signed archives)

     -v, --verbose
	    Verbose

     -V, --verify
	    Verify an existing firmware file (specify -i)

     --verify-writes Verify writes when applying firmware updates to detect cor-
	    ruption (default for writing to device files)

     --no-verify-writes Do not verify writes when applying firmware updates (de-
	    fault for regular files)

     --version Print out the version

     -y     Accept  automatically found memory card when applying a firmware up-
	    date

     -z     Print the memory card that would be automatically detected and exit

     -1     Fast compression (for create)

     -9     Best compression (default)

EXAMPLES
     Initialize an attached SDCard using all of the default options:

	    $ fwup myfirmware.fw

     Create a firmware update archive:

	    $ fwup -c -f fwup.conf -o myfirmware.fw

     Apply the firmware to an attached SDCard. This would normally be run on the
     host where it would auto-detect an SDCard and initialize it using the 'com-
     plete' task:

	    $ fwup -a -i myfirmware.fw -t complete

     Apply the firmware update to /dev/da0 and specify the 'upgrade' task:

	    $ fwup -a -d /dev/da0 -i myfirmware.fw -t upgrade

     Create an image file from a .fw file for use with dd(1):

	    $ fwup -a -d myimage.img -i myfirmware.fw -t complete

     Generate a public/private key pair:

	    $ fwup -g

     Store fwup-key.priv in a safe place and fwup-key.pub on the target. To sign
     an existing archive run:

	    $ fwup -S -s fwup-key.priv -i myfirmware.fw -o signedfirmware.fw

     Also see the unit tests that come with fwup source code for more  examples.
     Obtain source code and report bugs at https://github.com/fwup-home/fwup.

AUTHOR
     Written by Frank Hunleth.

REPORTING BUGS
     Please  report  any  bugs	on the project page at <https://github.com/fwup-
     home/fwup>.

fwup 1.16.0			   August 2026				 FWUP(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=fwup&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help