rk3399上安装docker+ubuntu18.04+opencv+ tensorflowa

客户要求在rk3399上安装docker,搜了很久资料有限,东平四凑,花了几天时间才搞定,分享下吧,给需要的人

1 docker 安装
本文档适合 rk3399debian 平台,其他平台若要使用,请谨慎参考。安装之前请先确认
板子能否正常连接网络,安装所需要的一切安装包都是通过网络下载。另外,一切命令都是
通过串口输入(也可以通过 ssh 网络操作),本系统暂不支持 adb 输入。
1.1 配置 kernel
由于瑞芯微平台默认不支持 docker 容器,所以需要打开 kernel 中相关 docker 配置,即
修改 rk3399v1debian/kernel/arch/arm64/configs/ rockchip_linux_defconfig,修改后,重新编译
烧写即可,此步骤略,具体修改如下:
CONFIG_POSIX_MQUEUE=y
CONFIG_CGROUP_PIDS=y
CONFIG_MEMCG=y
CONFIG_MEMCG_SWAP=y
CONFIG_CGROUP_PERF=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_BLK_CGROUP=y
CONFIG_BLK_DEV_THROTTLING=y
CONFIG_CFQ_GROUP_IOSCHED=y
CONFIG_INET_ESP=y
CONFIG_NETFILTER=y
CONFIG_BRIDGE_NETFILTER=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_IPVS=y
CONFIG_IP_VS=y
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_RR=y
CONFIG_IP_VS_NFCT=y
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_BRIDGE=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_DUMMY=y
CONFIG_MACVLAN=y
CONFIG_IPVLAN=y
CONFIG_VXLAN=y
CONFIG_VETH=y
CONFIG_BTRFS_FS=y
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_AUTOFS4_FS=y
CONFIG_OVERLAY_FS=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
1.2 docker 安装 指令
1.2.1 连接串口,波特率 1500000 :

rk3399上安装docker+ubuntu18.04+opencv+ tensorflowa_第1张图片
1.2.2 具体指令如下:
apt-get update
apt-get install apt-transport-https
apt-get install ca-certificates
apt-get install curl
apt-get install gnupg2
apt-get install software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add –
apt-key fingerprint 0EBFCD88
注:相关命令网址:https://docs.docker.com/install/linux/docker-ce/debian/
1.2.3 下载 r docker 安装包:
wget https://download.docker.com/linux/debian/dists/stretch/pool/stable/arm64/
containerd.io_1.2.6-3_arm64.deb
wget https://download.docker.com/linux/debian/dists/stretch/pool/stable/arm64/
docker-ce-cli_19.03.2~3-0~debian-stretch_arm64.deb
wget https://download.docker.com/linux/debian/dists/stretch/pool/stable/arm64/
docker-ce_19.03.2~3-0~debian-stretch_arm64.deb
注:docker 下载网址: https://download.docker.com/linux/debian/dists/stretch/pool/stable/arm64/
1.2.4 安装 docker: :
dpkg -i containerd.io_1.2.6-3_arm64.deb
dpkg -i docker-ce-cli_19.03.2~3-0~debian-stretch_arm64.deb
dpkg -i docker-ce_19.03.2~3-0~debian-stretch_arm64.deb
1.2.5 测试 docker:
输入指令,出现下图表示 docker 安装成功:
docker run hello-world
rk3399上安装docker+ubuntu18.04+opencv+ tensorflowa_第2张图片2 在 在 docker 中 中安装 安装 ubuntu18.04
2.1 下载 ubuntu18.04 :
docker pull arm64v8/ubuntu:18.04
2.2 docker 测试 ubuntu18.04
docker run --device=/dev/videox:/dev/videox -d -it --privileged --name test-ubuntu
arm64v8/ubuntu:18.04 /bin/bash
注:执行 docker ps -n 5 videox 中的 x 根据挂载的 usb 摄像头产生节点动态修改。
出现下面红框中的信息,说明 ducker 中安装 ubuntu18.04 成功


