OWUT and EXTROOT, what's the status?

Hi there,

I’ve been using OWUT and its predecessor AUC, and I really appreciate how they make upgrades easier and help save disk space by putting extra files in the "rom" partition.

I’m currently facing a problem with an older Netgear router I have. I didn’t intend to dispose of it just yet, but its flash storage is nearly full, and I’m unable to add more packages I’d like to use.

I’ve read about extroot before, and it worked well for replacing upgrades, but now I think I need both Owut and extroot: Owut for the easy upgrades and extroot for the extra disk space. From what I understand, we can’t use them together yet.

Is there a way to make this work? Maybe by manually removing large packages and reinstalling them after an upgrade? Or, could this be integrated into Owut itself? If not, would it be possible to request this feature?

Additionally, in my case, the router still has some usable flash, but this setup could also help breathe new life into very old routers. For example, I have a D-Link DIR-825 that I can’t use anymore, even after removing everything I don’t need. I’d like to repurpose it as an access point (so I don’t even need routing functionality). However, I’ve had no luck with the latest system builder.

I’d appreciate any response, even if it’s just a “this won’t be done.”

Thanks!

There is no method to automatically upgrade extroot environments. OWUT/AUC cannot upgrade the system in this way, and it will likely never be able to, either.

What you can do to make things a bit easier is to setup scripts for reinstallation/reconfiguration of your device after an upgrade.

If your router has enough internal storage, you can setup owut/AUC on the main flash such that it makes it easy to upgrade the base system (i.e. without the the extroot storage connected, but ensuring that you get the prerequisite packages installed by default when you upgrade the system).

What I do, post-upgrade of the base system, is reinsert my extroot storage and run some scripts. The first script erases the extroot storage and then pivots to extroot, followed by a reboot. Once rebooted, I check to make sure that the process was successful (simply checking df -h is usually sufficient). Assuming yes, I then run another script to install my packages. Finally, I restore a backup (that I take before doing any of the stuff described here).

1 Like

And to clarify, this isn't really an auc/owut/LuCI ASU/Firmware Selector issue, it's a sysupgrade one. The ASU tooling simply creates an image then runs sysupgrade, and none of these pre-sysupgrade tools pay any attention to the file system partitioning.

1 Like

The DIR-825-B1 will work fine as Access Point just using the basic firmware file
I do use the 4 switch ports as the LAN as the WAN port need to use CPU to route
to LAN ok it use if only have 1 cable tho

uci del system.ntp.enabled
uci set system.
[0].zonename='Australia/Melbourne'
uci set system.
[0].timezone='AEST-10AEDT,M10.1.0,M4.1.0/3'
uci set system.
[0].hostname="DIR-825-B1"
uci commit system

uci del network.lan
uci del network.wan
uci del network.wan6
uci del network.lan6
uci del network.@device[0]

uci set network.br_lan=device
uci set network.br_lan.name='br-lan'
uci set network.br_lan.type='bridge'
uci add_list network.br_lan.ports='eth1'
uci add_list network.br_lan.ports='eth0.1'

uci set network.lan=interface
uci set network.lan.device='br-lan'
uci set network.lan.proto="dhcp"
uci set network.lan.delegate='0'

uci set network.lan6=interface
uci set network.lan6.proto='dhcpv6'
uci set network.lan6.device='
'
uci set network.lan6.reqaddress='try'
uci set network.lan6.reqprefix='no'
uci commit network

uci set firewall.@zone[0].network='lan lan6'
uci set firewall.@defaults[0].syn_flood='0'
uci commit firewall

/etc/init.d/dnsmasq disable
/etc/init.d/dnsmasq stop

uci del dhcp.lan
uci del dhcp.wan
uci set dhcp.lan=dhcp
uci set dhcp.lan.interface='lan'
uci set dhcp.lan.ignore='1'
uci add_list dhcp.lan.ra_flags='none'
uci commit dhcp

/etc/init.d/odhcpd disable
/etc/init.d/odhcpd stop

uci set wireless.@wifi-device[0].country='AU'
uci set wireless.@wifi-device[0].htmode='HT40'	
uci set wireless.@wifi-device[0].disabled=0
uci set wireless.@wifi-device[0].channel='auto'

uci set wireless.@wifi-iface[0].ssid='Name2.4G'
uci set wireless.@wifi-iface[0].encryption='psk2+ccmp'
uci set wireless.@wifi-iface[0].key='Password'
uci set wireless.@wifi-iface[0].wpa_disable_eapol_key_retries='1'

uci set wireless.@wifi-device[1].country='AU'
uci set wireless.@wifi-device[1].htmode='HT40'	
uci set wireless.@wifi-device[1].disabled=0
uci set wireless.@wifi-device[1].channel='auto'

uci set wireless.@wifi-iface[1].ssid='Name5G'
uci set wireless.@wifi-iface[1].encryption='psk2+ccmp'
uci set wireless.@wifi-iface[1].key='Password'
uci set wireless.@wifi-iface[1].wpa_disable_eapol_key_retries='1'

uci commit wireless

echo -e "Password\nPassword" | (passwd root)

echo "# Put your custom commands here that should be executed once" > /etc/rc.local
echo "# the system init finished. By default this file does nothing." >> /etc/rc.local
echo "" >> /etc/rc.local
echo "/etc/init.d/dnsmasq disable" >> /etc/rc.local
echo "/etc/init.d/dnsmasq stop" >> /etc/rc.local
echo "/etc/init.d/odhcpd disable" >> /etc/rc.local
echo "/etc/init.d/odhcpd stop" >> /etc/rc.local
echo "exit 0" >> /etc/rc.local

uci add system led # =cfg038bba
uci set system.@led[-1].sysfs='blue:planet'
uci set system.@led[-1].trigger='netdev'
uci set system.@led[-1].dev='eth1'
uci add_list system.@led[-1].mode='link'
uci add_list system.@led[-1].mode='tx'
uci add_list system.@led[-1].mode='rx'

uci add system led # =cfg048bba
uci set system.@led[-1].sysfs='blue:wlan2g'
uci set system.@led[-1].trigger='netdev'
uci set system.@led[-1].dev='phy0-ap0'
uci add_list system.@led[-1].mode='link'
uci add_list system.@led[-1].mode='tx'
uci add_list system.@led[-1].mode='rx'

uci add system led # =cfg058bba
uci set system.@led[-1].sysfs='blue:wlan5g'
uci set system.@led[-1].trigger='netdev'
uci set system.@led[-1].dev='phy1-ap0'
uci add_list system.@led[-1].mode='link'
uci add_list system.@led[-1].mode='tx'
uci add_list system.@led[-1].mode='rx'

uci commit system

reboot

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