嵌入式开发环境问题-docker容器开发RV1126
文章目录
前沿
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。嵌入式开发环境中,对于linux系统依赖关系,本方案解决在不同系统中 使用docker 安装相对应所需容器,彻底解决linux系统环境干扰问题。
1. docker 拉取ubuntu20.04 镜像
1.1 拉取ubuntu 镜像文件
docker pull ubuntu:20.04
1.2 查看环境中存在的系统镜像
docker images
2. 根据镜像制作docker 容器
2.1 制作容器命令
docker run --name=ubuntu_rk -it -v /ihoment/youjie/20_docker:/share ubuntu:20.04 /bin/bash
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
—name=”nginx-lb”: 为容器指定一个名称;
—dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
—dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h “mars”: 指定容器的hostname;
-e username=”ritchie”: 设置环境变量;
—env-file=[]: 从指定文件读入环境变量;
—cpuset=”0-2” or —cpuset=”0,1,2”: 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
—net=”bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
—link=[]: 添加链接到另一个容器;
—expose=[]: 开放一个端口或一组端口;
—volume , -v: 绑定一个卷
退出容器
exit
查看创建容器
2.2 权限配置
容器中没有sudo 命令
apt-get 安装 需要sudo
使用root 用户进入容器
docker start ubuntu_rk
docker exec -it ubuntu_rk /bin/bash
apt-get update
apt-get install sudo
apt-get install wget
依次安装sudo 和wget
创建用户
useradd -d /home/youjie youjie
设置密码
passwd youjie
创建主目录
mkdir -p /home/youjie
chown youjie:youjie /home/youjie
添加sudo 权限
usermod -aG sudo youjie
退出root用户
exit
使用普通用户进入
docker exec -it --user youjie ubuntu_rk /bin/bash
docker 中用户管理和宿主机管理有很多文章,暂不深入了解。
2.3 ubuntu 环境安装
2.3.1 更新源
备份源
sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak
更新腾讯源
sudo wget -O /etc/apt/sources.list http://mirrors.cloud.tencent.com/repo/ubuntu20_sources.list
更新apt
sudo apt-get clean all && sudo apt-get update
2.3.2 对比文件权限
宿主机和docker环境 用户名一致。没有文件权限问题。
3 RV1126 开发环境
3.1 apt安装
sudo apt-get install lib32gcc-7-dev g++-7 libstdc++-7-dev git-core gitk git-gui gcc-arm-linux-gnueabihf fakeroot cmake flex bison liblz4-tool libtool keychain u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted libudev-dev libusb-1.0-0-dev autoconf libsigsegv2 m4 intltool libdrm-dev curl sed make binutils build-essential bash patch gzip gawk bzip2 perl tar cpio python unzip rsync file bc libncurses5 libglib2.0-dev libgtk2.0-dev libglade2-dev cvs rsync openssh-client subversion asciidoc w3m dblatex graphviz libssl-dev expect fakeroot cmake flex bison liblz4-tool libssl-dev expect fakeroot cmake flex bison liblz4-tool time
3.2 源码下载
安装repo
git clone http://mirrors.ustc.edu.cn/aosp/git-repo.git ~/.bin/repo
echo "export PATH=~/.bin/repo:$PATH" >> ~/.bashrc
source ~/.bashrc
安装conda python 环境
bash Anaconda3-2020.07-Linux-x86_64.sh
source ~/.bashrc
conda config --set auto_activate_base false
source ~/.bashrc
python 环境
echo "export PATH=~/anaconda3/bin:$PATH" >> ~/.bashrc
下载源码
repo init --no-clone-bundle --repo-url https://gitlab.com/firefly-linux/git-repo.git -u https://gitlab.com/firefly-linux/manifests.git -b master -m rv1126_rv1109_linux_release.xml
同步代码
repo sync -c
# 编译 CORE-1126-JD4 固件 适配的屏幕为 DM-M10R800 V2 屏幕模组
./build.sh device/rockchip/rv1126_rv1109/aio-rv1126-jd4-BE-45.mk
./build.sh
3.3 兼容性问题
3.3.1 gwak 版本过高
sudo apt-get remove gwak 删除系统默认
https://mirrors.ustc.edu.cn/ubuntu/pool/main/g/gawk/ 下载
https://mirrors.ustc.edu.cn/ubuntu/pool/main/g/gawk/gawk_4.1.3%2Bdfsg.orig.tar.xz
tar -xvf gawk_4.1.3+dfsg.orig.tar.xz
cd gawk-4.1.3/
mkdir build && cd build
../configure
make
sudo make install
source ~/.bashrc
gawk -V # 版本4.1
3.3.2 expect 问题
can’t find package Expect while executing “package require Expect” (file “/usr/bin/unbuffer” line 6)问题解决
原因:使用conda时,conda自带的expect覆盖了原有的expect命令,产生了冲突。
解决方式:
重新安装expect命令
conda install -c eumetsat expect
再次使用unbuffer时恢复正常。
4 编译OK,保存容器
进入容器命令
docker exec -it --user youjie ubuntu_rk /bin/bash
- 分享
- 举报
-
浏览量:1582次2020-08-19 16:43:27
-
浏览量:3759次2020-07-17 16:50:14
-
浏览量:2360次2020-08-19 16:46:46
-
浏览量:2359次2020-08-20 17:57:43
-
浏览量:2326次2020-08-20 18:03:14
-
浏览量:2015次2020-08-17 18:04:26
-
浏览量:1999次2020-08-17 18:06:38
-
浏览量:1885次2020-08-19 16:45:18
-
浏览量:655次2023-12-25 15:42:30
-
浏览量:2108次2020-08-19 16:49:12
-
浏览量:3222次2020-08-17 18:05:11
-
浏览量:1928次2020-08-20 18:01:22
-
浏览量:1005次2024-01-09 17:35:19
-
浏览量:2251次2020-08-17 18:01:42
-
浏览量:1850次2020-08-17 18:03:03
-
浏览量:3733次2020-08-19 16:34:45
-
浏览量:707次2023-11-24 15:49:33
-
浏览量:2338次2020-08-19 16:47:34
-
浏览量:3840次2021-06-18 16:05:42
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
V
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明