Set cross-platform support on Docker cross-compiling
This commit is contained in:
@@ -7,24 +7,26 @@ CONTAINER_NAME="openwrt-builder-container"
|
|||||||
FIRMWARE_PATH="/home/builder/openwrt/bin/brcm963xx/zyxel/ras.bin"
|
FIRMWARE_PATH="/home/builder/openwrt/bin/brcm963xx/zyxel/ras.bin"
|
||||||
|
|
||||||
echo "Building Docker image ${IMAGE_NAME}..."
|
echo "Building Docker image ${IMAGE_NAME}..."
|
||||||
docker build -t ${IMAGE_NAME} .
|
docker build --platform linux/amd64 -t ${IMAGE_NAME} .
|
||||||
|
|
||||||
echo "Starting container..."
|
echo "Starting container..."
|
||||||
docker run --cpus="1" -it --name "${CONTAINER_NAME}" \
|
docker run --platform linux/amd64 --cpus="1" -it --name "${CONTAINER_NAME}" -e TERM=vt100 "${IMAGE_NAME}" /bin/bash -c \
|
||||||
-e TERM=vt100 \
|
"cd /home/builder/openwrt && \
|
||||||
"${IMAGE_NAME}" \
|
|
||||||
/bin/bash -c "cd /home/builder/openwrt && \
|
|
||||||
./scripts/feeds update -a && \
|
./scripts/feeds update -a && \
|
||||||
./scripts/feeds install -a && \
|
./scripts/feeds install -a && \
|
||||||
make -j1 V=sc"
|
make PROJECT=brcm963xx clean && \
|
||||||
|
make PROJECT=brcm963xx -j1 V=sc"
|
||||||
|
|
||||||
docker cp ${CONTAINER_NAME}:.config ./.config-build
|
docker cp ${CONTAINER_NAME}:.config ./.config-build
|
||||||
docker cp ${CONTAINER_NAME}:defconfig.log ./defconfig-build.log
|
docker cp ${CONTAINER_NAME}:defconfig.log ./defconfig-build.log
|
||||||
|
|
||||||
docker cp ${CONTAINER_NAME}:${FIRMWARE_PATH} ./build/ras.bin 2>/dev/null || {
|
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 "ERROR: Firmware not found at ${FIRMWARE_PATH}"
|
||||||
echo "The build may have failed or the output path is not ${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}"
|
echo "You can inspect the container manually: docker start -ai ${CONTAINER_NAME}"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
fi
|
||||||
echo "Firmware copied to ./build/ras.bin"
|
|
||||||
|
docker rm ${CONTAINER_NAME}
|
||||||
|
|||||||
Reference in New Issue
Block a user