This commit is contained in:
Miguel Fuertes committed 2025-09-25 20:29:26 +02:00
1 parent 546976ba0d
commit 2d5cfb219b
4 files changed
+1 -7415

No files matched your search

-93
View File
@@ -1,93 +0,0 @@
#!/bin/sh -e
# build_and_pack.sh — UZ801 (MSM8916):
# - Clona qhypstub, lk2nd (lk1st) y qtestsign
# - Descarga DB410c 17.09 (tz/sbl1/rpm)
# - Compila y firma hyp (qhypstub) y aboot (lk1st)
# - NO flashea; deja artefactos en files/
set -eu pipefail
# Requisitos en host: git, wget, unzip, python3, toolchains aarch64-linux-gnu- y arm-none-eabi-
need() { command -v "$1" >/dev/null || { echo "Falta dependencia: $1"; exit 1; }; }
need git; need wget; need unzip; need python3
export CROSS_AARCH64="${CROSS_AARCH64:-aarch64-linux-gnu-}"
export CROSS_ARM="${CROSS_ARM:-arm-none-eabi-}"
ROOT="${PWD}"
PKG="${ROOT}/packages"
FILES="${ROOT}/files"
TMP="${ROOT}/.tmp_dl"
mkdir -p "${PKG}" "${FILES}" "${TMP}"
QHYPSTUB_URL="https://github.com/msm8916-mainline/qhypstub.git"
LK2ND_URL="https://github.com/msm8916-mainline/lk2nd.git"
QTESTSIGN_URL="https://github.com/msm8916-mainline/qtestsign.git"
DB410C_BOOT_ZIP_URL="https://releases.linaro.org/96boards/dragonboard410c/linaro/rescue/17.09/dragonboard410c_bootloader_emmc_android-88.zip"
clone_or_update() {
local url="$1" dir="$2"
if [ -d "$2/.git" ]; then
git -C "$2" fetch --all --tags -q
git -C "$2" pull --ff-only -q
else
git clone --depth=1 "$1" "$2"
fi
}
echo "[*] Clonando repos..."
clone_or_update "$QHYPSTUB_URL" "${PKG}/qhypstub"
clone_or_update "$LK2ND_URL" "${PKG}/lk2nd"
clone_or_update "$QTESTSIGN_URL" "${PKG}/qtestsign"
echo "[*] Descargando DB410c 17.09..."
DBZIP="${TMP}/db410c_17.09.zip"
[ -s "${DBZIP}" ] || wget -O "${DBZIP}" "${DB410C_BOOT_ZIP_URL}"
# Función para extraer por basename desde el zip (independiente de la ruta interna)
extract_by_basename() {
local zip="$1" base="$2" out="$3"
# localizar la ruta interna por basename (case-insensitive)
local path
path="$(unzip -Z1 "${zip}" | awk -v b="$base" 'tolower($0) ~ "/" tolower(b) "$" || tolower($0) ~ "^" tolower(b) "$" {print $0; exit}')"
[ -n "${path}" ] || { echo "No se encontró ${base} en el ZIP"; return 1; }
# extraer al directorio de salida "files/" descartando rutas (-j) y sobrescribiendo (-o)
unzip -j -o "${zip}" "${path}" -d "$(dirname "${out}")" >/dev/null
# ruta real del fichero extraído (mismo basename bajo files/)
local tmp="$(dirname "${out}")/$(basename "${path}")"
# si el nombre ya coincide con el destino, no intentes mover
if [ "$(readlink -f "${tmp}")" != "$(readlink -f "${out}")" ]; then
mv -f "${tmp}" "${out}"
fi
echo "Extraído ${base} -> ${out} (desde ${path})"
}
echo "[*] Extrayendo tz/sbl1/rpm por nombre..."
extract_by_basename "${DBZIP}" "tz.mbn" "${FILES}/tz.mbn"
extract_by_basename "${DBZIP}" "sbl1.mbn" "${FILES}/sbl1.mbn" || true
extract_by_basename "${DBZIP}" "rpm.mbn" "${FILES}/rpm.mbn" || true
echo "[*] Compilando qhypstub..."
make -C "${PKG}/qhypstub" CROSS_COMPILE="${CROSS_AARCH64}"
echo "[*] Ajuste HS200 opcional en lk1st..."
grep -qxF 'DEFINES += USE_TARGET_HS200_CAPS=1' "${PKG}/lk2nd/project/lk1st-msm8916.mk" || \
echo 'DEFINES += USE_TARGET_HS200_CAPS=1' >> "${PKG}/lk2nd/project/lk1st-msm8916.mk"
echo "[*] Compilando lk1st (aboot) para UZ801..."
make -C "${PKG}/lk2nd" \
LK2ND_BUNDLE_DTB="msm8916-512mb-mtp.dtb" \
LK2ND_COMPATIBLE="yiming,uz801-v3" \
TOOLCHAIN_PREFIX="${CROSS_ARM}" \
lk1st-msm8916
echo "[*] Firmando qhypstub y lk1st con qtestsign..."
python3 "${PKG}/qtestsign/qtestsign.py" hyp "${PKG}/qhypstub/qhypstub.elf" \
-o "${FILES}/hyp.mbn"
python3 "${PKG}/qtestsign/qtestsign.py" aboot "${PKG}/lk2nd/build-lk1st-msm8916/emmc_appsboot.mbn" \
-o "${FILES}/aboot.mbn"
echo "[+] Artefactos listos en ${FILES}:"
ls -l "${FILES}"
echo "[i] Generados: hyp.mbn (qhypstub), aboot.mbn (lk1st); extraídos: tz.mbn y sbl1.mbn (DB410c 17.09); rpm.mbn opcional."
-44
View File
@@ -1,44 +0,0 @@
#!/bin/sh -e
# make_gpt_both0.sh — Genera gpt_both0.bin (uso avanzado/recuperación).
# ADVERTENCIA: sólo para restaurar GPT cuando está corrupto y sabiendo lo que se hace.
set -euo pipefail
FILES_DIR="files"
TMPDIR="$(mktemp -d)"
mkdir -p "${FILES_DIR}"
IMG="${TMPDIR}/gpt.img"
# Tamaño DEMO; ajustar a la geometría real si se pretende usar.
truncate -s 179323904 "${IMG}"
cat << 'EOF' | sfdisk "${IMG}"
label: gpt
label-id: DB708ACF-2E04-8DE2-BAFE-30C9B26444C5
unit: sectors
first-lba: 34
last-lba: 350208
sector-size: 512
gpt.img1 : start= 4096, size= 2, type=57B90A16-22C9-E33B-8F5D-0E81686A68CB, name="fsc"
gpt.img2 : start= 4098, size= 3072, type=638FF8E2-22C9-E33B-8F5D-0E81686A68CB, name="fsg"
gpt.img3 : start= 7170, size= 131072, type=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, name="modem"
gpt.img4 : start= 138242, size= 3072, type=EBBEADAF-22C9-E33B-8F5D-0E81686A68CB, name="modemst1"
gpt.img5 : start= 141314, size= 3072, type=0A288B1F-22C9-E33B-8F5D-0E81686A68CB, name="modemst2"
gpt.img6 : start= 144386, size= 65536, type=6C95E238-E343-4BA8-B489-8681ED22AD0B, name="persist"
gpt.img7 : start= 209922, size= 32, type=303E6AC3-AF15-4C54-9E9B-D9A8FBECF401, name="sec"
gpt.img8 : start= 209954, size= 1024, type=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A, name="hyp"
gpt.img9 : start= 210978, size= 1024, type=098DF793-D712-413D-9D4E-89D711772228, name="rpm"
gpt.img10 : start= 212002, size= 1024, type=DEA0BA2C-CBDD-4805-B4F9-F428251C3E98, name="sbl1"
gpt.img11 : start= 213026, size= 2048, type=A053AA7F-40B8-4B1C-BA08-2F68AC71A4F4, name="tz"
gpt.img12 : start= 215074, size= 2048, type=400FFDCD-22E0-47E7-9A23-F16ED9382388, name="aboot"
gpt.img13 : start= 217122, size= 131072, type=20117F86-E985-4357-B9EE-374BC1D8487D, name="boot"
gpt.img14 : start= 348194, size= 2015, type=1B81E7E6-F50D-419B-A739-2AEEF8DA3335, name="rootfs"
EOF
# Empaquetar Primary+Backup GPT en gpt_both0.bin
dd if="${IMG}" of="${FILES_DIR}/gpt_both0.bin" bs=512 count=34
dd if="${IMG}" bs=512 skip=2 count=32 >> "${FILES_DIR}/gpt_both0.bin"
dd if="${IMG}" bs=512 skip=350241 >> "${FILES_DIR}/gpt_both0.bin"
echo "gpt_both0.bin generado en ${FILES_DIR} (no usar salvo recuperación)."
rm -rf "${TMPDIR}"
+1 -16
View File
@@ -31,30 +31,19 @@ CONFIG_PACKAGE_kmod-iptunnel6=y
CONFIG_PACKAGE_kmod-leds-gpio=y
CONFIG_PACKAGE_kmod-ledtrig-activity=y
CONFIG_PACKAGE_kmod-ledtrig-gpio=y
CONFIG_PACKAGE_kmod-mii=y
CONFIG_PACKAGE_kmod-qrtr=y
CONFIG_PACKAGE_kmod-qrtr-tun=y
CONFIG_PACKAGE_kmod-rmnet=y
CONFIG_PACKAGE_kmod-tun=y
CONFIG_PACKAGE_kmod-udptunnel4=y
CONFIG_PACKAGE_kmod-udptunnel6=y
CONFIG_PACKAGE_kmod-usb-core=y
CONFIG_PACKAGE_kmod-usb-gadget-mass-storage=y
CONFIG_PACKAGE_kmod-usb-gadget-ncm=y
CONFIG_PACKAGE_kmod-usb-gadget-serial=y
CONFIG_PACKAGE_kmod-usb-net=y
CONFIG_PACKAGE_kmod-usb-net-cdc-ether=y
CONFIG_PACKAGE_kmod-usb-net-cdc-mbim=y
CONFIG_PACKAGE_kmod-usb-net-cdc-ncm=y
CONFIG_PACKAGE_kmod-usb-net-qmi-wwan=y
CONFIG_PACKAGE_kmod-usb-wdm=y
CONFIG_PACKAGE_kmod-wireguard=y
CONFIG_PACKAGE_libattr=y
CONFIG_PACKAGE_libdbus=y
CONFIG_PACKAGE_libexpat=y
CONFIG_PACKAGE_libffi=y
CONFIG_PACKAGE_libiwinfo=y
CONFIG_PACKAGE_libiwinfo-data=y
CONFIG_PACKAGE_liblucihttp=y
CONFIG_PACKAGE_liblucihttp-ucode=y
CONFIG_PACKAGE_libmbim=y
@@ -74,11 +63,10 @@ CONFIG_PACKAGE_luci-mod-admin-full=y
CONFIG_PACKAGE_luci-mod-network=y
CONFIG_PACKAGE_luci-mod-status=y
CONFIG_PACKAGE_luci-mod-system=y
CONFIG_PACKAGE_luci-proto-gre=y
CONFIG_PACKAGE_luci-proto-ipv6=y
CONFIG_PACKAGE_luci-proto-mbim=y
CONFIG_PACKAGE_luci-proto-modemmanager=y
CONFIG_PACKAGE_luci-proto-ppp=y
CONFIG_PACKAGE_luci-proto-qmi=y
CONFIG_PACKAGE_luci-proto-wireguard=y
CONFIG_PACKAGE_luci-theme-bootstrap=y
CONFIG_PACKAGE_modemmanager=y
@@ -99,10 +87,7 @@ CONFIG_PACKAGE_ucode-mod-log=y
CONFIG_PACKAGE_ucode-mod-math=y
CONFIG_PACKAGE_uhttpd=y
CONFIG_PACKAGE_uhttpd-mod-ubus=y
CONFIG_PACKAGE_umbim=y
CONFIG_PACKAGE_uqmi=y
CONFIG_PACKAGE_wireguard-tools=y
CONFIG_PACKAGE_wwan=y
# CONFIG_TARGET_IMAGES_GZIP is not set
CONFIG_TARGET_ROOTFS_PARTSIZE=240
# CONFIG_TARGET_ROOTFS_SQUASHFS is not set
-7262
View File
File diff suppressed because it is too large. Load diff