build.sh 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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/app-install" ] || {
  47. echo "❌ missing: $MYBINS_DIR/app-install"
  48. exit 1
  49. }
  50. mkdir -p "$ROOTFS_OPT/app-install.service/a"
  51. cp -f "$MYBINS_DIR/app-install" "$ROOTFS_OPT/app-install.service/a"
  52. [ -f "$MYBINS_DIR/upgrade" ] || {
  53. echo "❌ missing: $MYBINS_DIR/upgrade"
  54. exit 1
  55. }
  56. mkdir -p "$ROOTFS_OPT/upgrade.service/a"
  57. cp -f "$MYBINS_DIR/upgrade" "$ROOTFS_OPT/upgrade.service/a"
  58. [ -f "$MYBINS_DIR/web-ui" ] || {
  59. echo "❌ missing: $MYBINS_DIR/web-ui"
  60. exit 1
  61. }
  62. mkdir -p "$ROOTFS_OPT/web-ui.service/a"
  63. cp -f "$MYBINS_DIR/web-ui" "$ROOTFS_OPT/web-ui.service/a"
  64. echo "4, 正在压缩 rootfs 根文件系统..."
  65. TMP_ROOTFS="${ROOTFS_TAR}.tmp"
  66. tar -cjf "$TMP_ROOTFS" -C "$MY_WORKDIR" .
  67. mv "$TMP_ROOTFS" "$ROOTFS_TAR"
  68. rm -rf "$MY_WORKDIR" # Clean up the temporary directory
  69. echo "5, 正在生成 sdcard 卡镜像文件..."
  70. ./Y2-build.sh
  71. echo "✅ done."