Qoriq: Watchguard Firebox M300 r24106+patches imagebuilder

Hi All.

I've been working on getting a Watchguard Firebox m300 ready for deployment for my own purposes.

Here's a link to all the packages and the imagebuilder to hopefully make it easy for someone to try out 23.05.05 and host their own package repository locally so they can test out various packages.

As an aside I received a positive response of getting this target out of source-only. It would be nice to gauge interest and see how many users of this device there are? (See mailing list)

At the time of writing for 23.05.05 the following packages fail to build for me:

Failed to build qoriq packages
ERROR: package/libs/libnl failed to build.
ERROR: package/feeds/packages/tar failed to build.
ERROR: package/libs/sysfsutils failed to build.
ERROR: package/feeds/packages/autossh failed to build.
ERROR: package/feeds/packages/boringssl failed to build.
ERROR: package/feeds/packages/cni-route-override failed to build.
ERROR: package/feeds/packages/cni failed to build.
ERROR: package/feeds/packages/ctop failed to build.
ERROR: package/feeds/packages/runc failed to build.
ERROR: package/feeds/packages/crowdsec failed to build.
ERROR: package/feeds/packages/dns-over-https failed to build.
ERROR: package/feeds/packages/dnsproxy failed to build.
ERROR: package/feeds/packages/dnstap failed to build.
ERROR: package/feeds/packages/dnslookup failed to build.
ERROR: package/feeds/packages/dnscrypt-proxy2 failed to build.
ERROR: package/feeds/packages/docker failed to build.
ERROR: package/feeds/packages/geoipupdate failed to build.
ERROR: package/feeds/packages/gitlab-runner failed to build.
ERROR: package/feeds/packages/gateway-go failed to build.
ERROR: package/feeds/packages/irtt failed to build.
ERROR: package/feeds/packages/kcptun failed to build.
ERROR: package/feeds/packages/golang failed to build.
ERROR: package/feeds/packages/librespeed-cli failed to build.
ERROR: package/feeds/packages/librespeed-go failed to build.
ERROR: package/feeds/packages/lrzsz failed to build.
ERROR: package/feeds/packages/logrotate failed to build.
ERROR: package/feeds/packages/netbird failed to build.
ERROR: package/feeds/packages/obfs4proxy failed to build.
ERROR: package/feeds/packages/oci-runtime-tools failed to build.
ERROR: package/feeds/packages/overture failed to build.
ERROR: package/feeds/packages/openblas failed to build.
ERROR: package/feeds/packages/prometheus-statsd-exporter failed to build.
ERROR: package/feeds/packages/restic-rest-server failed to build.
ERROR: package/feeds/packages/restic failed to build.
ERROR: package/feeds/packages/snowflake failed to build.
ERROR: package/feeds/packages/telegraf failed to build (build variant: small).
ERROR: package/feeds/packages/trojan-go failed to build.
ERROR: package/feeds/packages/syncthing failed to build.
ERROR: package/feeds/packages/wifi-presence failed to build.
ERROR: package/feeds/packages/yq failed to build.
ERROR: package/feeds/packages/v2ray-core failed to build.
ERROR: package/feeds/packages/ztdns failed to build.
ERROR: package/feeds/packages/telegraf failed to build (build variant: full).
ERROR: package/feeds/telephony/pcapsipdump failed to build.
ERROR: package/feeds/packages/crowdsec-firewall-bouncer failed to build.
ERROR: package/feeds/packages/frp failed to build.
ERROR: package/feeds/packages/cloudflared failed to build.
ERROR: package/feeds/packages/nextdns failed to build.
ERROR: package/feeds/packages/xray-core failed to build.
ERROR: package/network/utils/wpan-tools failed to build.
ERROR: package/feeds/packages/bmon failed to build.
ERROR: package/feeds/packages/docker-compose failed to build.
ERROR: package/feeds/packages/gperftools failed to build.
ERROR: package/feeds/packages/powertop failed to build.
ERROR: package/feeds/packages/wavemon failed to build.
ERROR: package/feeds/packages/adguardhome failed to build.
ERROR: package/feeds/packages/geth failed to build.
ERROR: package/feeds/packages/v2raya failed to build.
ERROR: package/feeds/packages/nebula failed to build.
ERROR: package/feeds/packages/yggdrasil failed to build.
ERROR: package/feeds/packages/ipvsadm failed to build.
ERROR: package/feeds/packages/sing-box failed to build.
ERROR: package/feeds/packages/tailscale failed to build.
ERROR: package/feeds/packages/rclone failed to build.
ERROR: package/feeds/routing/cjdns failed to build.
ERROR: package/feeds/packages/ksmbd-tools failed to build.
ERROR: package/feeds/packages/aircrack-ng failed to build.
ERROR: package/feeds/packages/cni-plugins-nft failed to build.
ERROR: package/feeds/packages/jool failed to build.
ERROR: package/feeds/packages/containerd failed to build.
ERROR: package/feeds/packages/podman failed to build.
ERROR: package/feeds/packages/miniflux failed to build.
ERROR: package/feeds/packages/cni-plugins failed to build.
ERROR: package/feeds/packages/dockerd failed to build.
ERROR: package/feeds/packages/libmraa failed to build.
ERROR: package/feeds/packages/libupm failed to build.
ERROR: package/feeds/packages/git-lfs failed to build.

One should be able to host a local webserver to install further packages.
For example: python3 -m http.server --directory .
And then point your opkg feeds to it.
For example:

root@OpenWrt:~# cat /etc/opkg/customfeeds.conf 
# add your custom package feeds here
#
# src/gz example_feed_name http://www.example.com/path/to/files
src/gz local http://<address>:8000/
root@OpenWrt:~# 

The things i've modified:
->Per github PR https://github.com/openwrt/openwrt/pull/16308 we have edits to do the switch ports mac addresses in the device tree.
-> I removed enet3/enet2 so that the dsa conduits get random mac addresses. (Of note upon initialisation you get a bunch of errors with this on 23.05.5 but not on snapshot from what I can tell)

errormessage

[ 19.512064] fsl_dpaa_mac ffe4e6000.ethernet conduit0: mac_dev->set_multi() = -22
[ 19.519800] fsl_dpaa_mac: Unicast Address

-> preinit changes so the interface device names are correct (i.e. front panel ports are now eth0-eth7, conduits are named conduit0, conduit1)
-> Changes to initial lan/wan/opt assignments. i.e. eth0 wan, eth1-eth7 are all in lan. (Main benefit is you will get luci-mod-status port status on luci home page working correctly)

https://drive.google.com/drive/folders/1M3KMA-DKUwAeeKw6Aj4y1Q3-oeZpP4PN?usp=drive_link

Luci Screenshot