Difference between revisions of "Android BSP User Guide for rk3399 series 7.1.2 (RSB4710)."

From ESS-WIKI
Jump to: navigation, search
(4 intermediate revisions by the same user not shown)
Line 108: Line 108:
 
There are three ways to update images:
 
There are three ways to update images:
  
1. Using AndroidToool.
+
'''[[1._Using_AndroidToool.|1._Using_AndroidToool.]]'''
  
 
There is no limitation by this way.
 
There is no limitation by this way.
  
2. Using storage(such sd or USB disk)with update.zip in it.
+
'''[[2._Using_storage(such_sd_or_USB_disk)with_update.zip_in_it.|2._Using_storage(such sd_or_USB_disk)with_update.zip_in_it.]]'''
  
 
There are some limitations:
 
There are some limitations:
Line 124: Line 124:
 
(3)Using update.zip to upgrade. (see more detail in "Create OTA zip" on how to create update.zip)
 
(3)Using update.zip to upgrade. (see more detail in "Create OTA zip" on how to create update.zip)
  
3. Using bootup sd disk made by SDDiskTool.
+
'''[[3._Using_bootup_sd_disk_made_by_SDDiskTool.|3._Using_bootup_sd_disk made_by SDDiskTool.]]'''
  
 
(1)Only update images from the same os,  eg : 
 
(1)Only update images from the same os,  eg : 
Line 138: Line 138:
 
'''Step 1 : '''Put image to AndroidTool\rockdev\image.
 
'''Step 1 : '''Put image to AndroidTool\rockdev\image.
  
'''Step 2 : '''Double check mkupdate.bat. in  AndroidTool\rockdev
+
[[File:Rk3399 androidtool update zip.png|RTENOTITLE]]
 +
 
 +
'''Step 2 : '''Double click mkupdate.bat. in  AndroidTool\rockdev.
 +
 
 +
[[File:Rk3399 androidtool make update zip.png|RTENOTITLE]]
 +
 
 +
Then you can find update.img in AndroidTool\rockdev.
  
 
=== Using AndroidTool ===
 
=== Using AndroidTool ===
Line 152: Line 158:
 
[[File:DriverAssitant.jpg|700px|DriverAssitant.jpg]]
 
[[File:DriverAssitant.jpg|700px|DriverAssitant.jpg]]
  
'''Step3''' ADB or Debug console, send command "reboot loader"
+
'''Step3''' Enter into MASKROM mode .
 +
 
 +
There are two ways to enter MASKROM .
 +
 
 +
'''1. Hardware way to enter MASKROM'''
 +
 
 +
TBD
 +
 
 +
'''2. Software way to enter MASKROM'''
 +
 
 +
When the device boot up to android, you can use ADB or Debug console, send command "reboot loader" .
 +
 
 +
So the way need the device could boot up to android OS.
  
 
[[File:242.jpg|700px|242.jpg]]
 
[[File:242.jpg|700px|242.jpg]]
 +
 +
Click "Advantech Function" , then "Enter MASHROM" button to enter MASHROM mode .
 +
 +
