本文介紹Ubuntu系統(tǒng)安裝Docker方法,使用觸覺(jué)智能EVB3568鴻蒙開(kāi)發(fā)板演示,搭載瑞芯微RK3568,四核A55處理器,主頻2.0Ghz,1T算力NPU;支持開(kāi)源鴻蒙OpenHarmony3.2-5.0,以及Linux、Android等操作系統(tǒng),接口豐富,開(kāi)發(fā)評(píng)估快人一步!
內(nèi)核配置
1、使用check_config.sh腳本檢查當(dāng)前內(nèi)核配置是否適配Docker,該腳本可從github下載:
https://github.com/opencontainers/runc/blob/main/script/check-config.sh
2、將下載好的配置腳本文件放到如下圖目錄:

3、配置一個(gè)帶Docker配置的內(nèi)核文件
kernel目錄下會(huì)有一個(gè).config文件,該文件記錄了內(nèi)核目前的配置,最終編譯使能的配置也是根據(jù)該.config文件,而這個(gè).config文件的內(nèi)容由 kernel/arch/arm64/configs 中的配置文件決定。
cd kernel/arch/arm64/configs cp rockchip_linux_evb3568v1_defconfig rockchip_linux_evb3568v1_docker_defconfig
執(zhí)行我們下載好的腳本,檢測(cè)新復(fù)制的defconfig文件,然后編輯該defconfig文件,將missing的選項(xiàng)添加進(jìn)去,直到./check_configs.ch不出現(xiàn)missing。
c./check_config.sh ./kernel/arch/arm64/configs/rockchip_linux_evb3568v1_docker_defconfig info: reading kernel config from arch/arm64/configs/rockchip_linux_evb3568v1_defconfig ... Generally Necessary: - cgroup hierarchy: properly mounted [/sys/fs/cgroup] - apparmor: enabled and tools installed - CONFIG_NAMESPACES: enabled - CONFIG_NET_NS: enabled - CONFIG_PID_NS: enabled - CONFIG_IPC_NS: enabled - CONFIG_UTS_NS: enabled - CONFIG_CGROUPS: enabled - CONFIG_CGROUP_CPUACCT: enabled - CONFIG_CGROUP_DEVICE: enabled - CONFIG_CGROUP_FREEZER: enabled - CONFIG_CGROUP_SCHED: enabled - CONFIG_CPUSETS: enabled - CONFIG_MEMCG: enabled - CONFIG_KEYS: enabled - CONFIG_VETH: enabled - CONFIG_BRIDGE: enabled - CONFIG_BRIDGE_NETFILTER: enabled - CONFIG_IP_NF_FILTER: enabled - CONFIG_IP_NF_TARGET_MASQUERADE: enabled - CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: enabled - CONFIG_NETFILTER_XT_MATCH_COMMENT: missing - CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled - CONFIG_NETFILTER_XT_MATCH_IPVS: enabled - CONFIG_IP_NF_NAT: enabled - CONFIG_NF_NAT: enabled - CONFIG_POSIX_MQUEUE: enabled - CONFIG_OVERLAY_FS: enabled Optional Features: - CONFIG_USER_NS: enabled - CONFIG_SECCOMP: enabled - CONFIG_SECCOMP_FILTER: enabled - CONFIG_CGROUP_PIDS: enabled - CONFIG_MEMCG_SWAP: enabled - CONFIG_MEMCG_SWAP_ENABLED: missing (note that cgroup swap accounting is not enabled in your kernel config, you can enable it by setting boot option "swapaccount=1") - CONFIG_BLK_CGROUP_IOCOST: missing - CONFIG_BLK_CGROUP: enabled - CONFIG_BLK_DEV_THROTTLING: enabled - CONFIG_CGROUP_PERF: enabled - CONFIG_CGROUP_HUGETLB: enabled - CONFIG_NET_CLS_CGROUP: enabled - CONFIG_CGROUP_NET_PRIO: enabled - CONFIG_CFS_BANDWIDTH: enabled - CONFIG_FAIR_GROUP_SCHED: enabled - CONFIG_RT_GROUP_SCHED: enabled - CONFIG_IP_NF_TARGET_REDIRECT: enabled - CONFIG_IP_VS: enabled - CONFIG_IP_VS_NFCT: enabled - CONFIG_IP_VS_PROTO_TCP: enabled - CONFIG_IP_VS_PROTO_UDP: enabled - CONFIG_IP_VS_RR: enabled - CONFIG_SECURITY_SELINUX: enabled - CONFIG_SECURITY_APPARMOR: enabled - CONFIG_CHECKPOINT_RESTORE: missing #can1接收
這里是我們適配好的內(nèi)核配置(提取碼:1234):https://pan.baidu.com/s/1HQdfggCQp0yMHUca4pV6qQ?pwd=1234
修改編譯時(shí)的配置文件
在編譯之前通常需要根據(jù)自己的需求選擇相應(yīng)的選項(xiàng),也就是在選擇編譯時(shí)要用到的配置文件。

進(jìn)入 SDK根目錄
/device/rockchip/rk3566_rk3568,因?yàn)槲覀冞x擇的7,對(duì)應(yīng)的是紅框處文件,要修改這個(gè)文件:

執(zhí)行命令
vim rockchip_rk3568_EVB3568V1_HDMI_defconfig,將原RK_KERNEL注釋掉,重新添加一條RK_KERNEL,后面填入配置過(guò)Docker的內(nèi)核配置文件名,
rockchip_linux_evb3568v1_docker_defconfig的配置項(xiàng)會(huì)寫(xiě)入內(nèi)核.config文件,這樣配置就生效了。

