diff --git a/base_partitions/build_and_pack.sh b/base_partitions/build_and_pack.sh new file mode 100755 index 0000000..763ff85 --- /dev/null +++ b/base_partitions/build_and_pack.sh @@ -0,0 +1,93 @@ +#!/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." diff --git a/base_partitions/flash.sh b/base_partitions/flash.sh index f982381..a557094 100755 --- a/base_partitions/flash.sh +++ b/base_partitions/flash.sh @@ -54,7 +54,7 @@ boot_path=$(read_path "Drag the boot image: ") fastboot flash boot "$boot_path" || { echo "Error flashing boot"; exit 1; } system_path=$(read_path "Drag the system image: ") -fastboot flash rootfs "$system_path" || { echo "Error flashing rootfs"; exit 1; } +fastboot flash system "$system_path" || { echo "Error flashing rootfs"; exit 1; } echo "Rebooting to EDL mode..." fastboot oem reboot-edl || { echo "Error rebooting to EDL"; exit 1; } diff --git a/base_partitions/make_gpt_both0.sh b/base_partitions/make_gpt_both0.sh new file mode 100644 index 0000000..358f139 --- /dev/null +++ b/base_partitions/make_gpt_both0.sh @@ -0,0 +1,44 @@ +#!/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}" diff --git a/diag-msm8916.sh b/diag-msm8916.sh new file mode 100644 index 0000000..7a31935 --- /dev/null +++ b/diag-msm8916.sh @@ -0,0 +1,126 @@ +#!/bin/sh +# diag-msm8916.sh - Diagnóstico QRTR/rmtfs/QMI para MSM8916 (OpenWrt/Linux) +# Requiere: qmicli, qrtr-lookup (opcional), rmtfs instalado, ip, dmesg + +set -eu + +SECTION() { printf "\n==== %s ====\n" "$*"; } +RUN() { + printf "\n$ %s\n" "$*" + set +e + sh -c "$*" + rc=$? + set -e + printf "[exit %s]\n" "$rc" +} +HAVE() { command -v "$1" >/dev/null 2>&1; } + +QMI_DEV="${QMI_DEV:-}" +QRTR_NODE="${QRTR_NODE:-}" +NET_HINT="${NET_HINT:-wwan0}" + +SECTION "Sistema" +RUN "uname -a" +[ -f /etc/openwrt_release ] && RUN "cat /etc/openwrt_release" || true +RUN "ip -o link" + +SECTION "Kernel/dmesg (qcom|rmtfs|remoteproc|ipa|rmnet|qrtr|qmi)" +RUN "dmesg | tail -n 200" +RUN "dmesg | grep -i -E 'qcom|rmtfs|remoteproc|ipa|rmnet|qrtr|qmi' | tail -n 400" + +SECTION "/dev y procesos" +RUN "ls -l /dev/qcom_rmtfs_mem* 2>/dev/null || echo 'no /dev/qcom_rmtfs_mem*'" +RUN "ps w | grep -E 'rmtfs|qrtr-ns|modemmanager|ofonod' | grep -v grep || true" +[ -x /etc/init.d/rmtfs ] && RUN "/etc/init.d/rmtfs status || true" || true +[ -x /etc/init.d/qrtr-ns ] && RUN "/etc/init.d/qrtr-ns status || true" || true + +SECTION "QRTR" +if HAVE qrtr-lookup; then + RUN "qrtr-lookup -v || qrtr-lookup 0 || true" +else + echo "qrtr-lookup no está instalado" +fi + +SECTION "EFS/MCFG en /var/lib/rmtfs" +[ -d /var/lib/rmtfs ] && RUN "find /var/lib/rmtfs -maxdepth 2 -type f -name 'modem_fs*' -printf '%p %s bytes\n' | sort -V || true" || echo "/var/lib/rmtfs no existe" +[ -d /var/lib/rmtfs ] && RUN "find /var/lib/rmtfs -maxdepth 5 -type f -name 'mcfg_sw.*' -printf '%p %s bytes\n' | sort -V || true" || true +[ -d /var/lib/rmtfs ] && RUN "ls -la /var/lib/rmtfs | sed -n '1,200p'" || true + +detect_qmi_dev() { + # 1) Usuario forzó + if [ -n "$QMI_DEV" ]; then + echo "$QMI_DEV" + return 0 + fi + # 2) QRTR_NODE forzado + if [ -n "$QRTR_NODE" ]; then + echo "qrtr://$QRTR_NODE" + return 0 + fi + # 3) Probar QRTR nodos 0..7 + if HAVE qmicli; then + i=0 + while [ $i -le 7 ]; do + if qmicli -d "qrtr://$i" --timeout=4 --get-service-version-info >/dev/null 2>&1; then + echo "qrtr://$i" + return 0 + fi + i=$((i+1)) + done + fi + # 4) Probar /dev/cdc-wdm* + for dev in /dev/cdc-wdm*; do + [ -e "$dev" ] || continue + if qmicli -d "$dev" --timeout=4 --get-service-version-info >/dev/null 2>&1; then + echo "$dev" + return 0 + fi + done + # 5) Probar /dev/wwan0qmi (pista del usuario) + if [ -e /dev/wwan0qmi ]; then + echo "/dev/wwan0qmi" + return 0 + fi + # 6) Probar map desde interfaz NET_HINT -> cdc-wdm + if [ -d "/sys/class/net/$NET_HINT/qmi" ]; then + ctl="$(readlink -f "/sys/class/net/$NET_HINT/qmi" 2>/dev/null || true)" + wdm="$(printf '%s' "$ctl" | awk -F/ '{ for (i=1;i<=NF;i++) if ($i ~ /cdc-wdm/) print "/dev/"$i }')" + if [ -n "$wdm" ] && [ -e "$wdm" ]; then + echo "$wdm" + return 0 + fi + fi + return 1 +} + +SECTION "Detección QMI" +if DEV="$(detect_qmi_dev)"; then + QMI_DEV="$DEV" + echo "QMI_DEV=$QMI_DEV" +else + echo "No se pudo detectar dispositivo/URI QMI" +fi + +if [ -n "${QMI_DEV:-}" ]; then + SECTION "QMI: versiones de servicio" + RUN "qmicli -d \"$QMI_DEV\" --timeout=8 --verbose --get-service-version-info" + + SECTION "QMI: identidad y registro de red" + RUN "qmicli -d \"$QMI_DEV\" --timeout=8 --dms-get-ids" + RUN "qmicli -d \"$QMI_DEV\" --timeout=8 --nas-get-home-network || true" + RUN "qmicli -d \"$QMI_DEV\" --timeout=8 --nas-get-serving-system || true" + + SECTION "QMI: perfiles 3GPP (APN)" + RUN "qmicli -d \"$QMI_DEV\" --timeout=12 --wds-get-profile-list=3gpp || true" + + SECTION "QMI: PDC/MCFG (si disponible)" + RUN "qmicli -d \"$QMI_DEV\" --timeout=15 --pdc-list-configs || true" + RUN "qmicli -d \"$QMI_DEV\" --timeout=8 --help-pdc | sed -n '1,120p' || true" +fi + +SECTION "Interfaces de datos (rmnet/wwan)" +RUN "ip -d link show | grep -E 'rmnet|wwan|ipa' -n || true" +RUN "ip a | sed -n '1,300p'" + +SECTION "Hecho" +echo "Fin de diagnóstico. Adjuntar este log completo al reporte." diff --git a/fix-efs-mcfg-apn.sh b/fix-efs-mcfg-apn.sh new file mode 100644 index 0000000..2a7e239 --- /dev/null +++ b/fix-efs-mcfg-apn.sh @@ -0,0 +1,120 @@ +#!/bin/sh +# fix-efs-mcfg-apn-busybox.sh - MSM8916: poblar /var/lib/rmtfs y diagnosticar QMI con busybox/ash + +set -eu + +SECTION(){ printf "\n==== %s ====\n" "$*"; } +RUN(){ printf "\n$ %s\n" "$*"; set +e; sh -c "$*"; rc=$?; set -e; printf "[exit %s]\n" "$rc"; } +HAVE(){ command -v "$1" >/dev/null 2>&1; } + +HASH_CMD="" +if HAVE sha256sum; then HASH_CMD="sha256sum"; +elif HAVE sha1sum; then HASH_CMD="sha1sum"; +elif HAVE md5sum; then HASH_CMD="md5sum"; +elif HAVE cksum; then HASH_CMD="cksum"; +else HASH_CMD=""; fi + +# Layout según tu salida PARTNAME= +P_FSC=/dev/mmcblk0p1 +P_FSG=/dev/mmcblk0p2 +P_MODEMST1=/dev/mmcblk0p4 +P_MODEMST2=/dev/mmcblk0p5 + +TS="$(date +%Y%m%d-%H%M%S 2>/dev/null || echo now)" +BACKUP_DIR="/var/backups/rmtfs.$TS" +QMI_DEV="${QMI_DEV:-}" +NET_HINT="${NET_HINT:-wwan0}" + +SECTION "Sistema" +RUN "uname -a" +[ -f /etc/openwrt_release ] && RUN "cat /etc/openwrt_release" || true + +SECTION "Preparar /var/lib/rmtfs y backup (busybox)" +mkdir -p /var/lib/rmtfs +chmod 700 /var/lib/rmtfs +mkdir -p "$BACKUP_DIR" +for f in modem_fsg modem_fsc modem_fs1 modem_fs2; do + [ -f "/var/lib/rmtfs/$f" ] && cp -a "/var/lib/rmtfs/$f" "$BACKUP_DIR/$f.old" || true +done +RUN "ls -la /var/lib/rmtfs | sed -n '1,200p'" + +SECTION "Copiar ficheros EFS/FSG desde eMMC" +dd if="$P_FSG" of=/var/lib/rmtfs/modem_fsg bs=4096 conv=fsync 2>/dev/null +dd if="$P_FSC" of=/var/lib/rmtfs/modem_fsc bs=4096 conv=fsync 2>/dev/null +dd if="$P_MODEMST1" of=/var/lib/rmtfs/modem_fs1 bs=4096 conv=fsync 2>/dev/null +dd if="$P_MODEMST2" of=/var/lib/rmtfs/modem_fs2 bs=4096 conv=fsync 2>/dev/null +chmod 600 /var/lib/rmtfs/modem_fs* /var/lib/rmtfs/modem_fsg /var/lib/rmtfs/modem_fsc +RUN "ls -l /var/lib/rmtfs/modem_*" +[ -n "$HASH_CMD" ] && RUN "$HASH_CMD /var/lib/rmtfs/modem_*" || echo "hash: ninguna de sha256sum/sha1sum/md5sum/cksum disponible" +# Hexdump con od (busybox) +HAVE od && RUN "od -Ax -tx1 -N 256 /var/lib/rmtfs/modem_fsg | sed -n '1,16p'" || true +HAVE od && RUN "od -Ax -tx1 -N 256 /var/lib/rmtfs/modem_fs1 | sed -n '1,16p'" || true + +SECTION "Reiniciar rmtfs y revisar logs" +[ -x /etc/init.d/rmtfs ] && RUN "/etc/init.d/rmtfs restart" || echo "no init rmtfs" +sleep 2 +HAVE logread && RUN "logread -e rmtfs | tail -n 200" || true +RUN "ps w | grep -E 'rmtfs|qrtr-ns' | grep -v grep || true" + +SECTION "QRTR: enumeración de servicios" +if command -v qrtr-lookup >/dev/null 2>&1; then + RUN "qrtr-lookup -v" + RUN "qrtr-lookup 14 1 || true" +else + echo "qrtr-lookup no está instalado" +fi + +detect_qmi_dev() { + # 1) Forzado por entorno + [ -n "$QMI_DEV" ] && { echo "$QMI_DEV"; return 0; } + # 2) Probar nodos WWAN QMI nativos + for dev in /dev/wwan*qmi*; do + [ -e "$dev" ] || continue + if qmicli -d "$dev" --timeout=4 --get-service-version-info >/dev/null 2>&1; then + echo "$dev"; return 0 + fi + done + # 3) Probar qrtr:// nodos 0..7 + i=0 + while [ $i -le 7 ]; do + if qmicli -d "qrtr://$i" --timeout=4 --get-service-version-info >/dev/null 2>&1; then + echo "qrtr://$i"; return 0 + fi + i=$((i+1)) + done + # 4) Mapear desde interfaz NET_HINT si expone control + if [ -d "/sys/class/net/$NET_HINT" ]; then + for d in /dev/wwan*qmi*; do + [ -e "$d" ] && echo "$d" && return 0 + done + fi + return 1 +} + +SECTION "Detección QMI" +if DEV="$(detect_qmi_dev)"; then + QMI_DEV="$DEV" + echo "QMI_DEV=$QMI_DEV" +else + echo "No se pudo detectar dispositivo/URI QMI" +fi + +if [ -n "${QMI_DEV:-}" ]; then + SECTION "QMI: versiones de servicio" + RUN "qmicli -d \"$QMI_DEV\" --timeout=10 --get-service-version-info" + SECTION "QMI: identidad/registro" + RUN "qmicli -d \"$QMI_DEV\" --timeout=8 --dms-get-ids" + RUN "qmicli -d \"$QMI_DEV\" --timeout=8 --nas-get-home-network || true" + RUN "qmicli -d \"$QMI_DEV\" --timeout=8 --nas-get-serving-system || true" + SECTION "QMI: perfiles 3GPP (APN)" + RUN "qmicli -d \"$QMI_DEV\" --timeout=12 --wds-get-profile-list=3gpp || true" + SECTION "QMI: PDC/MCFG (si soportado)" + RUN "qmicli -d \"$QMI_DEV\" --timeout=15 --pdc-list-configs || true" +fi + +SECTION "Interfaces WWAN/rmnet" +RUN "ip -d link show | grep -E 'rmnet|wwan|ipa' -n || true" +RUN "ip a | sed -n '1,200p'" + +SECTION "Hecho" +echo "Listo. Comparte la salida completa." diff --git a/msm89xx/image/msm8916.mk b/msm89xx/image/msm8916.mk index db55334..e03e643 100644 --- a/msm89xx/image/msm8916.mk +++ b/msm89xx/image/msm8916.mk @@ -4,7 +4,7 @@ ifeq ($(SUBTARGET),msm8916) define Device/msm8916 SOC := msm8916 - CMDLINE := "earlycon console=tty0 console=ttyMSM0,115200 root=/dev/mmcblk0p14 rw rootwait" + CMDLINE := "earlycon console=tty0 console=ttyMSM0,115200 root=/dev/mmcblk0p23 rw rootwait" endef define Device/yiming-uz801v3 diff --git a/packages/qrtr/Makefile b/packages/qrtr/Makefile index d32405e..b941678 100644 --- a/packages/qrtr/Makefile +++ b/packages/qrtr/Makefile @@ -1,67 +1,65 @@ -# -# Copyright (C) 2020-2021 HandsomeMod Project -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# +# Copyright (C) 2025 +# SPDX-License-Identifier: BSD-3-Clause include $(TOPDIR)/rules.mk PKG_NAME:=qrtr -PKG_VERSION:=1.0 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/andersson/qrtr.git -# PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_SOURCE_VERSION:=9dc7a88548c27983e06465d3fbba2ba27d4bc050 -# PKG_MIRROR_HASH:=46a01bc27ccbf8aeef3bc545d128d4da581cb3925e646c4eb6b50a6c5d68c5dc +PKG_SOURCE_URL:=https://github.com/linux-msm/qrtr.git +PKG_SOURCE_VERSION:=5923eea97377f4a3ed9121b358fd919e3659db7b PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=LICENSE + +PKG_INSTALL:=1 include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/meson.mk + +# Ajustes Meson opcionales (ej.: tipo de build) +# MESON_ARGS += --buildtype=release define Package/libqrtr SECTION:=libs CATEGORY:=Libraries - TITLE:=Userspace reference for net/qrtr in the Linux kernel + TITLE:=Userspace library for Linux kernel QRTR endef -define Package/qrtr-ns +define Package/qrtr-utils SECTION:=utils CATEGORY:=Utilities DEPENDS:=+libqrtr - TITLE:=qrtr daemon -endef - -define Build/Compile - $(call Build/Compile/Default,prefix=/usr all) -endef - -define Build/Install - $(call Build/Install/Default,prefix=/usr DESTDIR="$(PKG_INSTALL_DIR)" install) + TITLE:=QRTR tools and daemon (qrtr-ns, lookup, etc.) endef +# Headers y .so para SDK define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include - $(CP) $(PKG_INSTALL_DIR)/usr/include/libqrtr.h $(1)/usr/include/ + $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/ + $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libqrtr*.so* $(1)/usr/lib/ endef - +# Biblioteca en su propio paquete define Package/libqrtr/install $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libqrtr*.so* $(1)/usr/lib/ endef -define Package/qrtr-ns/install - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) ./files/qrtr.init $(1)/etc/init.d/qrtrns - +# Herramientas y daemon +define Package/qrtr-utils/install $(INSTALL_DIR) $(1)/usr/bin - $(CP) $(PKG_INSTALL_DIR)/usr/bin/qrtr-* $(1)/usr/bin/ + # Instalar utilidades/daemon construidos por Meson + # (p.ej. qrtr-ns, qrtr-lookup, qrtr-cmd si están presentes) + -$(CP) $(PKG_INSTALL_DIR)/usr/bin/qrtr* $(1)/usr/bin/ + + # Init script opcional (procd); coloque un files/qrtrns.init si se desea + # $(INSTALL_DIR) $(1)/etc/init.d + # $(INSTALL_BIN) ./files/qrtrns.init $(1)/etc/init.d/qrtrns endef $(eval $(call BuildPackage,libqrtr)) -$(eval $(call BuildPackage,qrtr-ns)) +$(eval $(call BuildPackage,qrtr-utils)) diff --git a/packages/rmtfs/Makefile b/packages/rmtfs/Makefile index 4b7d030..884909c 100644 --- a/packages/rmtfs/Makefile +++ b/packages/rmtfs/Makefile @@ -13,10 +13,8 @@ PKG_RELEASE:=1 PKG_BUILD_DIR:=$(BUILD_DIR)/rmtfs-$(PKG_VERSION) PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/andersson/rmtfs.git -# PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_SOURCE_VERSION:=695d0668ffa6e2a4bf6e676f3c58a444a5d67690 -# PKG_MIRROR_HASH:=ef6a3eb2e46cd02dd41b5c63e78c61143df398eb3a141fb8f16290a086ee208a +PKG_SOURCE_URL:=https://github.com/linux-msm/rmtfs +PKG_SOURCE_VERSION:=586372e575f5cc1a7cbb170219ab6df98f394cae PKG_LICENSE:=BSD-3-Clause @@ -26,7 +24,7 @@ define Package/rmtfs SECTION:=utils CATEGORY:=Utilities TITLE:=Qualcomm Remote Filesystem Service Implementation - DEPENDS:=+libudev-zero +libqrtr +qrtr-ns + DEPENDS:=+libudev-zero +libqrtr +qrtr-utils endef define Build/Compile