Difference between revisions of "Debian BSP User Guide for rk3399 risc series"
Yunjin.jiang (talk | contribs) |
Yunjin.jiang (talk | contribs) |
||
Line 84: | Line 84: | ||
</pre> | </pre> | ||
− | All image in rockdev/ | + | All image in rockdev/ ./mkimage.sh at previous step will repack boot.img and rootfs.img, and copy other related image files to the rockdev/ directory. The common image files are listed below: |
− | <pre># | + | <pre># board.img |
− | # | + | # boot.img |
− | # misc.img | + | # misc.img |
− | # | + | # oem.img |
− | # | + | # recovery.img |
− | # | + | # rootfs.img |
− | # uboot.img | + | # uboot.img |
− | # trust.img | + | # trust.img |
− | # MiniLoaderAll.bin | + | # MiniLoaderAll.bin |
− | + | # parameter.txt | |
+ | # | ||
</pre> | </pre> | ||
Revision as of 04:15, 7 July 2020
Contents
Linux BSP Version
Debian 9.x / Ubuntu 16.04
Kernel 4.4.194
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 rk3399_linux_v231_risc -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 Linux Source Code
$ cd ~/code $ sudo git clone https://github.com/rockchip-linux/repo.git $ mkdir rk3399_linux_risc $ cd rk3399_linux_risc $ git config --global user.name "Your Name" $ git config --global user.email you@example.com $ ../repo/repo init -u https://github.com/ADVANTECH-Rockchip/linux-manifest.git -b rk3399_linux_v231_risc -m default.xml $ ../repo/repo sync $ ../repo/repo forall -c git checkout -b local --track advantech-github/rk3399_linux_v231_risc $
Build U-boot
$ export TOP=`pwd` $ cd $TOP $ cd u-boot $ ./make.sh rk3399_rsb4710a2_2G
Build Kernel
Build for RSB4710 platform
$ cd $TOP $ cd kernel $ make ARCH=arm64 rk3399_adv_defconfig -j8 $ make ARCH=arm64 rk3399-rsb4710-a2.img -j12
Build Recovery
$ cd $TOP $ rm buildroot/output/rockchip_rk3399_recovery -rf $ source envsetup.sh rockchip_rk3399_recovery $ ./build.sh recovery
Build Debian 9.x
$ cd $TOP $ source envsetup.sh rockchip_rk3399 $ ./mk-debian.sh
Build ubuntu 16.04
$ cd $TOP $ source envsetup.sh rockchip_rk3399 $ cd rootfs_adv/ubuntu16.04/ $ sudo ./mk-ubuntu-base.sh $ sudo ./mk-adv.sh $ sudo ./mk-image.sh $
You can get ubuntu 16.04 "rootfs.img" in the fold "rootfs_adv/ubuntu16.04" .
Push all image to rockdev folder
$ ./mkimage.sh
All image in rockdev/ ./mkimage.sh at previous step will repack boot.img and rootfs.img, and copy other related image files to the rockdev/ directory. The common image files are listed below:
# board.img # boot.img # misc.img # oem.img # recovery.img # rootfs.img # uboot.img # trust.img # MiniLoaderAll.bin # parameter.txt #
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.