This commit is contained in:
Miguel Fuertes committed 2025-09-25 11:27:36 +02:00
1 parent 0af2d3d547
commit 16152a5718
8 files changed
+418 -39

No files matched your search

+93
View File
@@ -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."
+1 -1
View File
@@ -54,7 +54,7 @@ boot_path=$(read_path "Drag the boot image: ")
fastboot flash boot "$boot_path" || { echo "Error flashing boot"; exit 1; } fastboot flash boot "$boot_path" || { echo "Error flashing boot"; exit 1; }
system_path=$(read_path "Drag the system image: ") 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..." echo "Rebooting to EDL mode..."
fastboot oem reboot-edl || { echo "Error rebooting to EDL"; exit 1; } fastboot oem reboot-edl || { echo "Error rebooting to EDL"; exit 1; }
+44
View File
@@ -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}"
+126
View File
@@ -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."
+120
View File
@@ -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."
+1 -1
View File
@@ -4,7 +4,7 @@ ifeq ($(SUBTARGET),msm8916)
define Device/msm8916 define Device/msm8916
SOC := 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 endef
define Device/yiming-uz801v3 define Device/yiming-uz801v3
+30 -32
View File
@@ -1,67 +1,65 @@
# # Copyright (C) 2025
# Copyright (C) 2020-2021 HandsomeMod Project # SPDX-License-Identifier: BSD-3-Clause
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=qrtr PKG_NAME:=qrtr
PKG_VERSION:=1.0
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/andersson/qrtr.git PKG_SOURCE_URL:=https://github.com/linux-msm/qrtr.git
# PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_VERSION:=5923eea97377f4a3ed9121b358fd919e3659db7b
PKG_SOURCE_VERSION:=9dc7a88548c27983e06465d3fbba2ba27d4bc050
# PKG_MIRROR_HASH:=46a01bc27ccbf8aeef3bc545d128d4da581cb3925e646c4eb6b50a6c5d68c5dc
PKG_LICENSE:=BSD-3-Clause PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/meson.mk
# Ajustes Meson opcionales (ej.: tipo de build)
# MESON_ARGS += --buildtype=release
define Package/libqrtr define Package/libqrtr
SECTION:=libs SECTION:=libs
CATEGORY:=Libraries CATEGORY:=Libraries
TITLE:=Userspace reference for net/qrtr in the Linux kernel TITLE:=Userspace library for Linux kernel QRTR
endef endef
define Package/qrtr-ns define Package/qrtr-utils
SECTION:=utils SECTION:=utils
CATEGORY:=Utilities CATEGORY:=Utilities
DEPENDS:=+libqrtr DEPENDS:=+libqrtr
TITLE:=qrtr daemon TITLE:=QRTR tools and daemon (qrtr-ns, lookup, etc.)
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)
endef endef
# Headers y .so para SDK
define Build/InstallDev define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include $(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 $(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 endef
# Biblioteca en su propio paquete
define Package/libqrtr/install define Package/libqrtr/install
$(INSTALL_DIR) $(1)/usr/lib $(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 endef
define Package/qrtr-ns/install # Herramientas y daemon
$(INSTALL_DIR) $(1)/etc/init.d define Package/qrtr-utils/install
$(INSTALL_BIN) ./files/qrtr.init $(1)/etc/init.d/qrtrns
$(INSTALL_DIR) $(1)/usr/bin $(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 endef
$(eval $(call BuildPackage,libqrtr)) $(eval $(call BuildPackage,libqrtr))
$(eval $(call BuildPackage,qrtr-ns)) $(eval $(call BuildPackage,qrtr-utils))
+3 -5
View File
@@ -13,10 +13,8 @@ PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/rmtfs-$(PKG_VERSION) PKG_BUILD_DIR:=$(BUILD_DIR)/rmtfs-$(PKG_VERSION)
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/andersson/rmtfs.git PKG_SOURCE_URL:=https://github.com/linux-msm/rmtfs
# PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_VERSION:=586372e575f5cc1a7cbb170219ab6df98f394cae
PKG_SOURCE_VERSION:=695d0668ffa6e2a4bf6e676f3c58a444a5d67690
# PKG_MIRROR_HASH:=ef6a3eb2e46cd02dd41b5c63e78c61143df398eb3a141fb8f16290a086ee208a
PKG_LICENSE:=BSD-3-Clause PKG_LICENSE:=BSD-3-Clause
@@ -26,7 +24,7 @@ define Package/rmtfs
SECTION:=utils SECTION:=utils
CATEGORY:=Utilities CATEGORY:=Utilities
TITLE:=Qualcomm Remote Filesystem Service Implementation TITLE:=Qualcomm Remote Filesystem Service Implementation
DEPENDS:=+libudev-zero +libqrtr +qrtr-ns DEPENDS:=+libudev-zero +libqrtr +qrtr-utils
endef endef
define Build/Compile define Build/Compile