build.sh 1.6 KB

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