Esta guía te enseñará como descargar y compilar el kernel de Android para ODROID-XU3/XU4. Si todavía no has compilado Android en tu ordenador de escritorio, echa un vistazo a la guía oficial de Google sobre cómo configurar un entorno de desarrollo para Android en http://bit.ly/1Hd3Z3P. Revísala cuidadosamente antes de continuar, de lo contrario puede que te encuetes con errores inesperados y necesites recurrir a los extensos y complejos registros log para localizar el problema.
Nosotros hemos utilizado Ubuntu 14.04 de 64 bits con 8 GB de RAM, las versiones más recientes de Ubuntu han dado algunos problemas a la hora de compilar el sistema operativo Android. http://bit.ly/2yGT5Tw. Si quieres compilar todo el código fuente de Android, no descargue y compiles código fuente del kernel por separado. Una compilación independiente de Kernel podría interrumpir el proceso global de compilación de Android.
Instalar openjdk-8-jdk
Si tu entorno de desarrollo es Ubuntu 14.04 o 12.40, introduce lo siguiente:
$ sudo add-apt-repository ppa:openjdk-r/ppa $ sudo apt-get updateY puedes instalar openjdk-8-jdk usando apt:
$ sudo apt-get install openjdk-8-jdk $ java -version openjdk version "1.8.0_131" OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11) OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)Si tienes más de una versión de Java instalada, puedes cambiar la versión:
$ sudo update-alternatives --config java $ sudo update alternatives --config javacTen en cuenta que distribuimos el kernel de Linux en diferentes sub-ramas para Android y otras distribuciones Linux.
Plataforma Android y Kernel
El repositorio para la descarga está disponible en http://bit.ly/1Syr1sf. El tamaño de todo el código fuente de Android es de alrededor de unos 70GB, así que asegúrese de preparar suficiente espacio antes de empezar a desarrollar la plataforma Android:
$ mkdir $ cd $ repo init -u https://github.com/voodik/android.git -b cm-14.1_5422 $ repo sync
Opengapps (opcional)
Para incluir Opengapps en la imagen de destino, crea el archivo "opengapps.xml" en la carpeta /.repo/local_manifests con este contenido:
< manifest> < remote name="opengapps" fetch="https://github.com/opengapps/" /> < project path="vendor/opengapps/build" name="aosp_build" revision="master" remote="opengapps" /> < project path="vendor/opengapps/sources/all" name="all" clone-depth="1" revision="master" remote="opengapps" /> < project path="vendor/opengapps/sources/arm" clone-depth="1" revision="master" remote="opengapps" /> </ manifest>A continuación, ejecuta los siguientes comandos:
$ cd $ repo sync --force-syncAntes de compilar, debes configurar el ODROID-XU3 con los siguientes comandos.
$ ./build.sh odroidxu3Una vez completado el largo proceso de compilación, puedes localizar los archivos img en el directorio "/tmp/odroidxu3/". Para usar ADB a través de una conexión TCP/IP, consulta http://bit.ly/2gtWzAo.
Instalación para ODROID-XU3/XU3-Lite
Las instrucciones para instalar una imagen del kernel Linux para Android y Linux son diferentes. Como Android carga desde una partición del kernel, tenemos que usar fastboot para instalarlo en la partición dedicada. Antes de empezar, consulta la tabla de particiones en http://bit.ly/2irbjnC. En cambio, Linux arranca teniendo en cuenta los parámetros incluidos en boot.ini en la primera partición FAT.
En primer lugar, instala la imagen kernel zImage-dtb, en la tabla de arranque:
$ sudo fastboot flash kernel <path/of/your/zImage-dtb>Después, instala los archivos de la plataforma android system.img, userdata.img y cache.img:
$ sudo fastboot flash system <path/of/your/system.img> $ sudo fastboot flash userdata <path/of/your/userdata.img> $ sudo fastboot flash cache <path/of/your/cache.img>Finalmente, activa la partición FAT:
$ sudo fastboot erase fat
Instalación para XU4
Puedes evitar el tema de usar fastboot en un ODROID-XU4, ya que éste no dispone de ningún puerto USB OTG. Primero, configura una conexión ADB o copia una imagen a la partición FAT:
$ adb push xxxx.img /sdcard/ $ adb rebootEcha un vistazo a los registros log del U-Boot conectándote al ODROID-XU4 con un kit USB-UART:
U-Boot 2017.05-12209-g43745f3 (Aug 17 2017 - 09:37:39 +0900) for ODROID-XU4 CPU: Exynos5422 @ 800 MHz Model: Odroid XU4 based on EXYNOS5422 Board: Odroid XU4 based on EXYNOS5422 Type: xu3 DRAM: 2 GiB MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 MMC Device 0 (eMMC): 14.7 GiB Info eMMC rst_n_func status = enabled MMC Device 1 ( SD ): 7.4 GiB *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: No ethernet found. Press quickly 'Enter' twice to stop autoboot: 0Escribe los siguientes comandos tras presionar "Intro" dos veces para pausar el proceso de arranque:
Exynos5422 # ext4load mmc 0:3 40000000 media/0/system.img 379342968 bytes read in 13284 ms (27.2 MiB/s) Exynos5422 # fastboot flash system 40000000 0 *** Partition Information for Android *** Control Device ID : 0 pNo Start Block Block Count pName 0 1 30 fwbl1 (15 KB) 1 31 32 bl2 (16 KB) 2 63 1440 bootloader (720 KB) 3 1503 512 tzsw (256 KB) 4 2015 32 env (16 KB) 5 2047 16384 kernel (8192 KB) 6 2752512 204800 fat (102400 KB) 7 131072 2097152 system (1048576 KB) 8 2957312 27688960 userdata (13844480 KB) 9 2228224 524288 cache (262144 KB) Erasing partition(system)... blk_st = 131072, blk_cnt = 2097152 *** erase block start 0x20000, cnt 0x200000 *** write_compressed_ext4 : total chunk = 1373 mmc write dev 0, blk = 0x00020008, size = 0x00000008, remain chunks = 1372 mmc write dev 0, blk = 0x00020010, size = 0x00000008, remain chunks = 1371 ... mmc write dev 0, blk = 0x00160010, size = 0x00000008, remain chunks = 10 none chunk mmc write dev 0, blk = 0x00160208, size = 0x000001f8, remain chunks = 9 mmc write dev 0, blk = 0x00160218, size = 0x00000010, remain chunks = 8 none chunk mmc write dev 0, blk = 0x001a0000, size = 0x0003fde8, remain chunks = 7 mmc write dev 0, blk = 0x001a0010, size = 0x00000010, remain chunks = 6 none chunk mmc write dev 0, blk = 0x001e0000, size = 0x0003fff0, remain chunks = 5 mmc write dev 0, blk = 0x001e0008, size = 0x00000008, remain chunks = 4 mmc write dev 0, blk = 0x001e0010, size = 0x00000008, remain chunks = 3 none chunk mmc write dev 0, blk = 0x001e0208, size = 0x000001f8, remain chunks = 2 mmc write dev 0, blk = 0x001e0218, size = 0x00000010, remain chunks = 1 none chunk mmc write dev 0, blk = 0x00220000, size = 0x0003fde8, remain chunks = 0 write done partition 'system' flashed. Exynos5422 #
ODROID Updater
Puedes actualizar desde Android Kitkat 4.4.4 estándar a Android 7.1 utilizando la versión 5.6 o superior de ODROID Updater (http://bit.ly/2yFz9lf). Siempre marca la opción "Format userdata" al actualizar desde otra versión de Android, tal y como se muestra en la Figura 1.
$ adb connect 192.168.x.x $ cd out/target/products/odroidxu3/ $ adb push update.zip /sdcard/ $ adb push update.zip.md5sum /sdcard/Abre "Internal storage", tal y como se muestra en la Figura 2, luego copia update.zip y update.zip.md5sum como se muestra en la Figura 3. Activa el botón "Validate file" como muestra la Figura 4.
Figura 4 - Validando los archivos de actualización en
ODROID Updater
Información del Almacenamiento
/storage/sdcard0 partición FAT del almacenamiento interno eMMC o microSD /storage/sdcard1 ranura microSD para Tarjeta SD /storage/usb2host Almacenamiento USB puerto USB 2.0 host /storage/usb3host Almacenamiento USB puerto USB 3.0 host /storage/usb3device Almacenamiento USB puerto USB 3.0 Dispositivo
Para comentarios, preguntas y sugerencias, visita el artículo original en http://bit.ly/2yUeqvm.
Be the first to comment