I'm trying to repurpose an old Archer C7 as an NFS file share. It's the only one of my routers with a USB port; unfortunately it has very little RAM on board, 64MB total I think. On the other hand, only a few MB are apparently actually used, with 57.8M free on /tmp, see below.
I have all the modules to support both USB and btrfs, but not enough space to install nfs-kernel-server, so if I could steal a few MB from /tmp to /overlay I think it could work.
root@OpenWrt:/overlay# opkg install nfs-kernel-server
Installing nfs-kernel-server (2.6.2-r4) to root...
Collected errors:
* verify_pkg_installable: Only have 380kb available on filesystem /overlay, pkg nfs-kernel-server needs 420
* opkg_install_cmd: Cannot install package nfs-kernel-server.
root@OpenWrt:/overlay# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 4.3M 4.3M 0 100% /rom
tmpfs 59.2M 1.3M 57.8M 2% /tmp
/dev/mtdblock9 8.4M 8.0M 380.0K 96% /overlay
overlayfs:/overlay 8.4M 8.0M 380.0K 96% /
tmpfs 512.0K 0 512.0K 0% /dev
/dev/sda1 14.7G 5.8M 14.2G 0% /mnt
root@OpenWrt:/overlay# cat /proc/mtd
dev: size erasesize name
mtd0: 00020000 00010000 "factory-uboot"
mtd1: 00020000 00010000 "u-boot"
mtd2: 00010000 00010000 "partition-table"
mtd3: 00010000 00010000 "art"
mtd4: 00020000 00010000 "info"
mtd5: 00040000 00010000 "user-config"
mtd6: 00f00000 00010000 "firmware"
mtd7: 00280000 00010000 "kernel"
mtd8: 00c80000 00010000 "rootfs"
mtd9: 00860000 00010000 "rootfs_data"
mtd10: 00010000 00010000 "default-config"
Dante
March 16, 2025, 6:45pm
2
Which packages do you have installed? Adding nfs-kernel-server kmod-usb-storage kmod-fs-btrfs block-mount
to the standard image in the image builder seems to work out just fine with no size warnings.
Also, I thought all c7 models come with 128MB RAM.
1 Like
Create a sysupgrade image without luci, but the USB storage modules @dante mentioned.
Enable extroot, then install Luci.
/tmp is RAM, shrinking it won't give you any additional flash space.
Dante
March 16, 2025, 6:54pm
4
This was with the following default package selection plus the packages I mentioned above, so no need to remove LuCi:
base-files ca-bundle dnsmasq dropbear firewall4 fstools kmod-ath9k kmod-gpio-button-hotplug kmod-nft-offload libc libgcc libustream-mbedtls logd mtd netifd nftables odhcp6c odhcpd-ipv6only opkg ppp ppp-mod-pppoe procd-ujail swconfig uboot-envtools uci uclient-fetch urandom-seed urngd wpad-basic-mbedtls kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct ath10k-firmware-qca988x-ct luci nfs-kernel-server kmod-usb-storage kmod-fs-btrfs block-mount
This results in ~8.4MB image so there should be some space for other packages.
You're right, it's 128M RAM, not sure how much disk space it has, maybe 16M?
I just installed the required packages for usb support, that's all. As it is now, I get the above error trying to install nfs-kernel-server. Maybe some of the default packages aren't really needed?
root@OpenWrt:/overlay# opkg list-installed
ath10k-board-qca988x - 20241110-r1
ath10k-firmware-qca988x-ct - 2020.11.08-r1
attr - 2.5.2-r3
avahi-dbus-daemon - 0.8-r9
base-files - 1655~6df0e3d02a
block-mount - 2024.07.14~408c2cc4-r1
btrfs-progs - 6.11-r1
busybox - 1.36.1-r2
ca-bundle - 20240203-r1
cgi-io - 2022.08.10~901b0f04-r21
dbus - 1.14.10-r1
dnsmasq - 2.90-r4
dropbear - 2024.86-r1
firewall4 - 2024.12.18~18fc0ead-r1
fstools - 2024.07.14~408c2cc4-r1
fwtool - 2019.11.12~8f7fe925-r1
getrandom - 2024.04.26~85f10530-r1
hostapd-common - 2024.09.15~5ace39b0-r2
iw - 6.9-r1
iwinfo - 2024.10.20~b94f066e-r1
jansson4 - 2.14-r3
jshn - 2024.03.29~eb9bcb64-r1
jsonfilter - 2024.01.23~594cfa86-r1
kernel - 6.6.73~c2bc166c1ba350209562f87ffdd33884-r1
kmod-ath - 6.6.73.6.12.6-r1
kmod-ath10k-ct - 6.6.73.2024.07.30~ac71b14d-r2
kmod-ath9k - 6.6.73.6.12.6-r1
kmod-ath9k-common - 6.6.73.6.12.6-r1
kmod-cfg80211 - 6.6.73.6.12.6-r1
kmod-crypto-acompress - 6.6.73-r1
kmod-crypto-aead - 6.6.73-r1
kmod-crypto-blake2b - 6.6.73-r1
kmod-crypto-ccm - 6.6.73-r1
kmod-crypto-cmac - 6.6.73-r1
kmod-crypto-crc32c - 6.6.73-r1
kmod-crypto-ctr - 6.6.73-r1
kmod-crypto-gcm - 6.6.73-r1
kmod-crypto-geniv - 6.6.73-r1
kmod-crypto-gf128 - 6.6.73-r1
kmod-crypto-ghash - 6.6.73-r1
kmod-crypto-hash - 6.6.73-r1
kmod-crypto-hmac - 6.6.73-r1
kmod-crypto-manager - 6.6.73-r1
kmod-crypto-null - 6.6.73-r1
kmod-crypto-rng - 6.6.73-r1
kmod-crypto-seqiv - 6.6.73-r1
kmod-crypto-sha3 - 6.6.73-r1
kmod-crypto-sha512 - 6.6.73-r1
kmod-crypto-xxhash - 6.6.73-r1
kmod-fs-btrfs - 6.6.73-r1
kmod-gpio-button-hotplug - 6.6.73-r5
kmod-hwmon-core - 6.6.73-r1
kmod-lib-crc-ccitt - 6.6.73-r1
kmod-lib-crc32c - 6.6.73-r1
kmod-lib-lzo - 6.6.73-r1
kmod-lib-raid6 - 6.6.73-r1
kmod-lib-xor - 6.6.73-r1
kmod-lib-xxhash - 6.6.73-r1
kmod-lib-zlib-deflate - 6.6.73-r1
kmod-lib-zlib-inflate - 6.6.73-r1
kmod-lib-zstd - 6.6.73-r1
kmod-mac80211 - 6.6.73.6.12.6-r1
kmod-nf-conntrack - 6.6.73-r1
kmod-nf-conntrack6 - 6.6.73-r1
kmod-nf-flow - 6.6.73-r1
kmod-nf-log - 6.6.73-r1
kmod-nf-log6 - 6.6.73-r1
kmod-nf-nat - 6.6.73-r1
kmod-nf-reject - 6.6.73-r1
kmod-nf-reject6 - 6.6.73-r1
kmod-nfnetlink - 6.6.73-r1
kmod-nft-core - 6.6.73-r1
kmod-nft-fib - 6.6.73-r1
kmod-nft-nat - 6.6.73-r1
kmod-nft-offload - 6.6.73-r1
kmod-nls-base - 6.6.73-r1
kmod-phy-ath79-usb - 6.6.73-r1
kmod-ppp - 6.6.73-r1
kmod-pppoe - 6.6.73-r1
kmod-pppox - 6.6.73-r1
kmod-random-core - 6.6.73-r1
kmod-scsi-core - 6.6.73-r1
kmod-slhc - 6.6.73-r1
kmod-usb-core - 6.6.73-r1
kmod-usb-ehci - 6.6.73-r1
kmod-usb-ledtrig-usbport - 6.6.73-r1
kmod-usb-storage - 6.6.73-r1
kmod-usb-storage-uas - 6.6.73-r1
kmod-usb-uhci - 6.6.73-r1
kmod-usb-xhci-hcd - 6.6.73-r1
kmod-usb2 - 6.6.73-r1
kmod-usb3 - 6.6.73-r1
libatomic1 - 13.3.0-r4
libattr - 2.5.2-r3
libavahi-client - 0.8-r9
libavahi-dbus-support - 0.8-r9
libblkid1 - 2.40.2-r1
libblobmsg-json20240329 - 2024.03.29~eb9bcb64-r1
libc - 1.2.5-r4
libcap - 2.69-r1
libdaemon - 0.14-r5
libdbus - 1.14.10-r1
libevdev - 1.13.1-r1
libexpat - 2.6.3-r1
libgcc1 - 13.3.0-r4
libgmp10 - 6.3.0-r1
libgnutls - 3.8.5-r1
libiwinfo-data - 2024.10.20~b94f066e-r1
libiwinfo20230701 - 2024.10.20~b94f066e-r1
libjson-c5 - 0.18-r1
libjson-script20240329 - 2024.03.29~eb9bcb64-r1
liblucihttp-ucode - 2023.03.15~9b5b683f-r1
liblucihttp0 - 2023.03.15~9b5b683f-r1
liblzo2 - 2.10-r4
libmbedtls21 - 3.6.2-r1
libmnl0 - 1.0.5-r1
libmount1 - 2.40.2-r1
libncurses6 - 6.4-r2
libnettle8 - 3.9.1-r1
libnftnl11 - 1.2.8-r1
libnl-tiny1 - 2023.12.05~965c4bf4-r1
libopenssl3 - 3.0.16-r1
libpam - 1.5.2-r1
libpopt0 - 1.19-r1
libpthread - 1.2.5-r4
libreadline8 - 8.2-r2
librt - 1.2.5-r4
libtasn1 - 4.19.0-r2
libtirpc - 1.3.4-r1
libubox20240329 - 2024.03.29~eb9bcb64-r1
libubus20250102 - 2025.01.02~afa57cce-r1
libuci20250120 - 2025.01.20~16ff0bad-r1
libuclient20201210 - 2024.10.22~88ae8f20-r1
libucode20230711 - 2024.07.22~b610860d-r3
libudebug - 2023.12.06~6d3f51f9
libudev-zero - 1.0.3-r1
libusb-1.0-0 - 1.0.27-r1
libustream-mbedtls20201210 - 2024.07.28~99bd3d2b-r1
libuuid1 - 2.40.2-r1
logd - 2024.04.26~85f10530-r1
luci - 24.297.79519~bcd13b9
luci-app-firewall - 25.014.06885~bd39c63
luci-app-package-manager - 24.341.02353~276fef8
luci-base - 25.014.55016~7046a1c
luci-light - 23.024.33244~34dee82
luci-mod-admin-full - 19.253.48496~3f93650
luci-mod-network - 25.021.30718~36b6107
luci-mod-status - 25.009.65022~20bf9a4
luci-mod-system - 24.336.49068~ef16778
luci-proto-ipv6 - 24.350.69236~8d13ea4
luci-proto-ppp - 25.009.71487~a88d4af
luci-ssl - 24.328.43591~9e70c9a
luci-theme-bootstrap - 24.357.59015~779ca14
mtd - 26
netifd - 2024.12.17~ea01ed41-r1
nftables-json - 1.1.1-r1
odhcp6c - 2024.09.25~b6ae9ffa-r1
odhcpd-ipv6only - 2024.05.08~a2988231-r1
openwrt-keyring - 2024.11.01~fbae29d7-r2
opkg - 2024.10.16~38eccbb1-r1
ppp - 2.5.1-r1
ppp-mod-pppoe - 2.5.1-r1
procd - 2024.12.22~42d39376-r1
procd-seccomp - 2024.12.22~42d39376-r1
procd-ujail - 2024.12.22~42d39376-r1
px5g-mbedtls - 11
rpcd - 2024.09.17~9f4b86e7-r1
rpcd-mod-file - 2024.09.17~9f4b86e7-r1
rpcd-mod-iwinfo - 2024.09.17~9f4b86e7-r1
rpcd-mod-luci - 20240305-r1
rpcd-mod-rrdns - 20170710
rpcd-mod-ucode - 2024.09.17~9f4b86e7-r1
swconfig - 12
terminfo - 6.4-r2
uboot-envtools - 2024.07-r1
ubox - 2024.04.26~85f10530-r1
ubus - 2025.01.02~afa57cce-r1
ubusd - 2025.01.02~afa57cce-r1
uci - 2025.01.20~16ff0bad-r1
uclient-fetch - 2024.10.22~88ae8f20-r1
ucode - 2024.07.22~b610860d-r3
ucode-mod-fs - 2024.07.22~b610860d-r3
ucode-mod-html - 1
ucode-mod-math - 2024.07.22~b610860d-r3
ucode-mod-nl80211 - 2024.07.22~b610860d-r3
ucode-mod-rtnl - 2024.07.22~b610860d-r3
ucode-mod-ubus - 2024.07.22~b610860d-r3
ucode-mod-uci - 2024.07.22~b610860d-r3
ucode-mod-uloop - 2024.07.22~b610860d-r3
uhttpd - 2023.06.25~34a8a74d-r4
uhttpd-mod-ubus - 2023.06.25~34a8a74d-r4
urandom-seed - 3
urngd - 2023.11.01~44365eb1-r1
usbids - 0.387-r1
usbutils - 017-r1
usign - 2020.05.23~f1f65026-r1
wifi-scripts - 1.0-r1
wireless-regdb - 2024.10.07-r1
wpad-basic-mbedtls - 2024.09.15~5ace39b0-r2
zlib - 1.3.1-r1
Yeah, it's a 16/128 device, I thought it was 8/64.
root@OpenWrt:/overlay# cat /proc/meminfo
MemTotal: 121172 kB
...
Don't know about flash space. Maybe 8M flash 4M ROM?
Filesystem Size Used Available Use% Mounted on
/dev/root 4.3M 4.3M 0 100% /rom
tmpfs 59.2M 1.3M 57.8M 2% /tmp
/dev/mtdblock9 8.4M 8.0M 380.0K 96% /overlay
overlayfs:/overlay 8.4M 8.0M 380.0K 96% /
tmpfs 512.0K 0 512.0K 0% /dev
/dev/sda1 14.7G 5.8M 14.2G 0% /mnt
Sorry man, didn't mean to. Just wanted to clarify.
Dante
March 16, 2025, 7:33pm
10
It was a bit of a PITA to decipher the added packages, but with the following selection the image is about ~11MB and still seems to build without a warning:
base-files ca-bundle dnsmasq dropbear firewall4 fstools kmod-ath9k kmod-gpio-button-hotplug kmod-nft-offload libc libgcc libustream-mbedtls logd mtd netifd nftables odhcp6c odhcpd-ipv6only opkg ppp ppp-mod-pppoe procd-ujail swconfig uboot-envtools uci uclient-fetch urandom-seed urngd wpad-basic-mbedtls kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct ath10k-firmware-qca988x-ct luci nfs-kernel-server kmod-usb-storage kmod-fs-btrfs block-mount avahi-dbus-daemon btrfs-progs kmod-usb2 kmod-usb-storage-uas kmod-usb-uhci nfs-utils-libs terminfo usbutils
BTW, you don't need USB 3.0 support, since the device lacks it, AFAICT. So using the firmware selector with a custom package list or a local image builder, seems like your best bet.
Sorry about the PITA. I don't know of any way to just show the different from stock install, and history seems not to be saved after logout.
So I would have to build a custom image and reinstall?
I tried removing kmod-usb3 and kmod-usb-storage-uas (which seems only to make sense with usb3) but it make no noticable difference to /overlay. Do I need to do some sort of empty trash or flush or something to clear it out?
Dante
March 16, 2025, 8:11pm
12
The read-only part of the firmware is always there, and you installing or updating packages uses storage in the overlay and doesn't replace the underlying files from the ROM. So without knowing what you did (e.g. updating multiple packages from the ROM), it's hard to say why you don't have enough storage. And, again, a custom image is your best bet.
system
Closed
March 28, 2025, 8:59am
14
This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.