diff --git a/software/Dockerfile.build b/software/Dockerfile.build index 2ddba22..be1b4e4 100644 --- a/software/Dockerfile.build +++ b/software/Dockerfile.build @@ -4,5 +4,5 @@ FROM gitea/runner-images:ubuntu-22.04 # Install gcc-arm-none-eabi RUN apt update && \ DEBIAN_FRONTEND=noninteractive \ - apt install -y --no-install-recommends cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib \ + apt install -y --no-install-recommends cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib cpio \ && apt clean && rm -rf /var/lib/apt/lists/* diff --git a/software/build.sh b/software/build.sh index 317ddd9..fc37429 100755 --- a/software/build.sh +++ b/software/build.sh @@ -25,7 +25,10 @@ if ! command -v $PICOTOOL >/dev/null 2>&1; then fi fi BUILDDIR=lib/micropython/ports/rp2/build-TONBERRY_RPI_PICO_W/ -tools/mklittlefs/mklittlefs -p 256 -s 868352 -c src/ $BUILDDIR/filesystem.bin +FS_STAGE_DIR=$(mktemp -d) +trap 'rm -rf $FS_STAGE_DIR' EXIT +find src/ -iname '*.py' | cpio -pdm "$FS_STAGE_DIR" +tools/mklittlefs/mklittlefs -p 256 -s 868352 -c "$FS_STAGE_DIR"/src $BUILDDIR/filesystem.bin truncate -s 2M $BUILDDIR/firmware-filesystem.bin dd if=$BUILDDIR/firmware.bin of=$BUILDDIR/firmware-filesystem.bin bs=1k dd if=$BUILDDIR/filesystem.bin of=$BUILDDIR/firmware-filesystem.bin bs=1k seek=1200