changes
This commit is contained in:
1 parent
546976ba0d
commit
2d5cfb219b
4 files changed
+1
-7415
No files matched your search
@@ -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."
|
||||
@@ -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
@@ -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
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user