Please enable javascript, or click here to visit my ecommerce web site powered by Shopify.
Jump to: navigation, search

Rockpi4/dev/rockpi-android-tv/es es


    ROCK Pi 4 >  Desarrollando >  Compilando Android TV (Nougat)

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**:

  1. kernel.img, núcleo con rkcrc checksum
  2. 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