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 up-
       date  files.   Firmware	update	(.fw)  files are nothing more than zip
       archives	containing metadata, a limited set of instructions, and	 data.
       On  an  embedded	 device	 or  on	 a host	PC, fwup is used to write non-
       volatile	memory (eMMC, SDCards, 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 (Er-
	      lang)

       -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	print-
	      ing 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
	      number (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 sys-
	      temd 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
	      corruption (default for writing to device	files)

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

       --version Print out the version

       -y     Accept automatically found memory	card when applying a  firmware
	      update

       -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 'complete' 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	 exam-
       ples.	  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.12.0			  April	2025			       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+14.3.quarterly>

home | help