Cómo construir Android Núcleo encendido Windows 10 Appual tiene algunas guías excelentes sobre Android desarrollo, como Cómo construir una ROM personalizada a partir de Android Proyecto de código abierto, pero estas guías suelen estar orientadas a un entorno de compilación de Linux puro. En esta guía, le mostraremos cómo construir un Android núcleo en Windows 10 – sí, seguiremos usando un entorno de compilación de Linux, pero será un subsistema de Linux dentro Windows 10. Entonces, si eres un Windows 10 usuarios interesados en desarrollar para Androidsigue nuestra guía atentamente.En esta guía, aprenderemos específicamente cómo construir un kernel para dispositivos ARM y MediaTek, agregar funciones y una descripción general básica del uso de Git.RequisitosWindows 10 x64 (con la actualización de Fall Creator)Configurando el entorno LinuxEn Windows 10, vaya a Configuración > Actualización y seguridad > Para desarrolladores > habilite el modo de desarrollador.Ahora ve al Panel de control > Programas > Girar Windows Funciones activadas o desactivadas > habilitar Windows Subsistema para Linux.Reinicie su PC.Inicie el subsistema Linux y déjelo pasar por el proceso de descarga. Establece una contraseña y no la pierdas.Ahora ve al Windows tienda de aplicaciones y descargue Ubuntu.Inicie Ubuntu en el Windows 10 escritorio, y le solicitará un nombre de usuario y contraseña.En Ubuntu, inicie la terminal nativa y escriba el siguiente comando: apt-get updateEsto procederá a actualizar todos los repositorios de aplicaciones y dependencias.A continuación, escriba en la terminal: sudo apt-get install -y build-essential kernel-package libncurses5-dev bzip2Para verificar si todas las dependencias se instalaron correctamente, escriba ‘gcc’ en la terminal (sin comillas).Si “gcc” ya está instalado, debería ver “gcc: error fatal: no hay archivo de entrada”Ahora puedes escribir ‘hacer’ en la terminal. Si “make” ya está instalado, debería ver “make: *** no se especificó ningún objetivo y no se encontró ningún archivo MAKE. detener.”Luego escriba ‘git’ y, si “git” ya está instalado, debería ver un montón de comandos básicos de git.Ahora necesitamos algunas cadenas de herramientas (hay varios tipos, incluidas GCC, Linaro y algunas personalizadas). Algunos dispositivos pueden requerir diferentes cadenas de herramientas; por ejemplo, no todos los núcleos de dispositivos arrancan o compilan con GCC.Para dispositivos ARMLeer másIngrese a la expansión Gungeon que Advanced Gungeons & Draguns ha lanzadoUsaremos GCC 4.7 para esto.Abra la terminal de Linux y escriba: mkdir kernelAhora escribe: cd kernel(No tiene que ser “núcleo”, esto es por simplicidad, puedes nombrarlo como quieras).Ahora escribe: git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7Para dispositivos ARM 64Necesita un compilador de kernel de 64 bits para dispositivos ARM 64, por ejemplo aarch64.Obtener los archivos fuente para su dispositivoEsta es una parte complicada, ya que necesita encontrar un repositorio de GitHub que aloje la fuente de su kernel. Por supuesto, tendrás que buscarlo; lo más probable es que puedas encontrarlo en los foros de XDA.Leer másCómo desinstalar completamente Steam JuegosAquí hay un ejemplo de fuente del kernel Git.En la parte superior izquierda, deberías ver “Sucursal: Completada por xxxx”.Existen diferentes versiones de un kernel/proyecto, generalmente separadas por “Prueba”, “Beta”, “Lanzamiento final”, etc.Las carpetas del kernel suelen ser las siguientes:/arco/arm/configs: Contiene varios archivos de configuración para el dispositivo, como gobernadores, etc./salida/arco/brazo/arranque/: Aquí es donde se almacenará la imagen z.construir.sh: Un script que simplificará el proceso de construcción./arm-cortex-linux-gnueabi-linaro_5.2-2015.11-2: Suele ser una cadena de herramientas colocada en el código fuente del kernel, lo que facilita su búsqueda.Necesitará descargar la fuente de su kernel.Abra la terminal de Linux y asegúrese de estar en la carpeta del kernel que creó anteriormente (cd kernel).Luego escriba en la terminal: “git clone “URL del kernel de github” -b “nombre de la rama”Por ejemplo: “git clon https://github.com/atxoxx/android_ke…amsung_msm8974 -b xenomTW”Construyendo el núcleoPara hacerlo más fácil, puede navegar hasta la ubicación en el explorador de archivos. Debería ser /home/user ID/kernel (o el nombre que haya asignado a la carpeta del kernel).Deberías ver dos carpetas dentro, para la cadena de herramientas y la fuente del kernel. Vaya dentro de la carpeta fuente del kernel.Para dispositivos ARMEn una terminal, escriba los siguientes comandos:#!/bin/bash export ARCH=arm export CROSS_COMPILE= mkdir output make -C $(pwd) O=output "name of defconfig and variant if needed" make -j4 -C $(pwd) O=outputA continuación se ofrece una descripción general de lo que hacen estos comandos, para que esto sea más fácil en el futuro.#!/bin/bash: Le dice al script que se ejecute en el comando Shellexportar ARCH=brazo: Definir qué tipo de arquitectura de kernel es (por ejemplo, arm64, etc.)exportar CROSS_COMPILE= : Localice dónde está la cadena de herramientas. Debe coincidir con la ruta exacta y el guión al final es realmente obligatorio.salida de mkdir: Esto crea un directorio para guardar el zimage compilado.hacer -C $(contraseña) O=salida : Definición de defconfig para guiar la compilación del kernel.hacer -j4 -C $(contraseña) O=salida: Cuando comienza el proceso de construcción, -j# le indica qué tan rápido debe intentar compilar. Normalmente, configura este número según su CPU. Configurar -j32 en una CPU económica, por ejemplo, probablemente causaría una inestabilidad masiva.salida cp/arch/arm/boot/Image $(contraseña)/arch/arm/boot/zImage: Esto es para mover la imagen a una segunda ruta.Otro ejemplo:#!/bin/bash export ARCH=arm export CROSS_COMPILE=$(pwd)/arm-cortex-linux-gnueabi-linaro_5.2-2015.11-2/bin/arm-cortex-linux-gnueabi- mkdir output make -C $(pwd) O=output msm8974_sec_defconfig VARIANT_DEFCONFIG=msm8974_sec_ks01_skt_defconfig SELINUX_DEFCONFIG=selinux_defconfig make -j4 -C $(pwd) O=output cp output/arch/arm/boot/Image $(pwd)/arch/arm/boot/zImagePara dispositivos ARM 64#!/bin/bash export ARCH=arm64 export CROSS_COMPILE="path to your toolchain" (it have to end by something like "nameofarch-something-") mkdir output make -C $(pwd) O=output "name of defconfig and variant if needed" make -j4 -C $(pwd) O=outputPara dispositivos Mediatek (MTK)#!/bin/bash export CROSS_COMPILE="path to your toolchain" (it have to end by something like "nameofarch-something-") export ARCH=arm ARCH_MTK_PLATFORM= make "name of defconfig and variant if needed" make -j4Cuando haya completado los pasos necesarios para la arquitectura de su kernel, puede escribir en la terminal: sudo bash build.shLuego ingresará su contraseña de usuario y comenzará el proceso de compilación.Puede llevar un tiempo, pero normalmente no mucho; compilar un kernel no es como compilar un kernel completo. Android ROM. Esto realmente depende de la CPU; por ejemplo, un AMD Phenom X4 de 3,4 GHz con 8 GB de RAM debería tardar unos 10 minutos en compilarse de principio a fin.Cuando termine, debería notificarte con un mensaje como “zimage está listo”.Dispositivos ARM y ARM64Vaya a “/Output/arch/arm/boot/” para encontrar su imagen z.Dispositivos MediatekVaya a “/arch/arm/boot/” para encontrar su imagen z.No todas las compilaciones del kernel darán como resultado un archivo Zimage; a veces, se puede compilar en otros formatos de imagen.Importante: si va a compilar nuevamente, se recomienda ingresar los comandos make clean y make mrproper antes de comenzar nuevamente el proceso de compilación.Hacer el arranque del kernelHay dos opciones para que elijas.Puede utilizar el método anykernel (como lo define el usuario de XDA @ osm0sis en este hilo XDA). Deberías leer el tutorial completo, pero un resumen de los pasos es el siguiente:Coloque zImage en la raíz (dtb y/o dtbo también deben ir aquí para dispositivos que requieren uno personalizado, cada uno recurrirá al original si no está incluido)Coloque los archivos de disco RAM necesarios en /ramdisk y los módulos en /modules (con la ruta completa como /modules/system/lib/modules)Coloque los archivos de parche necesarios (generalmente archivos parciales que van con comandos) en /patchModifique anykernel.sh para agregar el nombre de su kernel, la ubicación de la partición de arranque, los permisos para los archivos ramdisk incluidos y use métodos para cualquier modificación requerida del disco ram (opcionalmente, también coloque archivos de banner y/o versión en la raíz para que se muestren durante la actualización).`zip -r9 ACTUALIZACIÓN-AnyKernel2.zip * -x .git README.md *marcador de posición`El otro método que tienes disponible es descomprimir el boot.img de la misma ROM (como CM, TouchWiz, EMUI, etc.) y el mismo Android versión. Luego cambiarías el Zimage. Nuevamente, este es un proceso realmente complicado y debes leer el tutorial exactopero un resumen de los pasos es:Abrir la cremallera.Utilice la línea de comando “unpackimg “, o simplemente arrastre y suelte la imagen. Esto dividirá la imagen y descomprimirá el disco ram en un subdirectorio.Modifique el disco ram como desee.El script por lotes repackimg no requiere ninguna entrada y simplemente recombina la zImage previamente dividida con el disco RAM modificado recién empaquetado utilizando toda la información de la imagen original (que también se dividió y guardó).El script de limpieza por lotes restablece la carpeta a su estado inicial, eliminando los directorios split_img+ramdisk y cualquier nuevo disco ram empaquetado o archivo de imagen.Antes de actualizar su kernel, debe crear una copia de seguridad de su stock boot.img y luego actualizar su kernel para ver si permite que su Android sistema para arrancar.Agregar funciones a su kernelAgregar funciones a su kernel es una excelente manera de darle vida. Hay muchas cosas que puedes modificar, como reguladores de CPU, programadores de IO, overclocking de GPU, mejoras de audio, etc.Un ejemplo para agregar un gobernador es aquí (Este gobernador tiene el nombre en código Intellimm).Podemos ver en los 2 primeros cuadros de texto que en “arch/arm/configs/” se han modificado “msm8974_sec_defconfig” y “cm_msm8974_sec_defconfig”.Entre las líneas 140 y 141 de este fichero se ha añadido este texto: “CONFIG_CPU_FREQ_GOV_INTELLIMM=y”(Esta línea es para habilitar Intellimm cuando estás compilando tu kernel)La misma técnica se aplica a los otros cuadros de texto (lo que se ha agregado y eliminado y su ubicación)Dependiendo de las características que agregues, se pueden modificar, agregar o eliminar más o menos archivos.Entonces, para resumir, ¡un compromiso le permite ver todos los cambios que se han realizado y todo lo demás!Consejos y trucos generalesCómo cambiar el nombre y la versión del kernel:El método sencillo:Edite esta línea en su archivo defconfig:"CONFIG_LOCALVERSION="-" after - in your defconfigEjemplo: CONFIG_LOCALVERSION=”-XenomTW-3.2.6″Los métodos avanzados:Navegue hasta Makefile en la carpeta raíz de la fuente de su kernel.Añade estas líneas:CONFIG_LOCALVERSION="nameofyourkernel" LOCALVERSION="versionofyourkernel"NO modifique las líneas Version, PatchLevel, Sublevel o Extraversion.Método alternativo:Vaya a scripts/mkcompile_h y agregue estas líneas:LINUX_COMPILE_BY="nameofyourchoice" LINUX_COMPILE_HOST="nameofyourchoice"Resolviendo problemas de RUTA:Si encuentra el error “¿Su ruta es correcta?”, intente esto en la terminal de Linux:"export PATH="pathtotoolchainlocation"/bin:$PATH"Accediendo a sus carpetas de Ubuntu desde Windows 10Su camino hacia Ubuntu normalmente debería ser:C:\Users”NOMBRE”\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState \rootfs\homePero no deberías editar archivos directamente desde Windowsya que esto normalmente romperá los permisos que tienen; luego deberá restablecer los permisos desde la terminal de Linux. Tecnología
Tecnología Solución: error al escribir un archivo temporal. Asegúrese de que su carpeta temporal sea válida noviembre 7, 2023Error al escribir un archivo temporal. Asegúrese de que su carpeta temporal sea válida indica… Read More
Tecnología ¿Vale la pena LinkedIn Premium? noviembre 20, 2023Muchas personas que buscan trabajo están indecisas sobre si actualizar o no a LinkedIn Premium…. Read More
Tecnología Minecraft da su veredicto sobre la inclusión de NFT noviembre 20, 2023¿Qué son las NFT y la blockchain? NFT o simplemente No fungible Los tokens existen… Read More