|
||
|
|
|
|||||||
| ROMs y desarrollo Xiaomi Redmi Note 3 ROMs y desarrollo Xiaomi Redmi Note 3 |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Compilar CyanogenMod 12.1 --Crea tus propias compilaciones--
Ni yo ni HTCMANÍA nos hacemos responsables de fallos en el terminal. Prueba este tutorial bajo tu responsabilidad. Es para el Redmi Note 3 hennessy (MTK) Lo prometido es deuda. Espero que sepáis valorar este tutorial, realmente hay pocos en español, y para MTK todavía menos (si es que los hay). CONSIDERACIONES (importante): -El hecho de compilar CM12.1 no te convierte en desarrollador así que te pediría que no abras nuevos hilos con nuevas roms a no ser que realmente aporte algo sustancial, puesto que va a ser un calco de lo que ya hay. Este tutorial está pensado para crear tus propias compilaciones y despertar tu curiosidad. -Este tutorial aborda la forma "manual" de hacerlo, puedes crear tu local.manifest.xml y así automatizar el proceso -Vamos a emplear el device, y vendor que podéis encontrar en mi github. Como no hay sources para el kernel emplearemos el stock precompilado que ya se encuentra en el device tree. -Este tutorial no está enfocado a resolver duda de instalación de sistemas basados en linux ni tampoco del funcionamiento de github así que por favor evitar preguntas relacionadas con esto, hay muchísima información por la red. -Puedes reducir el tiempo de tu compilación añadiendo Código:
export USE_CCACHE=1 Código:
prebuilts/misc/linux-x86/ccache/ccache -M 50G DESCARGA ARCHIVOS NECESARIOS: Device tree: https://github.com/pocarropa/android...iaomi_hennessy Vendor tree: https://github.com/pocarropa/android...iaomi_hennessy REQUISITOS: -Ordenador de 64 bits con al menos 4 GB de RAM (8GB recomendados), un procesador decente y al menos 150 GB libres de disco duro -Suficiente SWAP memory ( como mínimo el doble de la RAM disponible) de lo contrario nos dará "Killed" error -Cuenta en github. Si no tenéis la podéis crear desde aquí: https://github.com -Sistema operativo Linux o tener instalado ubuntu en windows mediante Virtualbox. - Este tutorial está enfocado expresamente a Ubuntu 14.04. Las diferencias que haya con Ubuntu 16.04 serán advertidas COMPILAR CM12.1: Paso 1: Preparando el sistema para compilar Copiar, pegar y ejecutar en el terminal los siguientes comandos: 1-Desinstalar el JDK pre-instalado en ubuntu Código:
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\* Código:
sudo apt-get update && sudo apt-get install openjdk-7-jdk Código:
java –version Para Ubuntu 14.04: Código:
sudo apt-get install bison build-essential curl flex git gnupg gperf libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop maven openjdk-7-jdk pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev Código:
sudo apt-get install g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev Para Ubuntu 16.04: Código:
sudo apt-get install bison build-essential curl flex git gnupg gperf libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop maven openjdk-7-jdk pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev Código:
sudo apt-get install g++-multilib gcc-multilib lib32ncurses5-dev lib32readline6-dev lib32z1-dev 4-Creación del directorio más instalación de la aplicación REPO necesaria para trabajar con repositorios: Código:
mkdir -p ~/bin Código:
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo Código:
chmod a+x ~/bin/repo 5-Ponemos ~/bin en la ruta de ejecución (path of execution) En versiones recientes de ubuntu suele venir por defecto , de cualquier modo abrimos .bashrc con un editor de texto (por ejemplo gedit) de la siguiente manera: Código:
gedit ~/.bashrc
(Click para mostrar/ocultar)
En caso de no existir, lo añadimos y guardamos, y además reiniciamos el archivo .bashrc para que surtan efecto los cambios: Código:
source ~/.bashrc En este punto el sistema está listo para trabajar con repositorios y compilar roms. Paso 2: Compilar CM12.1 desde sources 1- Creamos una cuenta github si no la tenemos ya creada: https://github.com 2-Registramos nuestra cuenta github en el terminal: Código:
git config --global*user.name*"login" Código:
git config --global user.email "[email protected]" 3-Creamos una carpeta donde se descargarán las "sources" y se construirá el nuevo firmware Código:
mkdir ~/cm-12.1 Código:
cd ~/cm-12.1 Código:
repo init -u https://github.com/CyanogenMod/android.git -b cm-12.1 Código:
repo sync -j4 7-Una vez descargadas las sources hacemos los siguientes pasos: Vamos a la carpeta cm-12.1 y entramos en la carpeta device. Una vez allí, creamos una carpeta llamada "xiaomi" y dentro de la carpeta "xiaomi" creamos otra carpeta llamada "hennessy". Debe quedar cm-12.1/device/xiaomi/hennessy Copiamos dentro de la carpeta cm-12.1/device/xiaomi/hennessy todos los archivos y carpetas del device tree descargados previamente de mi github Ahora volvemos a la carpeta cm-12.1 y entramos en la carpeta vendor. Una vez allí, creamos una carpeta llamada "xiaomi" y dentro de la carpeta "xiaomi" creamos otra carpeta llamada "hennessy". Debe quedar cm-12.1/vendor/xiaomi/hennessy Copiamos dentro de la carpeta cm-13/vendor/xiaomi/hennessy todos los archivos y carpetas del vendor tree descargados previamente de mi github 8-Ahora parcheamos las souces para nuestro dispositivo, de otra manera nos dará errores durante la compilación: Entramos en nuestra carpeta de trabajo (si es que no estabamos ya dentro): Código:
cd ~/cm-12.1 Código:
chmod +x device/xiaomi/hennessy/patches/apply.sh Código:
./device/xiaomi/hennessy/patches/apply.sh 9-Ejecutamos el script de construcción Código:
. build/envsetup.sh Código:
brunch hennessy El tiempo de construcción del firmware variará desde 1 horas hasta 8 dependiendo de la potencia del equipo utilizado y de otros factores. Debéis saber que para disminuir el tiempo de construcción, este device tree lleva webview precompilado lo que hace disminuir este tiempo más del 60 %. Os quedará algo así (salvando las diferencias con vuestro dispositivo):
(Click para mostrar/ocultar)
Paso 3 : Actualizar las souces y construir un nuevo firmware Este paso lo efectuaremos para actualizar las sources de cyanogen con las supuestas mejoras y actualizaciones de seguridad etc.. o bien cuando queramos compilar para probar cambios efectuados en el device o vendor tree, actualización del kernel etc... 1-Ir a la carpeta cm-12.1 Código:
cd ~/cm-12.1 Código:
make clean Código:
repo sync Código:
. build/envsetup.sh Código:
brunch hennessy CRÉDITOS/GUÍAS UTILIZADAS: https://wiki.cyanogenmod.org/w/Build_for_kenzo https://wiki.cyanogenmod.org/w/Development http://forum.xda-developers.com/chef...pment-t2814763 http://xda-university.com/as-a-devel...id-from-source Dar las gracias no cuesta nada. Última edición por pocarropa Día 24/10/16 a las 23:15:32. |
| Los siguientes 14 usuarios han agradecido a pocarropa su comentario: | ||
|
|
|
#2
|
||||
|
||||
|
Última edición por pocarropa Día 12/10/16 a las 18:06:47. |
| Los siguientes 6 usuarios han agradecido a pocarropa su comentario: | ||
|
#3
|
||||
|
||||
|
Muchas gracias por el tutorial, en cuanto pueda me pongo con ello
|
|
#4
|
||||
|
||||
|
Bueno pues me he quedado estancado en el ultimo paso, ejecuto el comando "brunch hennessy" pero al de poco me sale este error:
Código:
============================================ Checking build tools versions... "ebtables is disabled on this build" external/sepolicy/Android.mk:56: *** No sepolicy file found for aee_core_forwarder.te in device/xiaomi/hennessy/sepolicy vendor/cm/sepolicy. Alto. make: se sale del directorio '/home/xabi/cm-12.1' #### make failed to build some targets (02:39 (mm:ss)) #### |
|
#6
|
||||
|
||||
|
Bueno pues me he quedado estancado en el ultimo paso, ejecuto el comando "brunch hennessy" pero al de poco me sale este error:
Código:
============================================ Checking build tools versions... "ebtables is disabled on this build" external/sepolicy/Android.mk:56: *** No sepolicy file found for aee_core_forwarder.te in device/xiaomi/hennessy/sepolicy vendor/cm/sepolicy. Alto. make: se sale del directorio '/home/xabi/cm-12.1' #### make failed to build some targets (02:39 (mm:ss)) #### ![]() Enviado desde mi Redmi Note 3 mediante Tapatalk |
|
#7
|
||||
|
||||
|
|
|
#8
|
||||
|
||||
|
Y el vendor tree (cm-12.1/vendor/xiaomi/hennessy/"contenido" Y luego haz desde el paso 3. Si sigue sin funcionar chequea que aplicaste los parches a las sources. Enviado desde mi Redmi Note 3 mediante Tapatalk |
| Gracias de parte de: | ||
|
#9
|
||||
|
||||
|
Asegúrate que tienes donde toca el device tree (cm-12.1/device/xiaomi/hennessy/"contenido"
Y el vendor tree (cm-12.1/vendor/xiaomi/hennessy/"contenido" Y luego haz desde el paso 3. Si sigue sin funcionar chequea que aplicaste los parches a las sources. Enviado desde mi Redmi Note 3 mediante Tapatalk ![]() He vuelto a pegar en su sitio tanto el vendor como el device tree, ejecutado el comando make clean, sincronizado las sources y despues aplicados los parches. En este ultimo punto, si han salido bastantes errores (algunos de estos errores decian que el archivo ya existia) a pesar de que ha finalizado con un mensaje de exito. Supongo que sera, porque ya las habia aplicado antes al hacer el tutorial. Finalmente, he vuelto al ultimo paso y el mismo error. Por si sirviese de ayuda, esto es lo que sale al ejecutar el comando brunch: Código:
xabi@Xabi:~/cm-12.1$ brunch hennessy including vendor/cm/vendorsetup.sh Trying dependencies-only mode on a non-existing device tree? ============================================ PLATFORM_VERSION_CODENAME=REL PLATFORM_VERSION=5.1.1 CM_VERSION=12.1-20161013-UNOFFICIAL-hennessy TARGET_PRODUCT=cm_hennessy TARGET_BUILD_VARIANT=userdebug TARGET_BUILD_TYPE=release TARGET_BUILD_APPS= TARGET_ARCH=arm64 TARGET_ARCH_VARIANT=armv8-a TARGET_CPU_VARIANT=generic TARGET_2ND_ARCH=arm TARGET_2ND_ARCH_VARIANT=armv7-a-neon TARGET_2ND_CPU_VARIANT=cortex-a53 HOST_ARCH=x86_64 HOST_OS=linux HOST_OS_EXTRA=Linux-4.4.0-31-generic-x86_64-with-Ubuntu-16.04-xenial HOST_BUILD_TYPE=release BUILD_ID=LMY49J OUT_DIR=/home/xabi/cm-12.1/out ============================================ make: se entra en el directorio '/home/xabi/cm-12.1' ============================================ PLATFORM_VERSION_CODENAME=REL PLATFORM_VERSION=5.1.1 CM_VERSION=12.1-20161013-UNOFFICIAL-hennessy TARGET_PRODUCT=cm_hennessy TARGET_BUILD_VARIANT=userdebug TARGET_BUILD_TYPE=release TARGET_BUILD_APPS= TARGET_ARCH=arm64 TARGET_ARCH_VARIANT=armv8-a TARGET_CPU_VARIANT=generic TARGET_2ND_ARCH=arm TARGET_2ND_ARCH_VARIANT=armv7-a-neon TARGET_2ND_CPU_VARIANT=cortex-a53 HOST_ARCH=x86_64 HOST_OS=linux HOST_OS_EXTRA=Linux-4.4.0-31-generic-x86_64-with-Ubuntu-16.04-xenial HOST_BUILD_TYPE=release BUILD_ID=LMY49J OUT_DIR=/home/xabi/cm-12.1/out ============================================ Checking build tools versions... "ebtables is disabled on this build" external/sepolicy/Android.mk:56: *** No sepolicy file found for aee_core_forwarder.te in device/xiaomi/hennessy/sepolicy vendor/cm/sepolicy. Alto. make: se sale del directorio '/home/xabi/cm-12.1' #### make failed to build some targets (02:21 (mm:ss)) #### |
|
#10
|
||||
|
||||
|
Seguimos con el mismo error.
He vuelto a pegar en su sitio tanto el vendor como el device tree, ejecutado el comando make clean, sincronizado las sources y despues aplicados los parches. En este ultimo punto, si han salido bastantes errores (algunos de estos errores decian que el archivo ya existia) a pesar de que ha finalizado con un mensaje de exito. Supongo que sera, porque ya las habia aplicado antes al hacer el tutorial. Finalmente, he vuelto al ultimo paso y el mismo error. Por si sirviese de ayuda, esto es lo que sale al ejecutar el comando brunch: Código:
xabi@Xabi:~/cm-12.1$ brunch hennessy including vendor/cm/vendorsetup.sh Trying dependencies-only mode on a non-existing device tree? ============================================ PLATFORM_VERSION_CODENAME=REL PLATFORM_VERSION=5.1.1 CM_VERSION=12.1-20161013-UNOFFICIAL-hennessy TARGET_PRODUCT=cm_hennessy TARGET_BUILD_VARIANT=userdebug TARGET_BUILD_TYPE=release TARGET_BUILD_APPS= TARGET_ARCH=arm64 TARGET_ARCH_VARIANT=armv8-a TARGET_CPU_VARIANT=generic TARGET_2ND_ARCH=arm TARGET_2ND_ARCH_VARIANT=armv7-a-neon TARGET_2ND_CPU_VARIANT=cortex-a53 HOST_ARCH=x86_64 HOST_OS=linux HOST_OS_EXTRA=Linux-4.4.0-31-generic-x86_64-with-Ubuntu-16.04-xenial HOST_BUILD_TYPE=release BUILD_ID=LMY49J OUT_DIR=/home/xabi/cm-12.1/out ============================================ make: se entra en el directorio '/home/xabi/cm-12.1' ============================================ PLATFORM_VERSION_CODENAME=REL PLATFORM_VERSION=5.1.1 CM_VERSION=12.1-20161013-UNOFFICIAL-hennessy TARGET_PRODUCT=cm_hennessy TARGET_BUILD_VARIANT=userdebug TARGET_BUILD_TYPE=release TARGET_BUILD_APPS= TARGET_ARCH=arm64 TARGET_ARCH_VARIANT=armv8-a TARGET_CPU_VARIANT=generic TARGET_2ND_ARCH=arm TARGET_2ND_ARCH_VARIANT=armv7-a-neon TARGET_2ND_CPU_VARIANT=cortex-a53 HOST_ARCH=x86_64 HOST_OS=linux HOST_OS_EXTRA=Linux-4.4.0-31-generic-x86_64-with-Ubuntu-16.04-xenial HOST_BUILD_TYPE=release BUILD_ID=LMY49J OUT_DIR=/home/xabi/cm-12.1/out ============================================ Checking build tools versions... "ebtables is disabled on this build" external/sepolicy/Android.mk:56: *** No sepolicy file found for aee_core_forwarder.te in device/xiaomi/hennessy/sepolicy vendor/cm/sepolicy. Alto. make: se sale del directorio '/home/xabi/cm-12.1' #### make failed to build some targets (02:21 (mm:ss)) #### ![]() Enviado desde mi Redmi Note 3 mediante Tapatalk |
| Gracias de parte de: | ||
|
#11
|
||||
|
||||
|
Código:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
# Force permissive domains to be unconfined+enforcing?
#
# During development, this should be set to false.
# Permissive means permissive.
#
# When we're close to a release and SELinux new policy development
# is frozen, we should flip this to true. This forces any currently
# permissive domains into unconfined+enforcing.
#
FORCE_PERMISSIVE_TO_UNCONFINED:=true
ifeq ($(TARGET_BUILD_VARIANT),user)
# User builds are always forced unconfined+enforcing
FORCE_PERMISSIVE_TO_UNCONFINED:=true
endif
# SELinux policy version.
# Must be <= /selinux/policyvers reported by the Android kernel.
# Must be within the compatibility range reported by checkpolicy -V.
POLICYVERS ?= 26
MLS_SENS=1
MLS_CATS=1024
# Quick edge case error detection for BOARD_SEPOLICY_REPLACE.
# Builds the singular path for each replace file.
sepolicy_replace_paths :=
$(foreach pf, $(BOARD_SEPOLICY_REPLACE), \
$(if $(filter $(pf), $(BOARD_SEPOLICY_UNION)), \
$(error Ambiguous request for sepolicy $(pf). Appears in both \
BOARD_SEPOLICY_REPLACE and BOARD_SEPOLICY_UNION), \
) \
$(eval _paths := $(filter-out $(BOARD_SEPOLICY_IGNORE), \
$(wildcard $(addsuffix /$(pf), $(BOARD_SEPOLICY_DIRS))))) \
$(eval _occurrences := $(words $(_paths))) \
$(if $(filter 0,$(_occurrences)), \
$(error No sepolicy file found for $(pf) in $(BOARD_SEPOLICY_DIRS)), \
) \
$(if $(filter 1, $(_occurrences)), \
$(eval sepolicy_replace_paths += $(_paths)), \
$(error Multiple occurrences of replace file $(pf) in $(_paths)) \
) \
$(if $(filter 0, $(words $(wildcard $(addsuffix /$(pf), $(LOCAL_PATH))))), \
$(error Specified the sepolicy file $(pf) in BOARD_SEPOLICY_REPLACE, \
but none found in $(LOCAL_PATH)), \
) \
)
# Quick edge case error detection for BOARD_SEPOLICY_UNION.
# This ensures that a requested union file exists somewhere
# in one of the listed BOARD_SEPOLICY_DIRS.
$(foreach pf, $(BOARD_SEPOLICY_UNION), \
$(if $(filter 0, $(words $(wildcard $(addsuffix /$(pf), $(BOARD_SEPOLICY_DIRS))))), \
$(error No sepolicy file found for $(pf) in $(BOARD_SEPOLICY_DIRS)), \
) \
)
# Builds paths for all requested policy files w.r.t
# both BOARD_SEPOLICY_REPLACE and BOARD_SEPOLICY_UNION
# product variables.
# $(1): the set of policy name paths to build
build_policy = $(call uniq,$(foreach type, $(1), \
$(filter-out $(BOARD_SEPOLICY_IGNORE), \
$(foreach expanded_type, $(notdir $(wildcard $(addsuffix /$(type), $(LOCAL_PATH)))), \
$(if $(filter $(expanded_type), $(BOARD_SEPOLICY_REPLACE)), \
$(wildcard $(addsuffix $(expanded_type), $(sort $(dir $(sepolicy_replace_paths))))), \
$(LOCAL_PATH)/$(expanded_type) \
) \
) \
$(foreach union_policy, $(wildcard $(addsuffix /$(type), $(BOARD_SEPOLICY_DIRS))), \
$(if $(filter $(notdir $(union_policy)), $(BOARD_SEPOLICY_UNION)), \
$(union_policy), \
) \
) \
) \
))
sepolicy_build_files := security_classes \
initial_sids \
access_vectors \
global_macros \
mls_macros \
mls \
policy_capabilities \
te_macros \
attributes \
*.te \
roles \
users \
initial_sid_contexts \
fs_use \
genfs_contexts \
port_contexts
##################################
include $(CLEAR_VARS)
LOCAL_MODULE := sepolicy
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_SYSTEM)/base_rules.mk
sepolicy_policy.conf := $(intermediates)/policy.conf
$(sepolicy_policy.conf): PRIVATE_MLS_SENS := $(MLS_SENS)
$(sepolicy_policy.conf): PRIVATE_MLS_CATS := $(MLS_CATS)
$(sepolicy_policy.conf) : $(call build_policy, $(sepolicy_build_files))
@MKDir -p $(dir $@)
$(hide) m4 -D mls_num_sens=$(PRIVATE_MLS_SENS) -D mls_num_cats=$(PRIVATE_MLS_CATS) \
-D target_build_variant=$(TARGET_BUILD_VARIANT) \
-D shipping_build=$(CYNGN_TARGET) \
-D force_permissive_to_unconfined=$(FORCE_PERMISSIVE_TO_UNCONFINED) \
-D init_bootchart=$(INIT_BOOTCHART) \
-s $^ > $@
$(hide) sed '/dontaudit/d' $@ > [email protected]
$(LOCAL_BUILT_MODULE) : $(sepolicy_policy.conf) $(HOST_OUT_EXECUTABLES)/checkpolicy
@MKDir -p $(dir $@)
$(hide) $(HOST_OUT_EXECUTABLES)/checkpolicy -M -c $(POLICYVERS) -o $@ $<
$(hide) $(HOST_OUT_EXECUTABLES)/checkpolicy -M -c $(POLICYVERS) -o $(dir $<)/$(notdir $@).dontaudit $<.dontaudit
built_sepolicy := $(LOCAL_BUILT_MODULE)
sepolicy_policy.conf :=
##################################
include $(CLEAR_VARS)
LOCAL_MODULE := sepolicy.recovery
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_TAGS := eng
include $(BUILD_SYSTEM)/base_rules.mk
sepolicy_policy_recovery.conf := $(intermediates)/policy_recovery.conf
$(sepolicy_policy_recovery.conf): PRIVATE_MLS_SENS := $(MLS_SENS)
$(sepolicy_policy_recovery.conf): PRIVATE_MLS_CATS := $(MLS_CATS)
$(sepolicy_policy_recovery.conf) : $(call build_policy, $(sepolicy_build_files))
@MKDir -p $(dir $@)
$(hide) m4 -D mls_num_sens=$(PRIVATE_MLS_SENS) -D mls_num_cats=$(PRIVATE_MLS_CATS) \
-D target_build_variant=$(TARGET_BUILD_VARIANT) \
-D force_permissive_to_unconfined=$(FORCE_PERMISSIVE_TO_UNCONFINED) \
-D target_recovery=true \
-s $^ > $@
$(LOCAL_BUILT_MODULE) : $(sepolicy_policy_recovery.conf) $(HOST_OUT_EXECUTABLES)/checkpolicy
@MKDir -p $(dir $@)
$(hide) $(HOST_OUT_EXECUTABLES)/checkpolicy -M -c $(POLICYVERS) -o $@ $<
built_sepolicy_recovery := $(LOCAL_BUILT_MODULE)
sepolicy_policy_recovery.conf :=
##################################
include $(CLEAR_VARS)
LOCAL_MODULE := general_sepolicy.conf
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_TAGS := tests
include $(BUILD_SYSTEM)/base_rules.mk
exp_sepolicy_build_files :=\
$(wildcard $(addprefix $(LOCAL_PATH)/, $(sepolicy_build_files)))
$(LOCAL_BUILT_MODULE): PRIVATE_MLS_SENS := $(MLS_SENS)
$(LOCAL_BUILT_MODULE): PRIVATE_MLS_CATS := $(MLS_CATS)
$(LOCAL_BUILT_MODULE): $(exp_sepolicy_build_files)
mkdir -p $(dir $@)
$(hide) m4 -D mls_num_sens=$(PRIVATE_MLS_SENS) -D mls_num_cats=$(PRIVATE_MLS_CATS) \
-D target_build_variant=user \
-D force_permissive_to_unconfined=true \
-s $^ > $@
$(hide) sed '/dontaudit/d' $@ > [email protected]
GENERAL_SEPOLICY_POLICY.CONF = $(LOCAL_BUILT_MODULE)
exp_sepolicy_build_files :=
##################################
include $(CLEAR_VARS)
LOCAL_MODULE := file_contexts
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_SYSTEM)/base_rules.mk
ALL_FC_FILES := $(call build_policy, file_contexts)
$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
$(LOCAL_BUILT_MODULE): $(ALL_FC_FILES) $(built_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc
@MKDir -p $(dir $@)
$(hide) m4 -s $(ALL_FC_FILES) > $@
$(hide) $(HOST_OUT_EXECUTABLES)/checkfc $(PRIVATE_SEPOLICY) $@
built_fc := $(LOCAL_BUILT_MODULE)
##################################
include $(CLEAR_VARS)
LOCAL_MODULE := seapp_contexts
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_SYSTEM)/base_rules.mk
seapp_contexts.tmp := $(intermediates)/seapp_contexts.tmp
$(seapp_contexts.tmp): $(call build_policy, seapp_contexts)
@MKDir -p $(dir $@)
$(hide) m4 -s $^ > $@
$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
$(LOCAL_BUILT_MODULE) : $(seapp_contexts.tmp) $(built_sepolicy) $(HOST_OUT_EXECUTABLES)/checkseapp
@MKDir -p $(dir $@)
$(HOST_OUT_EXECUTABLES)/checkseapp -p $(PRIVATE_SEPOLICY) -o $@ $<
built_sc := $(LOCAL_BUILT_MODULE)
seapp_contexts.tmp :=
##################################
include $(CLEAR_VARS)
LOCAL_MODULE := property_contexts
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_SYSTEM)/base_rules.mk
ALL_PC_FILES := $(call build_policy, property_contexts)
$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
$(LOCAL_BUILT_MODULE): $(ALL_PC_FILES) $(built_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc
@MKDir -p $(dir $@)
$(hide) m4 -s $(ALL_PC_FILES) > $@
$(hide) $(HOST_OUT_EXECUTABLES)/checkfc -p $(PRIVATE_SEPOLICY) $@
built_pc := $(LOCAL_BUILT_MODULE)
##################################
include $(CLEAR_VARS)
LOCAL_MODULE := service_contexts
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_SYSTEM)/base_rules.mk
ALL_SVC_FILES := $(call build_policy, service_contexts)
$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
$(LOCAL_BUILT_MODULE): $(ALL_SVC_FILES) $(built_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc
@MKDir -p $(dir $@)
$(hide) m4 -s $(ALL_SVC_FILES) > $@
$(hide) $(HOST_OUT_EXECUTABLES)/checkfc -p $(PRIVATE_SEPOLICY) $@
built_svc := $(LOCAL_BUILT_MODULE)
##################################
##################################
include $(CLEAR_VARS)
LOCAL_MODULE := selinux-network.sh
LOCAL_SRC_FILES := $(LOCAL_MODULE)
LOCAL_MODULE_CLASS := EXECUTABLES
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_OUT_EXECUTABLES)
include $(BUILD_PREBUILT)
##################################
include $(CLEAR_VARS)
LOCAL_MODULE := mac_permissions.xml
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/security
include $(BUILD_SYSTEM)/base_rules.mk
# Build keys.conf
mac_perms_keys.tmp := $(intermediates)/keys.tmp
$(mac_perms_keys.tmp) : $(call build_policy, keys.conf)
@MKDir -p $(dir $@)
$(hide) m4 -s $^ > $@
ALL_MAC_PERMS_FILES := $(call build_policy, $(LOCAL_MODULE))
$(LOCAL_BUILT_MODULE) : $(mac_perms_keys.tmp) $(HOST_OUT_EXECUTABLES)/insertkeys.py $(ALL_MAC_PERMS_FILES)
@MKDir -p $(dir $@)
$(hide) DEFAULT_SYSTEM_DEV_CERTIFICATE="$(dir $(DEFAULT_SYSTEM_DEV_CERTIFICATE))" \
$(HOST_OUT_EXECUTABLES)/insertkeys.py -t $(TARGET_BUILD_VARIANT) -c $(TOP) $< -o $@ $(ALL_MAC_PERMS_FILES)
mac_perms_keys.tmp :=
##################################
include $(CLEAR_VARS)
LOCAL_MODULE := selinux_version
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_SYSTEM)/base_rules.mk
$(LOCAL_BUILT_MODULE) : $(built_sepolicy) $(built_pc) $(built_fc) $(built_sc) $(built_svc)
@MKDir -p $(dir $@)
$(hide) echo -n $(BUILD_FINGERPRINT) > $@
##################################
build_policy :=
sepolicy_build_files :=
sepolicy_replace_paths :=
built_sepolicy :=
built_sc :=
built_fc :=
built_pc :=
built_svc :=
include $(call all-makefiles-under,$(LOCAL_PATH))
|
|
#12
|
||||
|
||||
|
@Ragga_Muffin
Extrae los archivos del adjunto y los pegas en device/xiaomi/hennessy/sepolicy. @log30 , puedes chequear si tú los tienes? sepolicy_files.zip |
| Gracias de parte de: | ||
|
#13
|
||||
|
||||
|
@Ragga_Muffin
Extrae los archivos del adjunto y los pegas en device/xiaomi/hennessy/sepolicy. @log30 , puedes chequear si tú los tienes? Archivo Adjunto 931558 ![]() No me gusta tener que estar preguntando todo el dia, pero, por mas que busco no encuentro nada que me diga algo. ¿Puede que este error tenga algo que ver con el "Android.mk" que por lo que sea es el que impide compilar la rom con un kernel precompilado? Digo esto, porque me ha dado una advertencia asi poco antes de arrojar el error: Código:
No private recovery resources for TARGET_DEVICE hennessy build/core/tasks/kernel.mk:121: *************************************************************** build/core/tasks/kernel.mk:122: * Using prebuilt kernel binary instead of source * build/core/tasks/kernel.mk:123: * THIS IS DEPRECATED, AND WILL BE DISCONTINUED * build/core/tasks/kernel.mk:124: * Please configure your device to download the kernel * build/core/tasks/kernel.mk:125: * source repository to kernel/xiaomi/hennessy build/core/tasks/kernel.mk:126: * See http://wiki.cyanogenmod.org/w/Doc:_integrated_kernel_building build/core/tasks/kernel.mk:127: * for more information * build/core/tasks/kernel.mk:128: *************************************************************** Y el error: Código:
make: *** No hay ninguna regla para construir el objetivo 'device/xiaomi/hennessy/prebuilt/kernel', necesario para '/home/xabi/cm-12.1/out/target/product/hennessy/kernel'. Alto. make: *** Se espera a que terminen otras tareas.... make: se sale del directorio '/home/xabi/cm-12.1' #### make failed to build some targets (04:24 (mm:ss)) ####
|
|
#14
|
||||
|
||||
|
Gracias, con eso hemos solventado el error pero al volver a realizar el paso 3 completo en el brunch ha dado otro error (esta vez ha avanzado mas antes de dar el error).
No me gusta tener que estar preguntando todo el dia, pero, por mas que busco no encuentro nada que me diga algo. ¿Puede que este error tenga algo que ver con el "Android.mk" que por lo que sea es el que impide compilar la rom con un kernel precompilado? Digo esto, porque me ha dado una advertencia asi poco antes de arrojar el error: Código:
No private recovery resources for TARGET_DEVICE hennessy build/core/tasks/kernel.mk:121: *************************************************************** build/core/tasks/kernel.mk:122: * Using prebuilt kernel binary instead of source * build/core/tasks/kernel.mk:123: * THIS IS DEPRECATED, AND WILL BE DISCONTINUED * build/core/tasks/kernel.mk:124: * Please configure your device to download the kernel * build/core/tasks/kernel.mk:125: * source repository to kernel/xiaomi/hennessy build/core/tasks/kernel.mk:126: * See http://wiki.cyanogenmod.org/w/Doc:_integrated_kernel_building build/core/tasks/kernel.mk:127: * for more information * build/core/tasks/kernel.mk:128: *************************************************************** Y el error: Código:
make: *** No hay ninguna regla para construir el objetivo 'device/xiaomi/hennessy/prebuilt/kernel', necesario para '/home/xabi/cm-12.1/out/target/product/hennessy/kernel'. Alto. make: *** Se espera a que terminen otras tareas.... make: se sale del directorio '/home/xabi/cm-12.1' #### make failed to build some targets (04:24 (mm:ss)) #### ![]() ![]() Recuerdo que a @log30 le ocurrió este error y era porque el kernel no está en la misma ruta que dice el makefile. Tengo datos limitados y no te lo puedo mirar ahora, pero busca en los .mk la ruta del kernel, debe ser que el mk busca en prebuilt/kernel y deba estar en prebuilt o a la inversa, no me acuerdo ahora. @log30, pls, puedes mirar como lo tienes tú? PD: estás en lo cierto con el kernel, al no haber sources hay que hacerlo así Enviado desde mi Redmi Note 3 mediante Tapatalk |
| Gracias de parte de: | ||
|
#15
|
||||
|
||||
|
No es molestia alguna, la idea de hacer la guía es que funcione.
Recuerdo que a @log30 le ocurrió este error y era porque el kernel no está en la misma ruta que dice el makefile. Tengo datos limitados y no te lo puedo mirar ahora, pero busca en los .mk la ruta del kernel, debe ser que el mk busca en prebuilt/kernel y deba estar en prebuilt o a la inversa, no me acuerdo ahora. @log30, pls, puedes mirar como lo tienes tú? PD: estás en lo cierto con el kernel, al no haber sources hay que hacerlo así Enviado desde mi Redmi Note 3 mediante Tapatalk ![]() De todos modos, aqui te dejo los dos archivos y te señalo en rojo lo que me ha llamado la atencion: BoardConfig.mk: Código:
# mt6795 platform boardconfig
LOCAL_PATH := device/xiaomi/hennessy
-include vendor/xiaomi/hennessy/BoardConfigVendor.mk
TARGET_SPECIFIC_HEADER_PATH := device/xiaomi/hennessy/include
USE_CAMERA_STUB := true
TARGET_PROVIDES_INIT_RC := true
# inherit from the proprietary version
# Platform
ARCH_ARM_HAVE_TLS_REGISTER := true
TARGET_BOARD_PLATFORM := mt6795
TARGET_NO_BOOTLOADER := true
TARGET_USERIMAGES_USE_EXT4 := true
TARGET_NO_FACTORYIMAGE := true
TARGET_LDPRELOAD += libxlog.so
# CPU
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-a
TARGET_CPU_ABI := arm64-v8a
TARGET_CPU_ABI2 :=
TARGET_CPU_VARIANT := generic
TARGET_CPU_SMP := true
TARGET_2ND_ARCH := arm
TARGET_2ND_ARCH_VARIANT := armv7-a-neon
TARGET_2ND_CPU_ABI := armeabi-v7a
TARGET_2ND_CPU_ABI2 := armeabi
TARGET_2ND_CPU_VARIANT := cortex-a53
TARGET_BOARD_SUFFIX := _64
TARGET_USES_64_BIT_BINDER := true
TARGET_CPU_CORTEX_A53 := true
TARGET_BOOTLOADER_BOARD_NAME := mt6795
# MTK Hardware
BOARD_HAS_MTK_HARDWARE := true
MTK_HARDWARE := true
BOARD_USES_LEGACY_MTK_AV_BLOB := true
COMMON_GLOBAL_CFLAGS += -DMTK_HARDWARE -DADD_LEGACY_ACQUIRE_BUFFER_SYMBOL
COMMON_GLOBAL_CPPFLAGS += -DMTK_HARDWARE
BOARD_CONNECTIVITY_VENDOR := MediaTek
BOARD_USES_MTK_AUDIO := true
# Kernel
TARGET_USES_64_BIT_BINDER := true
TARGET_IS_64_BIT := true
BOARD_KERNEL_CMDLINE := bootopt=64S3,32N2,64N2 androidboot.selinux=permissive
BOARD_KERNEL_BASE := 0x40078000
BOARD_KERNEL_PAGESIZE := 2048
BOARD_MKBOOTIMG_ARGS := --base 0x40078000 --pagesize 2048 --kernel_offset 0x00008000 --ramdisk_offset 0x03f88000 --second_offset 0x00e88000 --tags_offset 0x0df88000 --board Bule
TARGET_PREBUILT_KERNEL := device/xiaomi/hennessy/prebuilt/kernel
BOARD_CUSTOM_BOOTIMG := true
# MKImage
TARGET_MKIMAGE := device/xiaomi/hennessy/mkimage
TARGET_USE_BUILT_BOOTIMAGE := true
TARGET_KMODULES := true
# Disable memcpy opt (for audio libraries)
TARGET_CPU_MEMCPY_OPT_DISABLE := true
# Display
USE_OPENGL_RENDERER := true
BOARD_EGL_CFG := device/xiaomi/hennessy/configs/egl.cfg
TARGET_SCREEN_HEIGHT := 1920
TARGET_SCREEN_WIDTH := 1080
BOARD_EGL_WORKAROUND_BUG_10194508 := true
# Flags
TARGET_GLOBAL_CFLAGS += -mfpu=neon -mfloat-abi=softfp
TARGET_GLOBAL_CPPFLAGS += -mfpu=neon -mfloat-abi=softfp
COMMON_GLOBAL_CFLAGS += -DNO_SECURE_DISCARD
COMMON_GLOBAL_CFLAGS += -DDISABLE_HW_ID_MATCH_CHECK
TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK := true
# LightHAL
TARGET_PROVIDES_LIBLIGHT := true
# Enable Minikin text layout engine (will be the default soon)
USE_MINIKIN := true
# Charger
BOARD_CHARGER_SHOW_PERCENTAGE := true
# Fonts
EXTENDED_FONT_FOOTPRINT := true
TARGET_SYSTEM_PROP := device/xiaomi/hennessy/system.prop
# PREBUILT_Chromium
#PRODUCT_PREBUILT_WEBVIEWCHROMIUM := yes
# Bluetooth
BOARD_HAVE_BLUETOOTH := true
BOARD_HAVE_BLUETOOTH_MTK := true
BOARD_BLUETOOTH_DOES_NOT_USE_RFKILL := true
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/xiaomi/hennessy/bluetooth
# GPS
BOARD_GPS_LIBRARIES :=true
BOARD_CONNECTIVITY_MODULE := MT6630
BOARD_MEDIATEK_USES_GPS := true
# FM
MTK_FM_SUPPORT :=true
MTK_FM_RX_SUPPORT :=true
# Consumerir
MTK_IRTX_SUPPORT :=true
# MTK_WLAN_SUPPORT
WPA_SUPPLICANT_VERSION := VER_0_8_X
BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_mt66xx
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_mt66xx
WIFI_DRIVER_FW_PATH_PARAM := "/dev/wmtWifi"
WIFI_DRIVER_FW_PATH_STA := STA
WIFI_DRIVER_FW_PATH_AP := AP
WIFI_DRIVER_FW_PATH_P2P := P2P
# make_ext4fs requires numbers in dec format
TARGET_USERIMAGES_USE_EXT4 := true
BOARD_BOOTIMAGE_PARTITION_SIZE := 20971520
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 20971520
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736
BOARD_USERDATAIMAGE_PARTITION_SIZE := 13474725888
BOARD_FLASH_BLOCK_SIZE := 131072
BOARD_HAS_LARGE_FILESYSTEM := true
TARGET_USERIMAGES_USE_EXT4 := true
TARGET_USE_CUSTOM_LUN_FILE_PATH := /sys/class/android_usb/android0/f_mass_storage/lun/file
BOARD_HAS_NO_SELECT_BUTTON := true
BOARD_RECOVERY_SWIPE := true
BOARD_SUPPRESS_EMMC_WIPE := true
BOARD_USE_CUSTOM_RECOVERY_FONT := \"roboto_15x24.h\"
TARGET_RECOVERY_FSTAB := device/xiaomi/hennessy/rootdir/recovery.fstab
TARGET_RECOVERY_PIXEL_FORMAT := "RGBA_8888"
TARGET_USERIMAGES_USE_EXT4 := true
# SELinux
BOARD_SEPOLICY_DIRS := \
device/xiaomi/hennessy/sepolicy
#SELinux: MTK added
BOARD_SEPOLICY_UNION := \
app.te \
device.te \
domain.te \
file.te \
file_contexts \
fs_use \
installd.te \
net.te \
netd.te \
te_macros \
vold.te \
untrusted_app.te \
platform_app.te \
system_app.te \
zygote.te \
aal.te \
aee_core_forwarder.te \
akmd09911.te \
akmd8963.te \
akmd8975.te \
ami304d.te \
ist8303.te \
st480.te \
af7133e.te \
mc6470d.te \
qmcX983d.te \
atcid.te \
atci_service.te \
audiocmdservice_atci.te \
batterywarning.te \
bmm050d.te \
bmm056d.te \
boot_logo_updater.te \
br_app_data_service.te \
BGW.te \
ccci_fsd.te \
ccci_mdinit.te \
statusd.te \
flashlessd.te \
ccci_rpcd.te \
eemcs_fsd.te \
eemcs_mdinit.te \
dhcp6c.te \
dm_agent_binder.te \
dualmdlogger.te \
dumpstate.te \
em_svr.te \
enableswap.te \
factory.te \
fota1.te \
fuelgauged.te \
geomagneticd.te \
GoogleOtaBinder.te \
gsm0710muxdmd2.te \
gsm0710muxd.te \
guiext-server.te \
ipod.te \
matv.te \
mc6420d.te \
mdlogger.te \
mdnsd.te \
memsicd3416x.te \
memsicd.te \
meta_tst.te \
mmc_ffu.te \
mmp.te \
mnld.te \
mobile_log_d.te \
mpud6050.te \
msensord.te \
mmc3524xd.te \
mtk_6620_launcher.te \
mtk_agpsd.te \
mtkbt.te \
muxreport.te \
netdiag.te \
nvram_agent_binder.te \
nvram_daemon.te \
orientationd.te \
permission_check.te \
poad.te \
pppd_dt.te \
pppd_via.te \
pq.te \
recovery.te \
resmon.te \
mtkrild.te \
mtkrildmd2.te \
viarild.te \
s62xd.te \
sn.te \
epdg_wod.te \
ipsec.te \
terservice.te \
thermald.te \
thermal_manager.te \
thermal.te \
tiny_mkswap.te \
tiny_swapon.te \
vdc.te \
volte_imcb.te \
volte_ua.te \
volte_stack.te \
vtservice.te \
wmt_loader.te \
icusbd.te \
xlog.te \
mobicore.te \
install_recovery.te \
program_binary.te \
genfs_contexts
BOARD_SEPOLICY_UNION += \
adbd.te \
bluetooth.te \
bootanim.te \
clatd.te \
debuggerd.te \
drmserver.te \
dhcp.te \
dnsmasq.te \
gpsd.te \
hci_attach.te \
healthd.te \
hostapd.te \
inputflinger.te \
init.te \
init_shell.te \
isolated_app.te \
keystore.te \
kernel.te \
lmkd.te \
logd.te \
mediaserver.te \
mtp.te \
nfc.te \
racoon.te \
radio.te \
rild.te \
runas.te \
sdcardd.te \
servicemanager.te \
shared_relro.te \
shell.te \
system_app.te \
system_server.te \
surfaceflinger.te \
tee.te \
ueventd.te \
uncrypt.te \
watchdogd.te \
wpa_supplicant.te \
wpa.te \
property.te \
property_contexts \
service.te \
dmlog.te \
MtkCodecService.te \
ppl_agent.te \
pvrsrvctl.te \
wifi2agps.te \
dex2oat.te \
emdlogger.te \
autokd.te \
ppp.te \
launchpppoe.te \
sbchk.te \
service_contexts \
ril-3gddaemon.te \
usbdongled.te \
zpppd_gprs.te \
md_ctrl.te \
cmddumper.te \
tunman.te
Código:
$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)
# The gps config appropriate for this device
$(call inherit-product, device/common/gps/gps_us_supl.mk)
$(call inherit-product, device/xiaomi/hennessy/vendor/copyfiles.mk)
$(call inherit-product, vendor/xiaomi/hennessy/hennessy-vendor-blobs.mk)
LOCAL_PATH := device/xiaomi/hennessy
DEVICE_PACKAGE_OVERLAYS += device/xiaomi/hennessy/overlay
# Device uses high-density artwork where available
PRODUCT_AAPT_CONFIG := normal xhdpi xxhdpi
PRODUCT_AAPT_PREF_CONFIG := xxhdpi
# Recovery allowed devices
TARGET_OTA_ASSERT_DEVICE := hennessy
ifeq ($(TARGET_PREBUILT_KERNEL),)
LOCAL_KERNEL := device/xiaomi/hennessy/prebuilt/kernel
else
LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
endif
PRODUCT_PACKAGES += \
libxlog
PRODUCT_COPY_FILES += \
$(LOCAL_KERNEL):prebuilt/kernel
# Init
PRODUCT_PACKAGES += \
hennessy
# Gralloc
PRODUCT_PACKAGES += \
libgralloc_extra
# Immvibe
PRODUCT_PACKAGES += \
immvibe
# Hack to fix asec on emulated sdcard
PRODUCT_PACKAGES += \
asec_helper
# Audio
PRODUCT_PACKAGES += \
audio_policy.default \
audio_policy.stub \
audio.r_submix.default \
audio.usb.default \
libaudio-resampler \
tinymix \
libtinyalsa
PRODUCT_COPY_FILES += \
device/xiaomi/hennessy/configs/media_codecs.xml:system/etc/media_codecs.xml \
device/xiaomi/hennessy/configs/media_profiles.xml:system/etc/media_profiles.xml \
device/xiaomi/hennessy/configs/audio_device.xml:system/etc/audio_device.xml \
device/xiaomi/hennessy/configs/audio_policy.conf:system/etc/audio_policy.conf
# Bluetooth
PRODUCT_PACKAGES += \
audio.a2dp.default
PRODUCT_PACKAGES += \
libbt-vendor
PRODUCT_COPY_FILES += \
device/xiaomi/hennessy/configs/bt_did.conf:system/etc/bluetooth/bt_did.conf
# Keyboard layout
PRODUCT_COPY_FILES += \
device/xiaomi/hennessy/configs/mtk-kpd.kl:system/usr/keylayout/mtk-kpd.kl \
device/xiaomi/hennessy/configs/ACCDET.kl:system/usr/keylayout/ACCDET.kl\
device/xiaomi/hennessy/configs/AVRCP.kl:system/usr/keylayout/AVRCP.kl
#Light
#PRODUCT_PACKAGES += \
#lights.mt6795
# Ramdisk
PRODUCT_COPY_FILES += \
device/xiaomi/hennessy/rootdir/enableswap.sh:root/enableswap.sh \
device/xiaomi/hennessy/rootdir/factory_init.project.rc:root/factory_init.project.rc \
device/xiaomi/hennessy/rootdir/factory_init.rc:root/factory_init.rc \
device/xiaomi/hennessy/rootdir/file_context:root/file_context \
device/xiaomi/hennessy/rootdir/fstab.charger:root/fstab.charger\
device/xiaomi/hennessy/rootdir/fstab.mt6795:root/fstab.mt6795 \
device/xiaomi/hennessy/rootdir/init.aee.rc:root/init.aee.rc \
device/xiaomi/hennessy/rootdir/init.modem.rc:root/init.modem.rc \
device/xiaomi/hennessy/rootdir/init.mt6795.rc:root/init.mt6795.rc \
device/xiaomi/hennessy/rootdir/init.mt6795.usb.rc:root/init.mt6795.usb.rc \
device/xiaomi/hennessy/rootdir/init.project.rc:root/init.project.rc \
device/xiaomi/hennessy/rootdir/init.rc:root/init.rc \
device/xiaomi/hennessy/rootdir/init.ssd.rc:root/init.ssd.rc \
device/xiaomi/hennessy/rootdir/init.xlog.rc:root/init.xlog.rc \
device/xiaomi/hennessy/rootdir/meta_init.modem.rc:root/meta_init.modem.rc \
device/xiaomi/hennessy/rootdir/meta_init.project.rc:root/meta_init.project.rc \
device/xiaomi/hennessy/rootdir/meta_init.rc:root/meta_init.rc \
device/xiaomi/hennessy/rootdir/init:root/init \
device/xiaomi/hennessy/rootdir/init.hennessy.power.rc:root/init.hennessy.power.rc \
device/xiaomi/hennessy/rootdir/init.cm.rc:root/init.cm.rc \
# Telecom
PRODUCT_COPY_FILES += \
device/xiaomi/hennessy/configs/apns-conf.xml:system/etc/apns-conf.xml \
device/xiaomi/hennessy/configs/ecc_list.xml:system/etc/ecc_list.xml \
device/xiaomi/hennessy/configs/spn-conf.xml:system/etc/spn-conf.xml
# Thermal
PRODUCT_COPY_FILES += \
device/xiaomi/hennessy/configs/.ht120.mtc:system/etc/.tp/.ht120.mtc \
device/xiaomi/hennessy/configs/thermal.conf:system/etc/.tp/thermal.conf \
device/xiaomi/hennessy/configs/thermal.off.conf:system/etc/.tp/thermal.off.conf \
device/xiaomi/hennessy/configs/.thermal_policy_00:system/etc/.tp/.thermal_policy_00 \
device/xiaomi/hennessy/configs/.thermal_policy_01:system/etc/.tp/.thermal_policy_01
# These are the hardware-specific features
PRODUCT_COPY_FILES += \
device/xiaomi/hennessy/configs/android.hardware.consumerir.xml:system/etc/permissions/android.hardware.consumerir.xml \
device/xiaomi/hennessy/configs/android.hardware.microphone.xml:system/etc/permissions/android.hardware.microphone.xml \
frameworks/native/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \
frameworks/native/data/etc/android.hardware.camera.autofocus.xml:system/etc/permissions/android.hardware.camera.autofocus.xml \
device/xiaomi/hennessy/configs/android.hardware.camera.xml:system/etc/permissions/android.hardware.camera.xml \
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \
frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \
frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \
frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \
frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:system/etc/permissions/android.hardware.sensor.accelerometer.xml \
frameworks/native/data/etc/android.hardware.sensor.compass.xml:system/etc/permissions/android.hardware.compass.xml \
frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:system/etc/permissions/android.hardware.sensor.stepcounter.xml \
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:system/etc/permissions/android.hardware.sensor.stepdetector.xml \
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.distinct.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.distinct.xml \
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.xml \
frameworks/native/data/etc/android.hardware.touchscreen.xml:system/etc/permissions/android.hardware.touchscreen.xml \
frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \
frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \
frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml \
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:system/etc/permissions/android.hardware.audio.low_latency.xml \
frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \
frameworks/native/data/etc/android.hardware.telephony.cdma.xml:system/etc/permissions/android.hardware.telephony.cdma.xml \
frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \
frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml
# Media
PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:system/etc/media_codecs_google_telephony.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml
PRODUCT_COPY_FILES += \
device/xiaomi/hennessy/configs/media_codecs.xml:system/etc/media_codecs.xml \
device/xiaomi/hennessy/configs/media_codecs.xml:system/etc/permissions/media_codecs.xml \
device/xiaomi/hennessy/configs/media_profiles.xml:system/etc/media_profiles.xml
PRODUCT_TAGS += dalvik.gc.type-precise
# Charger
PRODUCT_PACKAGES += \
charger_res_images
# Wifi
PRODUCT_PACKAGES += \
lib_driver_cmd_mt66xx \
libwifi-hal-mt66xx \
wifi_hal \
libwpa_client \
hostapd \
hostapd_cli \
dhcpcd.conf \
wpa_supplicant \
wpa_supplicant.conf
PRODUCT_COPY_FILES += \
device/xiaomi/hennessy/configs/hostapd/hostapd_default.conf:system/etc/hostapd/hostapd_default.conf \
device/xiaomi/hennessy/configs/hostapd/hostapd.accept:system/etc/hostapd/hostapd.accept \
device/xiaomi/hennessy/configs/hostapd/hostapd.deny:system/etc/hostapd/hostapd.deny
# Ifaddrs
PRODUCT_PACKAGES += \
libifaddrs
# Torch
PRODUCT_PACKAGES += \
Torch
# STk
PRODUCT_PACKAGES += \
Stk
# GPS
PRODUCT_COPY_FILES += \
device/xiaomi/hennessy/configs/agps_profiles_conf2.xml:system/etc/agps_profiles_conf2.xml \
PRODUCT_DEFAULT_PROPERTY_OVERRIDES := \
ro.adb.secure=0 \
ro.secure=1 \
ro.allow.mock.location=1 \
ro.debuggable=1 \
ro.zygote=zygote64_32 \
camera.disable_zsl_mode=1 \
ro.mount.fs=EXT4 \
persist.service.acm.enable=0 \
persist.sys.usb.config=mtp,mass_storage \
persist.sys.timezone=Europe/Brussels
PRODUCT_PROPERTY_OVERRIDES += \
ro.kernel.android.checkjni=0 \
ro.telephony.ril_class=MediaTekRIL \
ro.telephony.ril.config=fakeiccid \
persist.call_recording.enabled=true \
persist.call_recording.src=4 \
persist.debug.wfd.enable=1
PRODUCT_PACKAGES += \
librs_jni \
com.android.future.usb.accessory
PRODUCT_PACKAGES += \
libnl_2 \
libtinyxml
# Filesystem management tools
PRODUCT_PACKAGES += \
e2fsck \
fibmap.f2fs \
fsck.f2fs \
mkfs.f2fs \
make_ext4fs \
resize2fs \
setup_fs \
ext4_resize \
resize_ext4 \
superumount
PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE=8
# Dalvik/HWUI
$(call inherit-product-if-exists, frameworks/native/build/phone-xxhdpi-2048-dalvik-heap.mk)
$(call inherit-product-if-exists, frameworks/native/build/phone-xxhdpi-2048-hwui-memory.mk)
Código:
androidboot.selinux=permissive |
|
#16
|
||||
|
||||
|
En Boardconfig.mk edita con este cambio:
[PHP]TARGET_PREBUILT_KERNEL := device/xiaomi/hennessy/prebuilt/kernel BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb[/PHP] Y renombra "kernel.gz" a "kernel" en la carpeta prebuilt Después haz make clean y vuelve a compilar PD: No cambies el selinux a enforced o no booteará Última edición por pocarropa Día 14/10/16 a las 12:41:03. |
| Gracias de parte de: | ||
|
#17
|
||||
|
||||
|
En Boardconfig.mk edita con este cambio:
[php]TARGET_PREBUILT_KERNEL := device/xiaomi/hennessy/prebuilt/kernel BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb[/php]Y renombra "kernel.gz" a "kernel" en la carpeta prebuilt Después haz make clean y vuelve a compilar PD: No cambies el selinux a enforced o no booteará ![]() He encontrado un archivo con el mismo nombre excepto que en vez de ser "file_context" es "file_contexts" en la carpeta sepolicy del device tree, ¿Quizas sea este el archivo que busca? Código:
make: *** No hay ninguna regla para construir el objetivo 'device/xiaomi/hennessy/rootdir/file_context', necesario para '/home/xabi/cm-12.1/out/target/product/hennessy/root/file_context'. Alto. make: *** Se espera a que terminen otras tareas.... Notice file: external/sepolicy/NOTICE -- /home/xabi/cm-12.1/out/target/product/hennessy/obj/NOTICE_FILES/src//root/service_contexts.txt make: se sale del directorio '/home/xabi/cm-12.1' #### make failed to build some targets (03:42 (mm:ss)) #### Última edición por Ragga_Muffin Día 14/10/16 a las 13:07:47. |
|
#18
|
||||
|
||||
|
No sé que ha debido pasar pero el device tree no se ha subido bien, faltan archivos. Descarga el adjunto y añádelo a la carpeta rootdir:
file_context.zip |
| Gracias de parte de: | ||
|
#19
|
||||
|
||||
|
No sé que ha debido pasar pero el device tree no se ha subido bien, faltan archivos. Descarga el adjunto y añádelo a la carpeta rootdir:
Archivo Adjunto 931623 ![]() Código:
make: *** No hay ninguna regla para construir el objetivo 'device/xiaomi/hennessy/rootdir/init.aee.rc', necesario para '/home/xabi/cm-12.1/out/target/product/hennessy/root/init.aee.rc'. Alto. make: *** Se espera a que terminen otras tareas.... Notice file: external/sepolicy/NOTICE -- /home/xabi/cm-12.1/out/target/product/hennessy/obj/NOTICE_FILES/src//root/service_contexts.txt make: se sale del directorio '/home/xabi/cm-12.1' #### make failed to build some targets (03:38 (mm:ss)) #### Última edición por Ragga_Muffin Día 14/10/16 a las 14:00:56. |
| Gracias de parte de: | ||
|
|
|
#20
|
||||
|
||||
|
@Ragga_Muffin ,
He estado repasando el device tree y he corregido algunos errores que habían, te lo adjunto para que directamente lo sustituyas y empieces de nuevo con make clean: hennessy.zip |
| Gracias de parte de: | ||
![]() |
Estás aquí
|
||||||
|
||||||