單獨(dú)編譯內(nèi)核并燒錄
在SDK根目錄下執(zhí)行./build.sh kernel如圖可以看到內(nèi)核的配置文件已經(jīng)替換為適配了Docker的。
注意:一定要先./build.sh lunch選擇自己修改過(guò)帶Docker的配置文件,不然使用的是不帶Docker原配置。

內(nèi)核編譯成功(這里為了節(jié)省時(shí)間選擇單獨(dú)編譯內(nèi)核):
注意:若要編譯整包固件 還需執(zhí)行
export RK_ROOTFS_SYSTEM=ubuntu20,然后直接執(zhí)行./build.sh即可。
具體可以到觸覺(jué)智能 官網(wǎng)中選擇對(duì)應(yīng)產(chǎn)品,進(jìn)入到資料下載中心,查閱相關(guān)SDK編譯、固件燒錄手冊(cè)。

最后單獨(dú)燒入編譯好的boot.img
注意:當(dāng)設(shè)備進(jìn)入loader模式下,點(diǎn)擊“設(shè)備分區(qū)表”后更新下載地址,即可得到對(duì)應(yīng)分區(qū)下載地址,隨后單獨(dú)燒入boot.img(內(nèi)核鏡像)即可。

安裝Docker并驗(yàn)證
輸入以下命令:
apt-get update apt-get install docker.io
安裝成功:

驗(yàn)證是否成功安裝
root@ido:~# docker run hello-world 報(bào)錯(cuò):docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?. See 'docker run --help'.
配置Docker的加速地址。
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://do.nark.eu.org", "https://dc.j8.work", "https://docker.m.daocloud.io", "https://dockerproxy.com", "https://docker.mirrors.ustc.edu.cn", "https://docker.nju.edu.cn" ] } EOF sudo systemctl daemon-reload #當(dāng)修改了某些服務(wù)的配置后,執(zhí)行該命令使修改項(xiàng)立即生效 sudo systemctl restart docker systemctl status docker
詳細(xì)介紹鏈接如下:
https://blog.csdn.net/oyjl__/article/details/143522664

如上圖所示,sudo systemctl restart docker時(shí)會(huì)出現(xiàn)錯(cuò)誤。
root@ido:~# dockerd --debug INFO[2025-02-27T02:47:40.691781099Z] Starting up mkdir /var/lib/docker: file exists #這里發(fā)現(xiàn)已經(jīng)存在docker,需要?jiǎng)h除掉讓docker再重新生成一次 rm /var/lib/docker #再次執(zhí)行如下命令 sudo systemctl daemon-reload sudo systemctl restart docker sudo systemctl status docker
如圖可以看到Docker已經(jīng)處在運(yùn)行狀態(tài)。

執(zhí)行docker info可以看到Docker加速地址已經(jīng)添加上去了。

再次執(zhí)行docker run hello-world可以發(fā)現(xiàn)Docker已經(jīng)正常運(yùn)行成功。
-
嵌入式開(kāi)發(fā)
+關(guān)注
關(guān)注
18文章
1108瀏覽量
49909 -
Ubuntu
+關(guān)注
關(guān)注
5文章
603瀏覽量
32954 -
Docker
+關(guān)注
關(guān)注
0文章
527瀏覽量
14061 -
docker容器
+關(guān)注
關(guān)注
0文章
31瀏覽量
3602 -
RK3568
+關(guān)注
關(guān)注
5文章
628瀏覽量
7610
發(fā)布評(píng)論請(qǐng)先 登錄
觸覺(jué)智能RK3568_OpenHarmony開(kāi)發(fā)板適配
RK356X Debian/Ubuntu系統(tǒng)安裝Docker技術(shù)分享
瑞芯微RK3568開(kāi)發(fā)板Linux編譯報(bào)錯(cuò)404怎么辦?觸覺(jué)智能教你輕松解決
如何在Linux系統(tǒng)實(shí)現(xiàn)屏幕旋轉(zhuǎn)?觸覺(jué)智能RK3568鴻蒙開(kāi)發(fā)板演示
Android11修改攝像頭前后置方法,觸覺(jué)智能RK3568開(kāi)發(fā)板演示
瑞芯微主板/開(kāi)發(fā)板Linux系統(tǒng)播放音頻方法,觸覺(jué)智能RK3562開(kāi)發(fā)板演示
瑞芯微平臺(tái)Android系統(tǒng)串口測(cè)試方法,觸覺(jué)智能RK3562開(kāi)發(fā)板演示
Linux系統(tǒng)更換開(kāi)機(jī)logo方法教程,觸覺(jué)智能RK3562開(kāi)發(fā)板演示
Ubuntu20.04取消root賬號(hào)自動(dòng)登錄的方法,觸覺(jué)智能RK3568開(kāi)發(fā)板演示
Linux開(kāi)發(fā)板CAN總線(xiàn)測(cè)試方法,觸覺(jué)智能RK3568開(kāi)發(fā)板演示
Linux修改uboot啟動(dòng)延時(shí)方法詳細(xì)攻略,觸覺(jué)智能RK3568開(kāi)發(fā)板演示

Ubuntu系統(tǒng)安裝Docker詳細(xì)攻略,觸覺(jué)智能RK3568開(kāi)發(fā)板演示
評(píng)論