build.sh 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #!/bin/sh
  2. set -e
  3. copy_if() {
  4. if [ ! -f "$1" ]; then
  5. echo "❌ missing source file: $1"
  6. exit 1
  7. fi
  8. mkdir -p "$2" && cp -f "$1" "$2" || exit 1
  9. }
  10. echo "1, 查找 rootfs 根文件系统..."
  11. ROOTFS_TAR="./mfgimages-myd-y6ull-ddr512m-emmc4g-base/rice-roofs.tar.bz2"
  12. if [ ! -f "$ROOTFS_TAR" ]; then
  13. echo "File not found: $ROOTFS_TAR"
  14. exit 1
  15. fi
  16. echo "2, 解压 rootfs 根文件系统..."
  17. MY_WORKDIR="./rice-rootfs"
  18. rm -rf "$MY_WORKDIR" && mkdir -p "$MY_WORKDIR"
  19. tar -xjf "$ROOTFS_TAR" -C "$MY_WORKDIR"
  20. echo "3, 更新 rootfs 根文件系统..."
  21. ROOTFS_OPT="$MY_WORKDIR/opt/yfkj"
  22. MYBINS_DIR="../build"
  23. copy_if "$MYBINS_DIR/networkd" "$ROOTFS_OPT/networkd.service/a"
  24. copy_if "$MYBINS_DIR/timesyncd" "$ROOTFS_OPT/timesyncd.service/a"
  25. echo "4, 压缩 rootfs 根文件系统..."
  26. TMP_ROOTFS="${ROOTFS_TAR}.tmp"
  27. tar -cjf "$TMP_ROOTFS" -C "$MY_WORKDIR" .
  28. mv "$TMP_ROOTFS" "$ROOTFS_TAR"
  29. rm -rf "$MY_WORKDIR" # Clean up the temporary directory
  30. echo "5, 生成 sdcard 卡镜像文件..."
  31. ./Y2-build.sh
  32. echo "✅ done."