#!/bin/bash set -e IMAGE_NAME="zyxel-openwrt-builder" CONTAINER_NAME="openwrt-builder-container" FIRMWARE_PATH="/home/builder/openwrt/bin/brcm963xx/zyxel/ras.bin" echo "Building Docker image ${IMAGE_NAME}..." docker build --platform linux/amd64 -t ${IMAGE_NAME} . echo "Starting container..." docker run --platform linux/amd64 --cpus="1" -it --name "${CONTAINER_NAME}" -e TERM=vt100 "${IMAGE_NAME}" /bin/bash -c \ "cd /home/builder/openwrt && \ ./scripts/feeds update -a && \ ./scripts/feeds install -a && \ make PROJECT=brcm963xx clean && \ make PROJECT=brcm963xx -j1 V=sc" docker cp ${CONTAINER_NAME}:.config ./.config-build docker cp ${CONTAINER_NAME}:defconfig.log ./defconfig-build.log if docker cp ${CONTAINER_NAME}:${FIRMWARE_PATH} ./build/ras.bin 2>/dev/null; then echo "Firmware copied to ./build/ras.bin" else echo "ERROR: Firmware not found at ${FIRMWARE_PATH}" echo "The build may have failed or the output path is not ${FIRMWARE_PATH}" echo "You can inspect the container manually: docker start -ai ${CONTAINER_NAME}" exit 1 fi docker rm ${CONTAINER_NAME}