How to change default system upgrade path?

Hi all,

At our own developing device, we are using OpenWrt 19.07.7.
Device only have 128MB RAM and 256MB flash.
Since firmware.bin is about 15MB, we would like to try system upgrade from flash.

  1. By default, we use nginx as web server, I try to add following option into nginx.conf.
client_body_temp_path /tmp/cache 3 2;
  1. /tmp/cache is a ubifs and size is 40MB.
/dev/ubi1_0 on /tmp/cache type ubifs (rw,relatime)
  1. I also change flash.js at luci-mod-system, all "/tmp/firmware.bin" -> "/tmp/cache/firmware.bin"
return ui.uploadFile('/tmp/cache/firmware.bin',

Above 3 steps, try to system upgrade via WebUI, the firmware.bin still save at /tmp.
Anyone can help me out? I would like to change default upload path /tmp to be /tmp/cache.

normal system upgrade procedure must copy the image to tmpfs and unmount storage.
Read-write partition is deleted and read-only partition is overwritten.

If you did not change sysupgrade scripts what you are doing now is useless because the sysupgrade will detect that the firmware image is not in /tmp and then it will copy it to /tmp (tmpfs/RAM) and then do firmware upgrade as normal


Hi @bobafetthotmail

Yes, you are correct.
Now, I would like to try first shot. That means, I want to see the firmware.bin will be stored at /tmp/cache when I select sysupgrade.bin to upload, not click "confirm button" yet.
So, I would like to make sure firmware.bin will be stored at /tmp/cache and do next step(modify sysupgrade script). Thanks.

Anyone can help? Thanks.

Hi all,

Finally, we found the solution. Change '/tmp/firmware.bin' to '/tmp/cache/firmware.bin' with following files in luci feeds. Thanks.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.