# monok8s Alpine-based Kubernetes cluster image for Mono's Gateway Development Kit https://docs.mono.si/gateway-development-kit/getting-started ## Features * A/B deployment * Read-only OS * k8s style OS upgrade (see Upgrading) ## IMPORTANT NOTES * The 3 RJ45 ports are label in eth1, eth2, eth0 respectively by the kernel (left to right) * So `ip addr eth0` is your right most port * If the fan stopped spinning. Unplug ASAP! Otherwise CPU temp goes to the moon. ### Table of Contents 1. Flashing - [USB](docs/flashing-usb.md) - [Over network (tftp)](docs/flashing-network.md) 2. [Upgrading](docs/ota.md) ## Build Find the latest package versions and update build.env * [kernel](https://github.com/nxp-qoriq/linux/archive/refs/tags/) * [busybox](https://github.com/mirror/busybox/archive/refs/tags/) * [CRI-O](https://github.com/cri-o/cri-o/releases) * [Kubelet](https://kubernetes.io/releases/download/) Then run ``` make release ``` Inspect and modify config/cluster.env, then run ``` make cluster-config ``` ### Making sub stages ```bash make build-base # The image that builds the kernel and everything make kernel # Builds our kernel from NXP make initramfs make itb # Builds out/board.itb (contains the kernel and the initramfs) ``` ## NOTES ### The device's dts files are located at here https://github.com/we-are-mono/OpenWRT-ASK/tree/mono-25.12.0-rc3/target/linux/layerscape/files/arch/arm64/boot/dts/freescale * We need both `mono-gateway-dk-sdk.dts` and `mono-gateway-dk.dts` since the sdk one includes the non-sdk one. * The actual dts being used is the `mono-gateway-dk-sdk.dts` ## DISCLAIMER USE AT YOUR OWN RISKS. I leverage ChatGPT heavily for this.