IoTGateway/BSP/Linux/Linux BSP User Guide Debian9 for rk
Contents
- 1 Linux BSP Version
- 2 Linux BSP Document
- 3 Get Docker Image
- 4 Run Docker example
- 5 Install Some tools For Rockchip Linux v2.07 version
- 6 Getting Debian Source Code
- 7 Build U-boot
- 8 Build Kernel
- 9 Build DS-100 Kernel
- 10 Build DS-100Lite Kernel
- 11 Build Recovery
- 12 Build Buildroot rootfs
- 13 Build Rootfs
- 14 How to do about update DS100 and DS100L Platform?
- 15 Download DS100 Debian Demo Images
- 16 Boot From SD Card Image (DS100-Lite/DMS-53)
- 17 Upgrade OS Image on EMMC from a SD card
- 18 Modules
- 19 Add CIFS
- 20 Video player Test
Linux BSP Version
Debian9
Linux BSP Document
Get Docker Image
$ docker pull advrisc/u16.04-rklbv1
Run Docker example
$docker run -it --name rk_linux --privileged -v /home/adv/rk3399_v20:/home/adv/BSP:rw advrisc/u16.04-rklbv1:latest /bin/bash
Install Some tools For Rockchip Linux v2.07 version
$sudo apt-get install libssl-dev
$sudo apt-get install texinfo
$sudo apt-get install liblz4-tool
$sudo apt-get install genext2fs
$sudo apt-get install time
Getting Debian Source Code
Step1 : To pull down the Linux source tree to your working directory from the repositories as specified in the default manifest
$ mkdir rk3399
$ mkdir bin
$ cd rk3399/
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ../bin/repo
$ chmod a+x ../bin/repo
$ ../bin/repo init -u https://github.com/ADVANTECH-Rockchip/linux-manifest.git -b rk3399_linux_v2.0
$ ../bin/repo sync
Build U-boot
$cd rk3399/u-boot/
$./make.sh evb-rk3399
Build Kernel
Build DS-100 Kernel
$cd rk3399/kernel/
$make ARCH=arm64 rockchip_ds100_defconfig
$make ARCH=arm64 rk3399-ds100.img -j8
Build DS-100Lite Kernel
$cd rk3399/kernel/
$make ARCH=arm64 rockchip_ds100l_defconfig
$make ARCH=arm64 rk3399-ds100l.img -j8
Build Recovery
$./build.sh recovery
Build Buildroot rootfs
$./build.sh rootfs
Build Rootfs
Building base debian system by ubuntu-build-service from linaro
$cd rootfs/
$sudo apt-get install binfmt-support qemu-user-static live-build
$sudo dpkg -i ubuntu-build-service/packages/*
$sudo apt-get install -f
$RELEASE=stretch TARGET=desktop ARCH=arm64 ./mk-base-debian.sh
Building rk-debian rootfs
$VERSION=debug ARCH=arm64 ./mk-rootfs-stretch-arm64.sh
Creating the ext4 image
$./mk-image.sh
$cd ..
$./mkfirmware.sh debian
How to do about update DS100 and DS100L Platform?
If DS100 in Linux(Debian9), you want to upgrade to Linux(Debian9)
If DS100 in Android(7.1.2), you want to upgrade to Linux(Debian9)
Download DS100 Debian Demo Images
Boot From SD Card Image (DS100-Lite/DMS-53)
Step1 Download
Download toolrockdev.tar.gz and SDDiskTool_v1.56.7z.
Download path : https://github.com/ADVANTECH-Rockchip/rk3399_tools/tree/linux_4.4
Step2 Create Upadte Image (In Linux env)
If you linux env is 64 bits, you need to Install some tool.
$sudo dpkg --add-architecture i386
$sudo apt-get update
$sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
step 2-3 Check your Image path in rk3399-package-file
step 2-4 $./rk3399-mkupdate.sh
step 2-5 Creat the update.img in rockdev/update.img
Step3 Create SD Card (In Windows env)
step 3-1 Unzip SDDiskTool_v1.56
step 3-2 Run SD_Firmware_Tool
step 3-3 Insert the SD card to your PC and push the botton "Resotore"
step 3-4 Choose firmware (choose the update.img)
step 3-5 Chooes the SD Boot and push the botton "Create"
step 3.6 Finished
Upgrade OS Image on EMMC from a SD card
Produce update.img
Please make sure there are included resource.img, misc.img and recovery.img in the Image folder. ( So does the package-file ).
PS: Both resource.img and misc.img derived from DS100 Android build.
Make an EMMC downloader SD card
Every step described as above. on "Second: Choose function mode", please check the checkbox "Upgrade Firmware".
Update OS image on EMMC.
- Insert the EMMC downloader SD card on a booted DUT.
- Enter command "boot recovery".
- The system will do a recovery step.
- Turn off the DUT after the yellow text disappears on screen.
- Removing the SD card and turn on DUT.
- The system will remove user data and reboot.
Modules
EWM-C117-4G Module
EWM-W163M201E
EWM-W188
EWM-C145-4G Module
Add CIFS
Support CIFS
Add CIFS config in kernel config
CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_CIFS=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
CONFIG_SQUASHFS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3_ACL=y
$sudo apt-get update
$sudo apt-get install cifs-utils
$mkdir /tmp_mount
$sudo mount.cifs //xxx.xxx.xx.xx/clayder /tmp_mount -o username=clayder<--example
- //xxx.xxx.xx.xx/clayder Network PC share folder
- /tmp_mount DS100 target folder
Video player Test
Player 4K Video Example
# export DISPLAY=:0.0
# su linaro -c "gst-launch-1.0 uridecodebin uri=file:///usr/local/test.mp4 ! rkximagesink"