Difference between revisions of "Rockpi4/dev/rockpi-android-tv/es es"
(Created page with "== Construyendo el entorno de instalación == Recommend build host is Ubuntu 16.04 64bit, for other hosts, refer official Android documents [Establishing a Build Environment]...") |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | {{Languages|rockpi4/dev/Debian}} | ||
+ | {{rockpi4_header_es}} | ||
+ | |||
+ | |||
+ | <div class="col-md-12" style="text-shadow: 2px 2px 4px #DDDDDD; box-shadow: 2px 2px 5px #999999;"> | ||
+ | [[rockpi4/es_es | ROCK Pi 4]] > [[rockpi4/dev/es_es | Desarrollando]] > [[rockpi4/dev/rockpi-android-tv/es_es | Compilando Android TV (Nougat)]] | ||
+ | |||
== Construyendo el entorno de instalación == | == Construyendo el entorno de instalación == | ||
− | + | El medio de compilación recomendado es Ubuntu 16.04 64bit, para otros sistemas, mira los documentos oficiales de Android [Creando un Entorno de Compilación](https://source.android.com/setup/build/initializing). | |
<code bash> | <code bash> | ||
$ mkdir -p ~/bin | $ mkdir -p ~/bin | ||
Line 7: | Line 14: | ||
$ chmod +x ~/bin/repo | $ chmod +x ~/bin/repo | ||
</code> | </code> | ||
− | Android | + | El código fuente de Android consta principalmente de archivos Java, C++ y XML. Para compilar el código fuente, necesitarás instalar OpenJDK 8, los compiladores GNU C y C++, las librerias de comprobación XML, ImageMagick, y los demás paquetes relacionados. |
<code bash> | <code bash> | ||
$ sudo apt-get update | $ sudo apt-get update | ||
$ sudo apt-get install openjdk-8-jdk android-tools-adb bc bison build-essential curl flex g++-multilib gcc-multilib gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc yasm zip zlib1g-dev | $ sudo apt-get install openjdk-8-jdk android-tools-adb bc bison build-essential curl flex g++-multilib gcc-multilib gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc yasm zip zlib1g-dev | ||
</code> | </code> | ||
− | + | Configura el entorno JAVA | |
<code bash> | <code bash> | ||
$ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 | $ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 | ||
Line 18: | Line 25: | ||
$ export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar | $ export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar | ||
</code> | </code> | ||
− | == | + | == Descargar el código fuente == |
<code bash> | <code bash> | ||
$ mkdir rockpi4-android | $ mkdir rockpi4-android | ||
$ cd rockpi4-android | $ cd rockpi4-android | ||
</code> | </code> | ||
− | + | Entonces ejecuta: | |
<code bash> | <code bash> | ||
$ ~/bin/repo init -u https://github.com/radxa/rockpi4-android-tv-7.1.git -m rockchip_tv_nougat_release.xml | $ ~/bin/repo init -u https://github.com/radxa/rockpi4-android-tv-7.1.git -m rockchip_tv_nougat_release.xml | ||
$ repo sync -j$(nproc) -c | $ repo sync -j$(nproc) -c | ||
</code> | </code> | ||
− | + | Tardará un poco en encontrar el código fuente entero AOSP (son unos 86Gb)! | |
− | + | En China: | |
− | + | Descargar del Repositorio | |
<code bash> | <code bash> | ||
$ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo | $ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo | ||
$ export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/' | $ export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/' | ||
</code> | </code> | ||
− | == | + | == Compilar u-boot == |
<code bash> | <code bash> | ||
$ cd u-boot | $ cd u-boot | ||
Line 43: | Line 50: | ||
$ cd .. | $ cd .. | ||
</code> | </code> | ||
− | + | Las imágenes generadas son **rk3399_loader_v_xxx.bin** , **idbloader.img** y **uboot.img** | |
− | == | + | == Compilando el núcleo == |
<code bash> | <code bash> | ||
$ cd kernel | $ cd kernel | ||
Line 52: | Line 59: | ||
$ cd .. | $ cd .. | ||
</code> | </code> | ||
− | + | Las imágenes generadas son **kernel.img** y **resource.img**: | |
− | # kernel.img, | + | # kernel.img, núcleo con rkcrc checksum |
− | # resource.img, | + | # resource.img, contiene dtb y el logo de inicio, paque de recursos de formato Rockchip |
− | == | + | == Compilación mediante AOSP == |
<code bash> | <code bash> | ||
$ source build/envsetup.sh | $ source build/envsetup.sh | ||
Line 63: | Line 70: | ||
$ make -j$(nproc) | $ make -j$(nproc) | ||
</code> | </code> | ||
− | + | Tardará bastante, descansemos y esperemos ... | |
− | == | + | == Imágenes Generadas == |
<code bash> | <code bash> | ||
$ ln -s RKTools/linux/Linux_Pack_Firmware/rockdev/ rockdev | $ ln -s RKTools/linux/Linux_Pack_Firmware/rockdev/ rockdev | ||
Line 71: | Line 78: | ||
</code> | </code> | ||
− | + | Las imágenes generadas bajo rockdev/Image son | |
<code bash> | <code bash> | ||
├── boot.img | ├── boot.img | ||
Line 109: | Line 116: | ||
userdata 3932160 3932159 0.000000 MB | userdata 3932160 3932159 0.000000 MB | ||
</code> | </code> | ||
− | + | Las imágenes en rockdev/Image son `gpt.img` | |
<code bash> | <code bash> | ||
├── boot.img | ├── boot.img | ||
Line 118: | Line 125: | ||
└── uboot.img | └── uboot.img | ||
</code> | </code> | ||
− | + | En la instalación puedes usar la tarjeta micro USB o la memoria eMMC | |
− | + | ||
<code bash> | <code bash> | ||
$ sudo umount /dev/<Your device>* | $ sudo umount /dev/<Your device>* | ||
Line 126: | Line 132: | ||
$ sync | $ sync | ||
</code> | </code> | ||
− | + | mediante rockusb | |
<code bash> | <code bash> | ||
# on device u-boot | # on device u-boot | ||
Line 136: | Line 142: | ||
$ rkdeveloptool wl 0 Image/gpt.img | $ rkdeveloptool wl 0 Image/gpt.img | ||
</code> | </code> | ||
− | [ | + | [Más](https://wiki.radxa.com/Rockpi4/install/es_es) |
+ | |||
+ | Hay algunas pérdidas de rendimiento cuando se usa la tarjeta micro USB | ||
− | + | </div> |
Latest revision as of 17:00, 9 February 2019
ROCK Pi 4 > Desarrollando > Compilando Android TV (Nougat)
Contents
Construyendo el entorno de instalación
El medio de compilación recomendado es Ubuntu 16.04 64bit, para otros sistemas, mira los documentos oficiales de Android [Creando un Entorno de Compilación](https://source.android.com/setup/build/initializing).
$ mkdir -p ~/bin $ wget 'https://storage.googleapis.com/git-repo-downloads/repo' -P ~/bin $ chmod +x ~/bin/repo
El código fuente de Android consta principalmente de archivos Java, C++ y XML. Para compilar el código fuente, necesitarás instalar OpenJDK 8, los compiladores GNU C y C++, las librerias de comprobación XML, ImageMagick, y los demás paquetes relacionados.
$ sudo apt-get update $ sudo apt-get install openjdk-8-jdk android-tools-adb bc bison build-essential curl flex g++-multilib gcc-multilib gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc yasm zip zlib1g-dev
Configura el entorno JAVA
$ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 $ export PATH=$JAVA_HOME/bin:$PATH $ export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
Descargar el código fuente
$ mkdir rockpi4-android $ cd rockpi4-android
Entonces ejecuta:
$ ~/bin/repo init -u https://github.com/radxa/rockpi4-android-tv-7.1.git -m rockchip_tv_nougat_release.xml $ repo sync -j$(nproc) -c
Tardará un poco en encontrar el código fuente entero AOSP (son unos 86Gb)!
En China:
Descargar del Repositorio
$ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo $ export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
Compilar u-boot
$ cd u-boot $ make rock-pi-4b-rk3399_defconfig $ ./mk-uboot.sh $ cd ..
Las imágenes generadas son **rk3399_loader_v_xxx.bin** , **idbloader.img** y **uboot.img**
Compilando el núcleo
$ cd kernel $ make rockchip_defconfig $ make rk3399-rockpi-4b.img -j$(nproc) $ cd ..
Las imágenes generadas son **kernel.img** y **resource.img**:
- kernel.img, núcleo con rkcrc checksum
- resource.img, contiene dtb y el logo de inicio, paque de recursos de formato Rockchip
Compilación mediante AOSP
$ source build/envsetup.sh $ lunch rk3399_box-userdebug $ make -j$(nproc)
Tardará bastante, descansemos y esperemos ...
Imágenes Generadas
$ ln -s RKTools/linux/Linux_Pack_Firmware/rockdev/ rockdev $ ./mkimage.sh
Las imágenes generadas bajo rockdev/Image son
├── boot.img ├── idbloader.img ├── kernel.img ├── MiniLoaderAll.bin ├── misc.img ├── parameter.txt ├── pcba_small_misc.img ├── pcba_whole_misc.img ├── recovery.img ├── resource.img ├── system.img ├── trust.img └── uboot.img
$ cd rockdev $ ./android-gpt.sh
IMAGE_LENGTH:3936291 idbloader 64 16383 8.000000 MB Warning: The resulting partition is not properly aligned for best performance. uboot 16384 24575 4.000000 MB trust 24576 32767 4.000000 MB misc 32768 40959 4.000000 MB resource 40960 73727 16.000000 MB kernel 73728 122879 24.000000 MB boot 122880 188415 32.000000 MB recovery 188416 253951 32.000000 MB backup 253952 483327 112.000000 MB cache 483328 745471 128.000000 MB system 745472 3891199 1536.000000 MB metadata 3891200 3923967 16.000000 MB baseparamer 3923968 3932159 4.000000 MB userdata 3932160 3932159 0.000000 MB
Las imágenes en rockdev/Image son `gpt.img`
├── boot.img ├── gpt.img ├── idbloader.img ├── kernel.img ├── ...... └── uboot.img
En la instalación puedes usar la tarjeta micro USB o la memoria eMMC
$ sudo umount /dev/<Your device>* # mac os maybe not supprot progress $ sudo dd if=Image/gpt.img of=/dev/<Your device> bs=4M status=progress $ sync
mediante rockusb
# on device u-boot # mmc 0 is your emmc module # mmc 1 is your tf card $ rockusb 0 mmc 1
# on pc $ rkdeveloptool wl 0 Image/gpt.img
[Más](https://wiki.radxa.com/Rockpi4/install/es_es)
Hay algunas pérdidas de rendimiento cuando se usa la tarjeta micro USB