build_rtu_linux_modules.sh 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #!/bin/bash
  2. # 2025-09-28 11:15 created by niujiuru
  3. set -e
  4. set -o pipefail
  5. ver_num="1.0.0.1"
  6. cur_dir="$(pwd)"
  7. pre_dir="$(dirname "$cur_dir")"
  8. pkgname="rtu_linux_modules"
  9. pkg_dir="${cur_dir}/${pkgname}"
  10. pkg_tar="${cur_dir}/${pkgname}_${ver_num}.tar.gz"
  11. rm -rf "${pkg_dir}" "${pkg_tar}"
  12. mkdir -p "${pkg_dir}"
  13. echo "1, Creating config directory and copying config files..."
  14. mkdir -p "${pkg_dir}/config"
  15. cp -rf "${pre_dir}/baseapp/config.ini" "${pkg_dir}/config/"
  16. cp -rf "${pre_dir}/sshd/server/sshd_cfg.ini" "${pkg_dir}/config/"
  17. echo "2, Creating script directory and copying scripts..."
  18. mkdir -p "${pkg_dir}/script"
  19. cp -rf "${pre_dir}/scripts/"* "${pkg_dir}/script/"
  20. chmod a+x "${pkg_dir}/script/"*
  21. echo "3, Creating lib directory and copying library files..."
  22. mkdir -p "${pkg_dir}/lib"
  23. use_cam="all_supported" # 使用海康相机: "hk_takephoto"; 使用大华相机: "dh_takephoto"; 同时使用所有: "all_supported"
  24. if [ "$use_cam" = "all_supported" ] || [ "$use_cam" = "hk_takephoto" ]; then
  25. cam_dir="${pre_dir}/hk_takephoto"
  26. cp -rf "${cam_dir}/lib/armv7hf/"* "${pkg_dir}/lib/"
  27. fi
  28. if [ "$use_cam" = "all_supported" ] || [ "$use_cam" = "dh_takephoto" ]; then
  29. cam_dir="${pre_dir}/dh_takephoto"
  30. cp -rf "${cam_dir}/lib/armv7hf/"* "${pkg_dir}/lib/"
  31. fi
  32. echo "4, Building hkcam_reset..."
  33. if [ "$use_cam" = "all_supported" ] || [ "$use_cam" = "hk_takephoto" ]; then
  34. cam_dir="${pre_dir}/hk_takephoto"
  35. make -C "${cam_dir}" clean
  36. make -C "${cam_dir}" target=armv7hf hkcam_reset.out
  37. cp -rf "${cam_dir}/hkcam_reset.out" "${pkg_dir}/"
  38. make -C "${cam_dir}" clean
  39. else
  40. echo " Skipping hkcam_reset build (not U-port camera)!"
  41. fi
  42. echo "5, Building ${pkgname}..."
  43. cd ${pre_dir}
  44. make -C "${pre_dir}" clean
  45. make -C "${pre_dir}" target=armv7hf
  46. cd ${cur_dir}
  47. cp -rf "${pre_dir}/yfkj_sshd.out" "${pkg_dir}/"
  48. cp -rf "${pre_dir}/${pkgname}.out" "${pkg_dir}/"
  49. make -C "${pre_dir}" clean
  50. echo "6, Packaging into ${pkg_tar}..."
  51. tar -czvf "${pkg_tar}" -C "${cur_dir}" "${pkg_dir##*/}"
  52. # 清理临时目录
  53. rm -rf "${pkg_dir}"
  54. echo "✅ Package build completed successfully: ${pkg_tar}"
  55. exit 0