2.3 启动 ubuntu18.04
docker exec -it test-ubuntu /bin/bash
注:执行 cat /etc/issue
出现如下界面说明进入 ubuntu18.04 成功:


3 安装 dlib
3.1 安装依赖的软件包
apt-get update
apt-get install python
apt-get install python-pip
apt-get install pkg-config
apt-get install libopenblas-dev
apt-get install liblapack-dev
apt-get install cmake
apt-get install libboost-all-dev
3.2 下载 dlib
3.2.1 安装 git:
apt-get install git
b 3.2.2 github 上克隆
方法如下:
cd ~
git clone https://github.com/davisking/dlib.git
cd dlib/tools/python
mkdir build
cd build/
cmake ..
make –j8
如果出现如下错误,需要增加 swap space,如下操作:
创建空文件
dd if=/dev/zero of=/media/swapfile.img bs=1024 count=1M
生成文件交换系统
mkswap /media/swapfile.img
设置开机启动
# Add this line to /etc/fstab
vim /etc/fstab
//加入
/media/swapfile.img swap swap sw 0 0
激活
swapon /media/swapfile.img
验证是否成功
cat /proc/swaps
grep 'Swap' /proc/meminfo
注:地址 https://www.jianshu.com/p/901399e0e44b
rk3399上安装docker+ubuntu18.04+opencv+ tensorflowa_第3张图片
3.2.3 导入 b dlib 到 python
cd ~/dlib
python setup.py install
python
import dlib as dlib
如下图:


4 安装 opencv
4.1 安装依赖的软件包
apt-get install build-essential
apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev
libswscale-dev
apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev
libtiff-dev libjasper-dev libdc1394-22-dev
apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
liblapacke-dev
apt-get install libxvidcore-dev libx264-dev
apt-get install libatlas-base-dev gfortran
apt-get install ffmpeg
apt-get install python-opencv
4.2 下载编译 opencv 源码
下载:cd ~
wget https://github.com/opencv/opencv/archive/3.4.7.zip
解压:unzip 3.4.7.zip
编译:cd opencv-3.4.7/
mkdir build
cd build/
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j4
安装:make install
设置库文件路径:vi /etc/ld.so.conf.d/opencv.conf
写入:/usr/local/lib
生效:ldconfig
添加环境变量:vi /etc/profile
写入:PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
生效:source /etc/profile
测试:cd opencv-3.4.7/samples/cpp/example_cmake
cmake .
make
ls
如果有如下图红框内所示文件说明 opencv 安装成功


4.3 导入 opencv 到 到 python
具体导入方法如下:
命令行输入: python
命令行导入:import cv2
如下图所示说明导入成功:

rk3399上安装docker+ubuntu18.04+opencv+ tensorflowa_第4张图片
5 安装 tensorflow
5.1 下载软件包:
wget
https://github.com/lhelontra/tensorflow-on-arm/releases/download/v1.14.0-buster/tensorflow-
1.14.0-cp27-none-linux_aarch64.whl
5.2 安装 :
apt-get update
apt-get install python
apt-get install python-pip
apt-get install pkg-config
apt-get install python3-pip
pip2 install tensorflow-1.14.0-cp27-none-linux_aarch64.whl

rk3399上安装docker+ubuntu18.04+opencv+ tensorflowa_第5张图片
5.3 测试:
测试命令如下:
命令行输入 python,再在 python 中输入一下命令,出现 Hello, TensorFlow! 表
示 TensorFlow 安装成功。
具体操作如下:
python
import tensorflow
hello = tensorflow.constant('Hello, TensorFlow!')
sess = tensorflow.Session()
sess.run(hello)
入下图所示:
rk3399上安装docker+ubuntu18.04+opencv+ tensorflowa_第6张图片
修改记录:

你可能感兴趣的:(rk3399上安装docker+ubuntu18.04+opencv+ tensorflowa)