I’m using overlay filesystem with nvme mounted as storage for all apps. So i don’t want to lose settings or apps post upgrade what is the upgrade path ?
What hardware ubus call system board?
Nano Pi R6C
root@OpenWrt:~# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/root squashfs 12800 12800 0 100% /rom
tmpfs tmpfs 4072092 428 4071664 0% /tmp
/dev/nvme0n1 ext4 239254324 4945704 222082308 2% /overlay
overlayfs:/overlay overlay 239254324 4945704 222082308 2% /
tmpfs tmpfs 512 0 512 0% /dev
root@OpenWrt:~# mount
/dev/root on /rom type squashfs (ro,relatime,errors=continue)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
/dev/nvme0n1 on /overlay type ext4 (rw,relatime)
overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)
tmpfs on /dev type tmpfs (rw,nosuid,noexec,noatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,noatime,mode=600,ptmxmode=000)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,noatime)
bpffs on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,noatime,mode=700)
root@OpenWrt:~# ubus call system board
{
"kernel": "6.6.73",
"hostname": "OpenWrt",
"system": "ARMv8 Processor rev 0",
"model": "FriendlyElec NanoPi R6C",
"board_name": "friendlyarm,nanopi-r6c",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "24.10.0",
"revision": "r28427-6df0e3d02a",
"target": "rockchip/armv8",
"description": "OpenWrt 24.10.0 r28427-6df0e3d02a",
"builddate": "1738624177"
}
}
sysupgrade (including owut) will reset (WIPE ALL YOU GOT IN) /overlay and restore what you can see in downloaded config backup.
Do you need help with it?
So i just need to run owut upgrade and it will take care of preserving packages and upgrade and restore ?
Where is this located or do i have to create it
Im just concerned whether i will lose packages installed in nvme on /overlay
Got owut fixed but now while downloading its failing due to disk space but i have enough space
Downloading http://downloads.openwrt.org/releases/24.10.4/packages/aarch64_generic/telephony/Packages.sig
Signature check passed.
Downloading file:packages/Packages
Updated list of available packages in /builder/build_dir/target-aarch64_generic_musl/root-rockchip/../../../../builder/dl/imagebuilder
Downloading file:packages/Packages.sig
Signature check passed.
/builder/build_dir/target-aarch64_generic_musl/root-rockchip/etc/init.d/ntpdate: line 7: uci: command not found
./etc/init.d/ntpdate: line 7: uci: command not found
Pseudo file "dev" exists in source filesystem "/builder/build_dir/target-aarch64_generic_musl/root-rockchip/dev".
Ignoring, exclude it (-e/-ef) to override.
error: ext4_allocate_best_fit_partial: failed to allocate 426 blocks, out of space?
make[3]: *** [/builder/include/image.mk:399: /builder/build_dir/target-aarch64_generic_musl/linux-rockchip_armv8/root.ext4] Error 1
make[2]: *** [Makefile:268: build_image] Error 2
make[1]: *** [Makefile:163: _call_image] Error 2
make: *** [Makefile:337: image] Error 2
Owut includes all packages but no data but cloud server does not work now.
Config backup is in luci/system/firmware
You can see the list with sysupgrade -l (small L)
So there is no solution even with owut to keep packages and config intact unless manually copied and installed?
What do you mean by cloud server is not working
Openwrt sysupgrade image generating server has full disk. Not your fault.
It is supposed to generate new version squashfs image with all previously installed packages upgraded, then it can even be downloaded and used by normal sysupgrade or uploaded via web and all previous configuration restored.
If you have eg created database in /overlay then it will be wiped out - backup that and add extra partition and mount it for data.
As per the docs it does not says it will wipe the nvme ? Should it not remount the drive after second reboot
It will re-crete /overlay file system, on rotational disks, usb disks, firewire disks, whatever.
If not obvious extroot is not kept by sysupgrade.
If this is for owut its Really poor. Dont want to lose things so will stay on same version.
No idea what you are talking about. sysupgrade does this for dozen years. You can always have extra disks/partitions that go untouched.
Sucks when free stuff suck, you're more than welcome to write something better.
I meant wouldnt this be a basic thing in upgrade.
Openwrt is a distribution intended to be used by "developers" or power users.
Sure basic users can use it too but should not expect it to be simple user friendly.
If you choose to configure and adjust your system then you need to take care of it.
For instance you can use the image builder (the tool behind the scenes of owut and friends) and declare all packages and configuration and what not, and prepare a ready to use image on your own.
Take the average router, there is no extra storage, it upgrades RO system image, wipes other 10MB rootfs. You can start data partition on NVME like 2GB from the start, mount it somewhere and enjoy, Like USB drives, just that no USB in the way. It is not documented loud enough that extroot excludes any subsequent sysupgrades. We are still offering you help, but we can give up if you are hapy that your router sux.
Im trying to build image for my device and it keeps failing since last night
Downloading http://downloads.openwrt.org/releases/24.10.4/packages/aarch64_generic/telephony/Packages.gz
Updated list of available packages in /builder/build_dir/target-aarch64_generic_musl/root-rockchip/../../../../builder/dl/openwrt_telephony
Downloading http://downloads.openwrt.org/releases/24.10.4/packages/aarch64_generic/telephony/Packages.sig
Signature check passed.
Downloading file:packages/Packages
Updated list of available packages in /builder/build_dir/target-aarch64_generic_musl/root-rockchip/../../../../builder/dl/imagebuilder
Downloading file:packages/Packages.sig
Signature check passed.
/builder/build_dir/target-aarch64_generic_musl/root-rockchip/etc/init.d/ntpdate: line 7: uci: command not found
./etc/init.d/ntpdate: line 7: uci: command not found
Pseudo file "dev" exists in source filesystem "/builder/build_dir/target-aarch64_generic_musl/root-rockchip/dev".
Ignoring, exclude it (-e/-ef) to override.
error: ext4_allocate_best_fit_partial: failed to allocate 526 blocks, out of space?
make[3]: *** [/builder/include/image.mk:399: /builder/build_dir/target-aarch64_generic_musl/linux-rockchip_armv8/root.ext4] Error 1
make[2]: *** [Makefile:268: build_image] Error 2
make[1]: *** [Makefile:163: _call_image] Error 2
make: *** [Makefile:337: image] Error 2
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/rq/worker.py", line 1659, in perform_job
return_value = job.perform()
^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/rq/job.py", line 1318, in perform
self._result = self._execute()
^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/rq/job.py", line 1376, in _execute
result = self.func(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/asu/build.py", line 437, in build
result = _build(build_request, job)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/asu/build.py", line 301, in _build
container.kill()
File "/usr/local/lib/python3.12/site-packages/podman/domain/containers.py", line 290, in kill
response.raise_for_status()
File "/usr/local/lib/python3.12/site-packages/podman/api/client.py", line 82, in raise_for_status
raise APIError(cause, response=self._response, explanation=message)
podman.errors.exceptions.APIError: 409 Client Error: Conflict (can only kill running containers. 8ac4baa9987502dea93810c053e6de6c9d08cbed7db2186e877259fe33bfaec9 is in state stopped: container state improper
Did you followed https://openwrt.org/docs/guide-user/additional-software/imagebuilder ?