Difference between revisions of "IoTGateway/BSP/Linux/Linux BSP User Guide Debian9 for rk"
(Created page with "== <span style="color:#0070c0">Linux BSP Version</span> == Debian9 == <span style="color:#0070c0">Get Docker Image</span> == <br/><syntaxhighligh...") |
|||
(60 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | == | + | == <span style="color:#0070c0">Linux BSP Version</span> == |
Debian9 | Debian9 | ||
− | == | + | == <span style="color:#0070c0">Linux BSP Document</span> == |
− | + | [https://github.com/rockchip-linux/docs Rockchip Linux Document] | |
− | < | + | == <span style="color:#0070c0">Get Docker Image</span> == |
− | |||
− | < | + | <syntaxhighlight lang="bash">$ docker pull advrisc/u16.04-rklbv1 |
+ | </syntaxhighlight> | ||
+ | == <span style="color:#0070c0">Run Docker example</span> == | ||
− | |||
− | < | + | <syntaxhighlight lang="bash">$docker run -it --name rk_linux --privileged -v /home/adv/rk3399_v20:/home/adv/BSP:rw advrisc/u16.04-rklbv1:latest /bin/bash |
+ | </syntaxhighlight> | ||
− | |||
− | + | == <span style="color:#0070c0">Install Some tools For Rockchip Linux v2.07 version</span> == | |
− | |||
− | < | + | <syntaxhighlight lang="bash">$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 | ||
+ | </syntaxhighlight> | ||
+ | == <span style="color:#0070c0">Getting Debian Source Code</span> == | ||
− | < | + | <span style="font-size:medium">'''<span style="font-family: times new roman,times,serif"><small>Step1 : To pull down the Linux source tree to your working directory from the repositories as specified in the default manifest</small></span>'''</span> |
+ | <syntaxhighlight lang="bash">$ 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 | ||
+ | </syntaxhighlight> | ||
+ | == <span style="color:#0070c0">Build U-boot</span> == | ||
− | < | + | |
+ | <syntaxhighlight lang="bash">$cd rk3399/u-boot/ | ||
+ | $./make.sh evb-rk3399 | ||
+ | </syntaxhighlight> | ||
+ | == <span style="color:#0070c0">Build Kernel</span> == | ||
+ | |||
+ | == <span style="color:#0070c0">Build DS-100 Kernel</span> == | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="bash">$cd rk3399/kernel/ | ||
+ | $make ARCH=arm64 rockchip_ds100_defconfig | ||
+ | $make ARCH=arm64 rk3399-ds100.img -j8 | ||
+ | </syntaxhighlight> | ||
+ | == <span style="color:#0070c0">Build DS-100Lite Kernel</span> == | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="bash">$cd rk3399/kernel/ | ||
+ | $make ARCH=arm64 rockchip_ds100l_defconfig | ||
+ | $make ARCH=arm64 rk3399-ds100l.img -j8 | ||
+ | </syntaxhighlight> | ||
+ | == <span style="color:#0070c0">Build Recovery</span> == | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="bash">$./build.sh recovery | ||
+ | </syntaxhighlight>In /output/rockchip_rk3399_recovery/images create recovery.img | ||
+ | == <span style="color:#0070c0">Build Buildroot rootfs</span> == | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="bash">$./build.sh rootfs | ||
+ | </syntaxhighlight> | ||
+ | == <span style="color:#0070c0">Build Rootfs</span> == | ||
+ | |||
+ | === <span style="color:#0070c0">Building base debian system by ubuntu-build-service from linaro</span> === | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="bash">$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 | ||
+ | </syntaxhighlight>In rootfs creat linaro-stretch-alip-xxxxx-1.tar.gz | ||
+ | === <span style="color:#0070c0">Building rk-debian rootfs</span> === | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="bash">$VERSION=debug ARCH=arm64 ./mk-rootfs-stretch-arm64.sh | ||
+ | </syntaxhighlight> | ||
+ | === <span style="color:#0070c0">Creating the ext4 image</span> === | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="bash">$./mk-image.sh | ||
+ | $cd .. | ||
+ | $./mkfirmware.sh debian | ||
+ | </syntaxhighlight> Then please check Image in rockdev folder | ||
+ | == <span style="color:#0070c0">How to do about update DS100 and DS100L Platform?</span> == | ||
+ | |||
+ | If DS100 in Linux(Debian9), you want to upgrade to Linux(Debian9) | ||
+ | |||
+ | *[[IoTGateway/BSP/Linux/Update_SOP1_Image_DS100_and_DS100Lite|Update Image DS100 and DS100Lite]] | ||
+ | |||
+ | If DS100 in Android(7.1.2), you want to upgrade to Linux(Debian9) | ||
+ | |||
+ | *[[IoTGateway/BSP/Linux/Update_SOP2_Image_DS100_and_DS100Lite|Update Image DS100 and DS100Lite]] | ||
+ | |||
+ | |||
+ | |||
+ | == <span style="color:#0070c0">Download DS100 Debian Demo Images</span> == | ||
+ | |||
+ | *[https://www.dropbox.com/s/pqi08ptkvap76y2/DIV0004_DS100_20181107.7z?dl=0 DS100 Debain Demo Image] | ||
+ | |||
+ | == <span style="color:#0070c0">Boot From SD Card Image (DS100-Lite/DMS-53)</span> == | ||
+ | |||
+ | === Step1 Download === | ||
+ | |||
+ | <small> Download tool'''''<big>rockdev.tar.gz</big>''''' and '''''<big>SDDiskTool_v1.56.7z</big>.'''''</small> | ||
+ | |||
+ | <small> Download path : </small>[https://github.com/ADVANTECH-Rockchip/rk3399_tools/tree/linux_4.4 https://github.com/ADVANTECH-Rockchip/rk3399_tools/tree/linux_4.4] | ||
+ | |||
+ | === Step2 Create Upadte Image (In Linux env) === | ||
+ | |||
+ | <span style="color:#FF0000;">'''If you linux env is 64 bits, you need to Install some tool.'''</span> | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="bash">$sudo dpkg --add-architecture i386 | ||
+ | $sudo apt-get update | ||
+ | $sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 | ||
+ | </syntaxhighlight> step 2-1 $tar zxvf rockdev.tar.gz step 2-2 Copy all linux Image to rockdev/Image folder | ||
+ | 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 | ||
+ | |||
+ | == <span style="color:#0070c0">Upgrade OS Image on EMMC from a SD card</span> == | ||
+ | |||
+ | === '''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. | ||
+ | |||
+ | == <span style="color:#0070c0">Modules</span> == | ||
+ | |||
+ | === EWM-C117-4G Module === | ||
+ | |||
+ | *[[:File:EWM-C117_for_RK3399_ds100.docx|EWM-C117_for_RK3399_ds100.docx]] | ||
+ | |||
+ | === EWM-W163M201E === | ||
+ | |||
+ | *[[:File:EWM-W163M201E_porting_guide_on_DS100.docx|EWM-W163M201E_porting_guide_on_DS100.docx]] | ||
+ | |||
+ | *[[:File:EWM-W163_firmware.7z|EWM-W163_Firmware]] | ||
+ | |||
+ | === EWM-W188 === | ||
+ | |||
+ | *[[:File:EWM-W188_Bluetooth_porting_guide_for_ds100-debian.docx|EWM-W188_Bluetooth_porting_guide_for_ds100-debian.docx]] | ||
+ | |||
+ | === EWM-C145-4G Module === | ||
+ | |||
+ | *[[:File:EWM-4G_porting_guide_on_DS100_new.docx|EWM-4G_Porting_Guide_On_DS100]] | ||
+ | |||
+ | == <span style="color:#0070c0">Add CIFS</span> == | ||
+ | |||
+ | === Support CIFS === | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="bash">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 | ||
+ | </syntaxhighlight><syntaxhighlight lang="bash">$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 | ||
+ | </syntaxhighlight> | ||
+ | *//xxx.xxx.xx.xx/clayder Network PC share folder | ||
+ | */tmp_mount DS100 target folder | ||
+ | |||
+ | |||
+ | |||
+ | == <span style="color:#0070c0">Video player Test</span> == | ||
+ | |||
+ | Player 4K Video Example | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="bash"># export DISPLAY=:0.0 | ||
+ | # su linaro -c "gst-launch-1.0 uridecodebin uri=file:///usr/local/test.mp4 ! rkximagesink" </syntaxhighlight> |
Latest revision as of 03:07, 7 November 2019
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"