|
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í | ||||||
|