#!/bin/sh set -e echo "1, 正在查找 rootfs 根文件系统..." ROOTFS_TAR="./mfgimages-myd-y6ull-ddr512m-emmc4g-base/rice-roofs.tar.bz2" if [ ! -f "$ROOTFS_TAR" ]; then echo "File not found: $ROOTFS_TAR" exit 1 fi echo "2, 正在解压 rootfs 根文件系统..." MY_WORKDIR="./rice-rootfs" rm -rf "$MY_WORKDIR" && mkdir -p "$MY_WORKDIR" tar -xjf "$ROOTFS_TAR" -C "$MY_WORKDIR" echo "3, 正在更新 rootfs 根文件系统..." ROOTFS_OPT="$MY_WORKDIR/opt/yfkj" MYBINS_DIR="../build" [ -f "$MYBINS_DIR/networkd" ] || { echo "❌ missing: $MYBINS_DIR/networkd" exit 1 } mkdir -p "$ROOTFS_OPT/networkd.service/a" cp -f "$MYBINS_DIR/networkd" "$ROOTFS_OPT/networkd.service/a" [ -f "$MYBINS_DIR/timesyncd" ] || { echo "❌ missing: $MYBINS_DIR/timesyncd" exit 1 } mkdir -p "$ROOTFS_OPT/timesyncd.service/a" cp -f "$MYBINS_DIR/timesyncd" "$ROOTFS_OPT/timesyncd.service/a" [ -f "$MYBINS_DIR/gnss" ] || { echo "❌ missing: $MYBINS_DIR/gnss" exit 1 } mkdir -p "$ROOTFS_OPT/gnss.service/a" cp -f "$MYBINS_DIR/gnss" "$ROOTFS_OPT/gnss.service/a" [ -f "$MYBINS_DIR/sshd-mqtt-bridge" ] || { echo "❌ missing: $MYBINS_DIR/sshd-mqtt-bridge" exit 1 } mkdir -p "$ROOTFS_OPT/sshd-mqtt-bridge.service/a" cp -f "$MYBINS_DIR/sshd-mqtt-bridge" "$ROOTFS_OPT/sshd-mqtt-bridge.service/a" echo "4, 正在压缩 rootfs 根文件系统..." TMP_ROOTFS="${ROOTFS_TAR}.tmp" tar -cjf "$TMP_ROOTFS" -C "$MY_WORKDIR" . mv "$TMP_ROOTFS" "$ROOTFS_TAR" rm -rf "$MY_WORKDIR" # Clean up the temporary directory echo "5, 正在生成 sdcard 卡镜像文件..." ./Y2-build.sh echo "✅ done."