Router with usb 3.0

RTL8111 should work, because the kmod-r8169 package is included in the default build.

Regarding xiaomi mi box 4, it will play movies according to its capabilities, but OpenWrt cannot be flashed onto it.

1 Like

On x86, yes. That driver is part of the default build.

Thats very good. Because that mother board are cheapets good mother with included cpu.

And i will run docker. Because i like minecraft. And i will make my server for it. Openwrt have low system requirements and thats is good.

I don't know about S905L, but my s905x3 has been working fine on manjaro for more than two years like nas without problems

Well... good luck installing Docker. It won't work, because OpenWrt only has 128 MB for all the extra packages, and dockerd won't fit in its uncompressed form. It is so fat that you also can't build an image with dockerd included via https://firmware-selector.openwrt.org/, because it does not fit into the default ext4 images.

Here is my recommendation for x86_64 systems, to ensure both a usable Docker installation and a possibility to sysupgrade:

  1. Download a squashfs image (not ext4!), it will be of course without Docker.
  2. Install it on a SATA disk. Yes, there will be a lot of unused space at the end.
  3. Install block-mount, fdisk, luci-app-attendedsysupgrade.
  4. Using fdisk, create a dummy 768MB partition, /dev/sda3, and another partition, /dev/sda4, that occupies all the available space on the SATA disk. Then /dev/sda3 can be deleted.
  5. Format /dev/sda4 as ext4, and mount on /opt/docker. Or on /mnt/sda4, and make /opt/docker a symlink (don't forget to adjust /etc/sysupgrade.conf then).
  6. Configure attended sysupgrade to allow advanced settings.
  7. When selecting packages for the new image, remove firewall4, and nftables, add firewall, iptables-legacy, and ip6tables-legacy, as per Docker package recommendations. Also add dockerd and luci-app-dockerman.
  8. Let it "upgrade" your system (but really, it will just install an image with extra packages included).

This works, unlike the naive attempt, because dockerd ends up being in the squashfs, compressed, and this way it fits.

Regarding the further attended sysupgrades, unfortunately, it will not detect newer versions. But that's something that can be hacked using the Inspector which is built into every modern web browser - just inspect the select box and change the value of the first option. E.g. to SNAPSHOT if you want to try a snapshot.

During the sysupgrade, the extra partition will be preserved, so you can keep your data there. And if OpenWrt devs will increase the squashfs size in the future, we have that covered, by creating a 768MB dummy partition that can be sacrificed.

Or maybe think again - do you really need OpenWrt? Maybe try Alpine or Debian, they are also good distributions without much fat included, won't need a special upgrade procedure, no need to worry about the magic 128MB limit for installed packages, and Docker just works in both?

Oh. But i have question. But what just expand ext4 rootfs partition on ext4 image?

Then you will have problems upgrading. OpenWrt, when upgraded in a way other than "attended sysupgrade", forgets about all extra installed packages, and about all files not registered as configuration files by one of the packages, or not listed in /etc/sysupgrade.conf. So, effectively, you will have to reinstall from scratch every time a new version comes out, including every kernel security upgrade.

Attended sysupgrade solves this problem, but it requires that all your packages fit into 128 MB.

I will think about that. Maybe i will write upgrade script that install all needed packages, editing fstab, and apply configs

Im experimenting with vm and openwrt

Of course you are welcome to experiment, but, because your use case is not about routing, but essentially a NAS + DLNA server + docker host, I think that more traditional distributions, e.g. Alpine or Debian, will suit it better.

2 Likes

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