build.sh 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. mkdir -p "$ROOTFS_OPT"
  16. [ -d "./local-startup.service" ] || {
  17. echo "❌ missing directory: ./local-startup.service"
  18. exit 1
  19. }
  20. rm -rf "$ROOTFS_OPT/local-startup.service"
  21. cp -rf local-startup.service/ "$ROOTFS_OPT/"
  22. MYBINS_DIR="../build"
  23. [ -f "$MYBINS_DIR/networkd" ] || {
  24. echo "❌ missing: $MYBINS_DIR/networkd"
  25. exit 1
  26. }
  27. mkdir -p "$ROOTFS_OPT/networkd.service/a"
  28. cp -f "$MYBINS_DIR/networkd" "$ROOTFS_OPT/networkd.service/a"
  29. [ -f "$MYBINS_DIR/timesyncd" ] || {
  30. echo "❌ missing: $MYBINS_DIR/timesyncd"
  31. exit 1
  32. }
  33. mkdir -p "$ROOTFS_OPT/timesyncd.service/a"
  34. cp -f "$MYBINS_DIR/timesyncd" "$ROOTFS_OPT/timesyncd.service/a"
  35. [ -f "$MYBINS_DIR/gnss" ] || {
  36. echo "❌ missing: $MYBINS_DIR/gnss"
  37. exit 1
  38. }
  39. mkdir -p "$ROOTFS_OPT/gnss.service/a"
  40. cp -f "$MYBINS_DIR/gnss" "$ROOTFS_OPT/gnss.service/a"
  41. [ -f "$MYBINS_DIR/sshd-mqtt-bridge" ] || {
  42. echo "❌ missing: $MYBINS_DIR/sshd-mqtt-bridge"
  43. exit 1
  44. }
  45. mkdir -p "$ROOTFS_OPT/sshd-mqtt-bridge.service/a"
  46. cp -f "$MYBINS_DIR/sshd-mqtt-bridge" "$ROOTFS_OPT/sshd-mqtt-bridge.service/a"
  47. [ -f "$MYBINS_DIR/camera-capture" ] || {
  48. echo "❌ missing: $MYBINS_DIR/camera-capture"
  49. exit 1
  50. }
  51. mkdir -p "$ROOTFS_OPT/camera-capture.service/a"
  52. cp -f "$MYBINS_DIR/camera-capture" "$ROOTFS_OPT/camera-capture.service/a"
  53. [ -f "$MYBINS_DIR/app-install" ] || {
  54. echo "❌ missing: $MYBINS_DIR/app-install"
  55. exit 1
  56. }
  57. mkdir -p "$ROOTFS_OPT/app-install.service/a"
  58. cp -f "$MYBINS_DIR/app-install" "$ROOTFS_OPT/app-install.service/a"
  59. [ -f "$MYBINS_DIR/upgrade" ] || {
  60. echo "❌ missing: $MYBINS_DIR/upgrade"
  61. exit 1
  62. }
  63. mkdir -p "$ROOTFS_OPT/upgrade.service/a"
  64. cp -f "$MYBINS_DIR/upgrade" "$ROOTFS_OPT/upgrade.service/a"
  65. [ -f "$MYBINS_DIR/web-ui" ] || {
  66. echo "❌ missing: $MYBINS_DIR/web-ui"
  67. exit 1
  68. }
  69. mkdir -p "$ROOTFS_OPT/web-ui.service/a"
  70. cp -f "$MYBINS_DIR/web-ui" "$ROOTFS_OPT/web-ui.service/a"
  71. echo "4, 正在压缩 rootfs 根文件系统..."
  72. TMP_ROOTFS="${ROOTFS_TAR}.tmp"
  73. tar -cjf "$TMP_ROOTFS" -C "$MY_WORKDIR" .
  74. mv "$TMP_ROOTFS" "$ROOTFS_TAR"
  75. rm -rf "$MY_WORKDIR" # Clean up the temporary directory
  76. echo "5, 正在生成 sdcard 卡镜像文件..."
  77. ./Y2-build.sh
  78. echo "✅ done."