build.sh 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. [ -f "$MYBINS_DIR/camera-capture" ] || {
  41. echo "❌ missing: $MYBINS_DIR/camera-capture"
  42. exit 1
  43. }
  44. mkdir -p "$ROOTFS_OPT/camera-capture.service/a"
  45. cp -f "$MYBINS_DIR/camera-capture" "$ROOTFS_OPT/camera-capture.service/a"
  46. [ -f "$MYBINS_DIR/web-ui" ] || {
  47. echo "❌ missing: $MYBINS_DIR/web-ui"
  48. exit 1
  49. }
  50. mkdir -p "$ROOTFS_OPT/web-ui.service/a"
  51. cp -f "$MYBINS_DIR/web-ui" "$ROOTFS_OPT/web-ui.service/a"
  52. echo "4, 正在压缩 rootfs 根文件系统..."
  53. TMP_ROOTFS="${ROOTFS_TAR}.tmp"
  54. tar -cjf "$TMP_ROOTFS" -C "$MY_WORKDIR" .
  55. mv "$TMP_ROOTFS" "$ROOTFS_TAR"
  56. rm -rf "$MY_WORKDIR" # Clean up the temporary directory
  57. echo "5, 正在生成 sdcard 卡镜像文件..."
  58. ./Y2-build.sh
  59. echo "✅ done."