|
| 1 | +# TAGLINE |
| 2 | + |
| 3 | +OpenWrt firmware upgrade tool |
| 4 | + |
| 5 | +# TLDR |
| 6 | + |
| 7 | +**Check** for available firmware upgrades |
| 8 | + |
| 9 | +```owut check``` |
| 10 | + |
| 11 | +**Upgrade** firmware while retaining all packages and configuration |
| 12 | + |
| 13 | +```owut upgrade``` |
| 14 | + |
| 15 | +**Download** a firmware image without installing it |
| 16 | + |
| 17 | +```owut download``` |
| 18 | + |
| 19 | +**Upgrade** to a specific OpenWrt version |
| 20 | + |
| 21 | +```owut upgrade -V [24.10.1]``` |
| 22 | + |
| 23 | +**Add packages** during the upgrade |
| 24 | + |
| 25 | +```owut upgrade -a [package1] -a [package2]``` |
| 26 | + |
| 27 | +**Remove packages** during the upgrade |
| 28 | + |
| 29 | +```owut upgrade -r [package_name]``` |
| 30 | + |
| 31 | +**List** all user-installed packages |
| 32 | + |
| 33 | +```owut list``` |
| 34 | + |
| 35 | +**Show available** OpenWrt versions |
| 36 | + |
| 37 | +```owut versions``` |
| 38 | + |
| 39 | +# SYNOPSIS |
| 40 | + |
| 41 | +**owut** [_options_] _command_ |
| 42 | + |
| 43 | +# DESCRIPTION |
| 44 | + |
| 45 | +**owut** (OpenWrt Upgrade Tool) is a command-line utility that upgrades OpenWrt router firmware by creating custom images through the Attended Sysupgrade (ASU) server. It builds personalized firmware images that retain all currently installed packages and configuration, then downloads, verifies, and installs them. |
| 46 | + |
| 47 | +The tool communicates with the ASU server to request a build matching the device's current package set, optionally adding or removing packages. It handles the entire upgrade workflow: collecting device information, requesting a build, monitoring progress, downloading the image, verifying its integrity, and performing the sysupgrade. |
| 48 | + |
| 49 | +# COMMANDS |
| 50 | + |
| 51 | +**check** |
| 52 | +> Collect all resources and report upgrade stats without performing any action. |
| 53 | +
|
| 54 | +**upgrade** |
| 55 | +> Build, download, verify and install a firmware image. |
| 56 | +
|
| 57 | +**download** |
| 58 | +> Build, download and verify an image without installing. |
| 59 | +
|
| 60 | +**verify** |
| 61 | +> Verify a previously downloaded firmware image. |
| 62 | +
|
| 63 | +**install** |
| 64 | +> Install a specified local firmware image. |
| 65 | +
|
| 66 | +**list** |
| 67 | +> Show all packages installed by the user. |
| 68 | +
|
| 69 | +**versions** |
| 70 | +> Show available OpenWrt versions. |
| 71 | +
|
| 72 | +**blob** |
| 73 | +> Display the JSON blob for the ASU build request. |
| 74 | +
|
| 75 | +**dump** |
| 76 | +> Collect all resources and dump internal data structures. |
| 77 | +
|
| 78 | +# PARAMETERS |
| 79 | + |
| 80 | +**-V** _version_, **--version-to** _version_ |
| 81 | +> Specify the target version. Defaults to the currently installed version. |
| 82 | +
|
| 83 | +**-R** _code_, **--rev-code** _code_ |
| 84 | +> Specify a version code. Literal **none** is allowed. Defaults to latest build. |
| 85 | +
|
| 86 | +**-a** _package_, **--add** _package_ |
| 87 | +> Add a new package to the build list. Can be repeated. |
| 88 | +
|
| 89 | +**-r** _package_, **--remove** _package_ |
| 90 | +> Remove an installed package from the build list. Can be repeated. |
| 91 | +
|
| 92 | +**-i** _path_, **--image** _path_ |
| 93 | +> Image file path for download, verify, install and upgrade. Defaults to **/tmp/firmware.bin**. |
| 94 | +
|
| 95 | +**-I** _path_, **--init-script** _path_ |
| 96 | +> Path to a uci-defaults script to run on first boot. Use **-** to read from stdin. |
| 97 | +
|
| 98 | +**-F** _type_, **--fstype** _type_ |
| 99 | +> Desired root file system type: **squashfs**, **ext4**, **ubifs**, or **jffs2**. |
| 100 | +
|
| 101 | +**-S** _size_, **--rootfs-size** _size_ |
| 102 | +> Root file system size in MB. Use with caution. |
| 103 | +
|
| 104 | +**-p** _script_, **--pre-install** _script_ |
| 105 | +> Script to execute just prior to launching the final sysupgrade. |
| 106 | +
|
| 107 | +**-f** _format_, **--format** _format_ |
| 108 | +> Format for **list** output: **fs-user**, **fs-all**, or **config**. |
| 109 | +
|
| 110 | +**-k**, **--keep** |
| 111 | +> Save all downloaded working files. |
| 112 | +
|
| 113 | +**--force** |
| 114 | +> Force a build even when there are downgrades or no changes. |
| 115 | +
|
| 116 | +**--clean-slate** |
| 117 | +> Remove all but default packages from the build. |
| 118 | +
|
| 119 | +**-v**, **--verbose** |
| 120 | +> Print various diagnostics. Repeat for more output. |
| 121 | +
|
| 122 | +**-q**, **--quiet** |
| 123 | +> Reduce verbosity. Repeat for total silence. |
| 124 | +
|
| 125 | +**-h**, **--help** |
| 126 | +> Display help information. |
| 127 | +
|
| 128 | +**--version** |
| 129 | +> Display version information. |
| 130 | +
|
| 131 | +# CAVEATS |
| 132 | + |
| 133 | +owut requires OpenWrt **24.10 or later** (including main snapshots) due to its dependency on the **ucode-mod-uclient** package. For older OpenWrt versions (23.05 and earlier), use the **auc** package instead. The **--rootfs-size** option can render a device unbootable if misused. Firmware upgrades always carry risk and should be performed with a stable power source and network connection. |
| 134 | + |
| 135 | +# HISTORY |
| 136 | + |
| 137 | +owut was created by **efahl** and published on GitHub as an open-source project under the **GPL-2.0** license. It was developed as a successor to the **auc** (Attended Upgrade Client) tool, rewritten in **ucode** rather than C to be more maintainable and extensible. It became a standard OpenWrt package starting with version **24.10**, integrating with the Attended Sysupgrade server infrastructure that has been part of the OpenWrt ecosystem since **2017**. |
| 138 | + |
| 139 | +# SEE ALSO |
| 140 | + |
| 141 | +[sysupgrade](/man/sysupgrade)(1), [opkg](/man/opkg)(1) |
0 commit comments