[http://ess-wiki.advantech.com.tw/wiki/images/thumb/4/4a/RK3288_upgrade_Loader_MASHROM.png/800px-RK3288_upgrade_Loader_MASHROM.png http://ess-wiki.advantech.com.tw/wiki/images/thumb/4/4a/RK3288_upgrade_Loader_MASHROM.png/800px-RK3288_upgrade_Loader_MASHROM.png]
  
 
'''Step4''' Select the image path.
 
'''Step4''' Select the image path.

Revision as of 08:17, 14 January 2020

Android BSP Version

Android 7.1.2

Kernel 4.4.126

Build Environment on Host

Currently, we adopt Docker as build environment.

You can get the latest version of advrisc/u16.04-imx6abv5 Docker image for developing Rockchip RK3399 projects.

Docker command:

docker pull advrisc/u16.04-imx6abv5:20170523 

Run Docker example

Step1 Run docker container (example)

 $ docker run -it --name android_n7 -v /home/bsp/myandroid:/home/adv/BSP:rw advrisc/u16.04-imx6abv5:20170523 /bin/bash

Step2 In container, change the user. (example)


 adv@7cc0fa834366:~$ sudo chown adv:adv -R BSP

Getting Android Source Code

$ cd ~/code
$ sudo git clone https://github.com/rockchip-linux/repo.git
$ mkdir rk3399_android_n7
$ cd rk3399_android_n7
$ git config --global user.name "Your Name"
$ git config --global user.email you@example.com
$ ../repo/repo init -u http://advgitlab.eastasia.cloudapp.azure.com/RISC/android-manifest.git -b android-7.1.2 -m default.xml
$ ../repo/repo sync
$ ../repo/repo forall -c git checkout -b local --track origin/android-7.1.2
$ 

Build Instructions

$ 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

Build U-boot

$ cd u-boot
$ make rk3399_rsb4710a1_2G_defconfig
$ make ARCHV=aarch64

Build Kernel

Build for RSB4710 platform

$ cd kernel
$ make ARCH=arm64 rk3399_adv_defconfig -j8
$ make ARCH=arm64 rk3399-rsb4710-a1.img -j12

Build Android

$ source build/envsetup.sh 
$ lunch rk3399_rsb4710-userdebug
$ make -j4 2>&1 | tee build-log.txt

Push all image to rockdev folder

$ ./mkimage.sh

All image in rockdev/Image-rk3399_rsb4710 ./mkimage.sh at previous step will repack boot.img and system.img, and copy other related image files to the rockdev/Image-rk3399_rsb4710/ directory. The common image files are listed below:


# boot.img         : Android's initramfs, to initialize and mount system partition. 
# kernel.img       : Kernel image.
# misc.img         : Misc partition image, to switch boot mode and pass parameter in recovery mode.
# recovery.img     : Recovery mode image.
# resource.img     : Resource image, containing boot logo and kernel's device tree info.
# system.img       : System partition image with ext4 filesystem format.
# uboot.img        :uboot
# trust.img        :File about sleep
# MiniLoaderAll.bin :Loader

Create OTA zip

Step1 After Build Android, you will be create image for OTA update.

$ ./mkimage.sh ota

Step2 Package the update.zip

$ make otapackage

Step3 Rename the out/target/product/rk3399_rsb4710/rk3399_rsb4710-ota-eng.adv.zip to update.zip

$mv out/target/product/rk3399_rsb4710/rk3399_rsb4710-ota-eng.adv.zip update.zip

Note :  "adv" in rk3399_rsb4710-ota-eng.adv.zip  is the name of your building PC.

Step4 Copy the update.zip to SD or USB disk.

Step5 Follow Android update.

How to do about update RSB4710 Platform?

There are three ways to update images:

1._Using_AndroidToool.

There is no limitation by this way.

2._Using_storage(such sd_or_USB_disk)with_update.zip_in_it.

There are some limitations:

(1)The device must be able to boot up to Android system.

(2)Only update images from the same os,  eg : 

Android6.0 upgrade to Android6.0 or Android7.1 upgrade to Android7.1.

(3)Using update.zip to upgrade. (see more detail in "Create OTA zip" on how to create update.zip)

3._Using_bootup_sd_disk made_by SDDiskTool.

(1)Only update images from the same os,  eg : 

Android6.0 upgrade to Android6.0 or Android7.1 upgrade to Android7.1.

(2)Using update.img to upgrade.

How to Create update.img

Using AndroidTool to create update.img

Step 1 : Put image to AndroidTool\rockdev\image.

RTENOTITLE

Step 2 : Double click mkupdate.bat. in  AndroidTool\rockdev.

RTENOTITLE

Then you can find update.img in AndroidTool\rockdev.

Using AndroidTool

Download AndroidTool_v2.65.rar and DriverAssitant_v4.5.rar

https://github.com/ADVANTECH-Rockchip/rk3399_tools/tree/android_7.1.2_ks

Step1 Connect with the OTG port and PC.

Step2 Double click DriverInstall.

DriverAssitant.jpg

Step3 Enter into MASKROM mode .

There are two ways to enter MASKROM .

1. Hardware way to enter MASKROM

TBD

2. Software way to enter MASKROM

When the device boot up to android, you can use ADB or Debug console, send command "reboot loader" .

So the way need the device could boot up to android OS.

242.jpg

Click "Advantech Function" , then "Enter MASHROM" button to enter MASHROM mode .

http://ess-wiki.advantech.com.tw/wiki/images/thumb/4/4a/RK3288_upgrade_Loader_MASHROM.png/800px-RK3288_upgrade_Loader_MASHROM.png

Step4 Select the image path.

2422.jpg

Step5 Finish the update

24222.jpg



Using storage(such sd or USB disk)with update.zip in it

Using bootup sd disk made by SDDiskTool

How to do about update form USB or SD card?

Step1 Create the OTA update.zip


$ cd ~/rk3399/
$ make -j4
$ make otapackage -j4
$ ./mkimage.sh ota

Step2 Rename rk3399/out/target/product/rk3399_rsb4710/rk3399_rsb4710-ota-eng.adv.zip to update.zip


$ mv rk3399_rsb4710-ota-eng.adv.zip update.zip

Step3 Copy to the SD or USB disk

Step4 Insert the USB to RSB4710 

Step5 Choose the Install

OTG1.JPG

Step6

OTG2.JPG

Step7

OTG3.JPG

SD Card Update Solution

RK3399 provide the tools for create the SD Card Update Solution.

Step1 Download tool Linux_rockdev_2015-06-17_for_RK3399.zip and SD_Firmware_Tool._v1.46.zip.

Download path : https://github.com/ADVANTECH-Rockchip/rk3399_tools/tree/android_7.1.2

Step2 Copy the Linux_rockdev_2015-06-17_for_RK3399.zip to Linux OS PC and Unzip it. You will get the rockdev folder.


$ unzip Linux_rockdev_2015-06-17_for_RK3399.zip
$ cd rockdev
$ sudo chmod -R 755 *

Step3 Create the new system image and boot image and revoery image. "./mkimage.sh ota"


$ cd ~/rk3399/
$ make -j4
$ ./mkimage.sh ota

Step4 Copy the "MiniLoaderAll.bin parameter.txt uboot.img trust.img misc.img kernel.img resource.img boot.img recovery.img system.img" to rockdev/Image

Step5 Modify the MiniLoader.bin path. (./rkImageMaker -RK330C Image/MiniLoaderAll.bin Image/update.img update.img -os_type:androidos || pause)

$ cd rockdev
$ vim mkupdate.sh

Step6 Run mkupdate.sh

$ ./mkupdate.sh

 Mkupdate.jpg

Step7 Get ok message : Making update.img OK.

Step8 Unzip SD_Firmware_Tool._v1.46.zip in Windows OS and Copy the update.img to SD_Firmware_Tool

Step9 Please follow the picture (Red word).            

Step1 Choose the SD device.

Step2 Choose the "firmware update"

Step3. Choose the update.img path

Step4. Create the update SD

Sd tool.jpg

Step10 Create the Update SD card Success

Sd tool success.jpg

Step11 Please power off in RSB4710.

Step12 Insert the SD card.

Step13 Power on in RSB4710.

Step14 Installing system update

UPDATE.JPG

Step15 Please Remove the SD Card when RSB4710 show the message "Doing Action succeeded. please remove the sdcard......".

REMOVE_SD.JPG

Step16 Reset RSB4710.