build: 通用打包脚本优化 — 产物归档 fw_apps/out/(fw_apps/build/分离防互清) + fw_content.conf 升级 M2.73 权威清单(补svc_power/svc_perf+刷新md5) + 删过时独立脚本build_fw_apps_m267.sh
This commit is contained in:
1 parent
cc3c39ff2f
commit
6df14a44b6
3 files changed
+24
-191
No files matched your search
@@ -9,12 +9,14 @@
|
||||
# -c|--config 固件内容清单路径。默认 scripts/build/fw_content.conf。
|
||||
# 传别的路径即可并存多套调试/场景配置(互不覆盖)。
|
||||
# -v|--version 版本号,写入目标 /etc/meowos_version(如 0.7.62)。【必传】
|
||||
# -o|--out 输出 .upt 路径(如 fw_apps/r3proii_m2_67.upt)。【必传】
|
||||
# -o|--out 输出 .upt 路径(如 r3proii_m2_67.upt)。【必传】
|
||||
# 若指向仓库内 fw_apps/ 下(非 out/),自动并入 fw_apps/out/ 归档。
|
||||
# -b|--base fw_ssh 基线目录。默认 fw_ssh/squashfs-root。
|
||||
#
|
||||
# 通用步骤(读清单之外的固定逻辑,参照 build_fw_apps_m267.sh 的权威流程):
|
||||
# 通用步骤(读清单之外的固定逻辑):
|
||||
# 1) 解析参数
|
||||
# 2) 建树:rm -rf fw_apps && mkdir -p && cp -a $BASE fw_apps/squashfs-root
|
||||
# 2) 建树:rm -rf fw_apps/build && mkdir -p && cp -a $BASE fw_apps/build/squashfs-root
|
||||
# (组装区 fw_apps/build/ 每次清理重建;产物 fw_apps/out/ 不受影响)
|
||||
# 3) 校验基线:usr/bin/hiby_player 必须为 stock(a73f2c49…)
|
||||
# 4) 解析清单:逐条 md5 校验(若填) + cp -f + chmod 755,目录自动建
|
||||
# 5) 写版本:echo $VERSION > $DST/etc/meowos_version
|
||||
@@ -24,6 +26,8 @@
|
||||
# 8) S99ssh → S84ssh:改名(内容不变),校验一致后删除 S99ssh(清单不含 S84)
|
||||
# 9) repack:hiby_os_crack/scripts/repack.sh -i $DST -k unpacked_v14/xImage -o $OUT
|
||||
# 10) 体积核对(rootfs ≤ 45,088,768)+ unpack 回验 0 diff
|
||||
#
|
||||
# 约定:改固件内容只改 fw_content.conf(每行 <src>|<dst>|<md5>|<desc>),不改本脚本。
|
||||
# ============================================================================
|
||||
set -e
|
||||
|
||||
@@ -35,6 +39,7 @@ CONFIG="$ROOT/scripts/build/fw_content.conf"
|
||||
BASE="$ROOT/fw_ssh/squashfs-root"
|
||||
VERSION=""
|
||||
OUT=""
|
||||
OUT_DIR="$ROOT/fw_apps/out" # 产物归档目录(不受构建清理影响)
|
||||
|
||||
usage() {
|
||||
echo "用法: $0 -c <manifest.conf> -v <version> -o <out.upt> [-b <fw_ssh/squashfs-root>]"
|
||||
@@ -64,10 +69,15 @@ case "$BASE" in /*) ;; *) BASE="$ROOT/$BASE" ;; esac
|
||||
case "$OUT" in /*) ;; *) OUT="$ROOT/$OUT" ;; esac
|
||||
[ -f "$CONFIG" ] || { echo "!!! 清单不存在: $CONFIG"; exit 1; }
|
||||
[ -d "$BASE" ] || { echo "!!! 基线不存在: $BASE"; exit 1; }
|
||||
# 产物统一归档到 $ROOT/fw_apps/out/(避免某次构建清理误删;仅当 -o 指向仓库内非 out/ 路径时并入)
|
||||
case "$OUT" in
|
||||
"$OUT_DIR/"*) ;; # 已在 out/ 下,保持
|
||||
"$ROOT/fw_apps/"*) OUT="$OUT_DIR/$(basename "$OUT")" ;; # 仓库内 fw_apps/ 下 → 并入 out/
|
||||
esac
|
||||
mkdir -p "$(dirname "$OUT")"
|
||||
|
||||
SRC="$BASE" # 基线(拷贝源)
|
||||
DST="$ROOT/fw_apps/squashfs-root" # 组装目标
|
||||
DST="$ROOT/fw_apps/build/squashfs-root" # 组装目标(工作区,每次构建清理重建;产物不受影响)
|
||||
LOGO_DIR="$ROOT/bootlogos"
|
||||
# 外围 CLI(自 rootfs /usr/bin 移除;已迁 TF 卡 MeowOS/opt/bin/)
|
||||
MIGRATE_TOOLS="curl socat tmux jq rsync nano htop ncdu file xxd"
|
||||
@@ -83,8 +93,8 @@ echo " OUT=$OUT"
|
||||
|
||||
# ---- 2) 建树(复制基线) ----
|
||||
echo "==> 建树(复制基线)"
|
||||
rm -rf "$ROOT/fw_apps"
|
||||
mkdir -p "$ROOT/fw_apps"
|
||||
rm -rf "$ROOT/fw_apps/build"
|
||||
mkdir -p "$ROOT/fw_apps/build" "$OUT_DIR"
|
||||
cp -a "$SRC" "$DST"
|
||||
|
||||
# ---- 3) 校验基线 player 为 stock ----
|
||||
|
||||
Reference in new issue
Block a user