Files

27 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# Сборка emmc.img = Boot1 + Boot2 + RPMB + User. WIP без orig FFU.
set -e
BOOT_MB=${BOOT_MB:-4}
RPMB_MB=${RPMB_MB:-4}
USER_MB=${USER_MB:-7456}
OUT=${1:-images/emmc.img}
FW_DIR=fw
usage() { echo "usage: $0 [--help] [out.img]"; echo " Нужны fw/orig.ffu или fw/dump.bin. Без них — нулевой WIP-образ для проверки геометрии."; }
if [ "$1" == "--help" ] || [ "$1" == "-h" ]; then usage; exit 0; fi
mkdir -p "$(dirname "$OUT")"
# WIP: пока нет orig FFU (2GB не влезет в 4.1G на сервере) — строим нулевой образ верной геометрии
# Boot1/Boot2 кратно 128K, одинаковые. User кратно 512B.
echo "[build-emmc] WIP: orig FFU не найден в $FW_DIR — строю нулевой образ геометрии"
echo "[build-emmc] Положи в fw/orig.ffu и перезапусти для реальной GPT40"
echo "[build-emmc] Boot=${BOOT_MB}M RPMB=${RPMB_MB}M User=${USER_MB}M -> $OUT"
BOOT_KB=$((BOOT_MB*1024)); RPMB_KB=$((RPMB_MB*1024)); USER_KB=$((USER_MB*1024))
TOTAL_KB=$((BOOT_KB*2+RPMB_KB+USER_KB))
dd if=/dev/zero of="$OUT" bs=1K count=1024 status=none
truncate -s "${TOTAL_KB}K" "$OUT"
echo "[build-emmc] OK: $OUT ($(du -h "$OUT" | cut -f1)) — НУЛЕВОЙ, не шить в прод!"
echo "[build-emmc] TODO: mkemmc.sh + ffureader GPT + CID Samsung + EXT_CSD REV5"