diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 49fbdbf..318624b 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -22,6 +22,7 @@ jobs: - uses: actions/checkout@v4 with: lfs: true + submodules: true - name: Get commit message run: | diff --git a/Dockerfile.agnos b/Dockerfile.agnos index 0ba86c4..fa7c443 100644 --- a/Dockerfile.agnos +++ b/Dockerfile.agnos @@ -39,20 +39,20 @@ RUN apt-get -o Dpkg::Options::="--force-overwrite" install -yq \ # ################## # # #### Compiler #### # # ################## # -FROM agnos-base as agnos-compiler +FROM agnos-base AS agnos-compiler RUN apt-get update && apt-get install --no-install-recommends checkinstall # Individual compiling images -FROM agnos-compiler as agnos-compiler-capnp +FROM agnos-compiler AS agnos-compiler-capnp COPY ./userspace/compile-capnp.sh /tmp/agnos/ RUN /tmp/agnos/compile-capnp.sh -FROM agnos-compiler as agnos-compiler-ffmpeg +FROM agnos-compiler AS agnos-compiler-ffmpeg COPY ./userspace/compile-ffmpeg.sh /tmp/agnos/ RUN /tmp/agnos/compile-ffmpeg.sh -FROM agnos-compiler as agnos-compiler-qtwayland5 +FROM agnos-compiler AS agnos-compiler-qtwayland5 COPY ./userspace/compile-qtwayland5.sh /tmp/agnos/ COPY ./userspace/qtwayland/patch* /tmp/agnos/ RUN /tmp/agnos/compile-qtwayland5.sh diff --git a/flash_kernel.sh b/flash_kernel.sh index 71e9445..a38a066 100755 --- a/flash_kernel.sh +++ b/flash_kernel.sh @@ -1,14 +1,19 @@ #!/bin/bash set -e -GREEN="\033[0;32m" -NO_COLOR='\033[0m' - DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)" cd $DIR -echo "Flashing kernel..." -tools/edl w boot_a output/boot.img -tools/edl w boot_b output/boot.img +echo "Checking active slot..." +ACTIVE_SLOT=$(tools/edl getactiveslot | grep "Current active slot:" | awk '{print $NF}') -echo -e "${GREEN}Flashed boot_a and boot_b!${NO_COLOR}" +if [[ "$ACTIVE_SLOT" != "a" && "$ACTIVE_SLOT" != "b" ]]; then + echo "Invalid active slot: '$ACTIVE_SLOT'" + exit 1 +fi + +echo "Active slot: $ACTIVE_SLOT" +echo "Flashing boot_$ACTIVE_SLOT..." +tools/edl w boot_$ACTIVE_SLOT $DIR/output/boot.img + +echo "Flashed boot_$ACTIVE_SLOT!" diff --git a/flash_system.sh b/flash_system.sh index 9b506ee..d0e4d6d 100755 --- a/flash_system.sh +++ b/flash_system.sh @@ -4,12 +4,18 @@ set -e DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)" cd $DIR -echo "Flashing system..." -tools/edl w system_a $DIR/output/system-skip-chunks.img +echo "Checking active slot..." +ACTIVE_SLOT=$(tools/edl getactiveslot | grep "Current active slot:" | awk '{print $NF}') -tools/edl setactiveslot a -tools/edl setbootablestoragedrive 1 +if [[ "$ACTIVE_SLOT" != "a" && "$ACTIVE_SLOT" != "b" ]]; then + echo "Invalid active slot: '$ACTIVE_SLOT'" + exit 1 +fi + +echo "Active slot: $ACTIVE_SLOT" +echo "Flashing system_$ACTIVE_SLOT..." +tools/edl w system_$ACTIVE_SLOT $DIR/output/system.img tools/edl reset -echo "Done!" +echo "Flashed system_$ACTIVE_SLOT!"