Following your recommendation, I
tried imagebuilder for MIFI. Quite a few issues:
./gl_image -p mifi
Finalizing root filesystem…
/etc/openwrt/imagebuilder/imagebuilder/3.0/openwrt-imagebuilder-ar71xx-generic/build_dir/target-mips_24kc_musl/root-ar71xx/etc/init.d/glqos: line 3: /lib/functions.sh: No such file or directory
/etc/openwrt/imagebuilder/imagebuilder/3.0/openwrt-imagebuilder-ar71xx-generic/build_dir/target-mips_24kc_musl/root-ar71xx/etc/init.d/glqos: line 4: /lib/functions/network.sh: No such file or directory
/etc/openwrt/imagebuilder/imagebuilder/3.0/openwrt-imagebuilder-ar71xx-generic/build_dir/target-mips_24kc_musl/root-ar71xx/etc/init.d/gl_tertf: line 3: /lib/functions.sh: No such file or directory
/etc/openwrt/imagebuilder/imagebuilder/3.0/openwrt-imagebuilder-ar71xx-generic/build_dir/target-mips_24kc_musl/root-ar71xx/etc/init.d/gl_tertf: line 4: /lib/functions/network.sh: No such file or directory
/etc/openwrt/imagebuilder/imagebuilder/3.0/openwrt-imagebuilder-ar71xx-generic/build_dir/target-mips_24kc_musl/root-ar71xx/etc/init.d/wireguard_server: line 3: /lib/functions.sh: No such file or directory
/etc/openwrt/imagebuilder/imagebuilder/3.0/openwrt-imagebuilder-ar71xx-generic/build_dir/target-mips_24kc_musl/root-ar71xx/etc/init.d/wireguard: line 3: /lib/functions.sh: No such file or directory
/etc/openwrt/imagebuilder/imagebuilder/3.0/openwrt-imagebuilder-ar71xx-generic/build_dir/target-mips_24kc_musl/root-ar71xx/etc/init.d/wireguard: line 4: /lib/functions/network.sh: No such file or directory
Create ‘/etc/openwrt/imagebuilder/imagebuilder/3.0/openwrt-imagebuilder-ar71xx-generic/build_dir/target-mips_24kc_musl/root-ar71xx/etc/filesystems’.

Add ‘ntfs-3g’ to known filesystems.
./etc/init.d/firewall_gl: line 9: uci: command not found
./etc/init.d/firewall_gl: line 10: uci: command not found
./etc/init.d/firewall_gl: line 11: uci: command not found

Building images…
Unable to open feeds configuration at /etc/openwrt/imagebuilder/imagebuilder/3.0/openwrt-imagebuilder-ar71xx-generic/scripts/feeds line 48.

Broken or not ?