本文基于IDO-SBC3528主板演示Debian/Ubuntu 系統任何安裝Docker,方法適用于RK3568全系列產品。
IDO-SBC3528-V1采用RK3568四核64位開發的智能主板,可作為RK3568開發評估板,支持8G大內存;支持PCIE2.0接口,可擴展大容量固態硬盤;支持雙千兆以太網口;支持雙頻WiFi、藍牙4.2以上,可擴展4G/5G網絡通訊功能;具有豐富的視頻輸出接口(HDMI2.0/eDP1.3/MIPI1.2/LVDS) ;工業互聯接口(RS232/RS485、CAN)。
支持Android11/Debian10/Ubuntu20/Buildroot/麒麟OS/開源鴻蒙等多種操作系統。
內核配置
使用check_config.sh腳本檢查當前內核配置是否適配Docker,該腳本可從github下載:
https://github.com/opencontainers/runc/blob/main/script/check-config.sh
使用方法參考如下:
# ./check_config.sh ./kernel/.configinfo: reading kernel config from ./kernel/.config ...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: missing- CONFIG_KEYS: enabled- CONFIG_VETH: missing- CONFIG_BRIDGE: missing- CONFIG_BRIDGE_NETFILTER: missing- CONFIG_IP_NF_FILTER: missing- CONFIG_IP_NF_TARGET_MASQUERADE: missing- CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: missing- CONFIG_NETFILTER_XT_MATCH_CONNTRACK: missing- CONFIG_NETFILTER_XT_MATCH_IPVS: missing- CONFIG_IP_NF_NAT: missing- CONFIG_NF_NAT: missing- CONFIG_POSIX_MQUEUE: missingOptional Features:- CONFIG_USER_NS: enabled- CONFIG_SECCOMP: enabled- CONFIG_SECCOMP_FILTER: enabled- CONFIG_CGROUP_PIDS: missing- CONFIG_MEMCG_SWAP: missing- CONFIG_MEMCG_SWAP_ENABLED: missing- CONFIG_BLK_CGROUP: missing- CONFIG_BLK_DEV_THROTTLING: missing- CONFIG_CGROUP_PERF: missing- CONFIG_CGROUP_HUGETLB: missing- CONFIG_NET_CLS_CGROUP: missing- CONFIG_CGROUP_NET_PRIO: missing- CONFIG_CFS_BANDWIDTH: enabled- CONFIG_FAIR_GROUP_SCHED: enabled- CONFIG_RT_GROUP_SCHED: missing- CONFIG_IP_NF_TARGET_REDIRECT: missing- CONFIG_IP_VS: missing- CONFIG_IP_VS_NFCT: missing- CONFIG_IP_VS_PROTO_TCP: missing- CONFIG_IP_VS_PROTO_UDP: missing- CONFIG_IP_VS_RR: missing- CONFIG_SECURITY_SELINUX: missing- CONFIG_SECURITY_APPARMOR: missing
./kernel/.config為當前內核的配置
提示"missing"的選項,需要到kernel目錄進行make menuconfig加上,直到執行check_config.sh不再報missing項
這里是我們適配好的內核配置:
鏈接:https://pan.baidu.com/s/1WoeHLL5DDbSOBjpLLgQofA?pwd=1234
提取碼:1234
內核配置完成后,需重新編譯kernel并更新boot分區:
#./build.sh kernel
安裝Docker
主板上執行以下命令安裝Docker:
linaro@linaro-alip:~$ sudo apt-getupdatelinaro@linaro-alip:~$ curl -sSL https://get.docker.com/ | sudo sh
安裝過程需要花費大約10分鐘
安裝完成后查看Docker版本:
linaro@linaro-alip:~$ docker -vDocker version 24.0.2, build cb74dfclinaro@linaro-alip:~$
驗證
linaro@linaro-alip:~$ sudo docker run hello-worldUnable tofindimage 'hello-world:latest'locallylatest:Pulling from library/hello-world70f5ac315c5a:Pull completeDigest:sha256:a13ec89cdf897b3e551bd9f89d499db6ff3a7f44c5b9eb8bca40da20eb4ea1faStatus:Downloaded newer image forhello-world:latest[ 1228.015617] docker0: port 1(veth9b45dd3) entered blocking state[ 1228.015735] docker0: port 1(veth9b45dd3) entered disabled state[ 1228.017169] device veth9b45dd3 entered promiscuous mode[ 1228.027619] IPv6: ADDRCONF(NETDEV_UP): veth9b45dd3: link isnot ready[ 1228.343879] cgroup: cgroup: disabling cgroup2 socket matching due tonet_prio ornet_cls activation[ 1228.596774] eth0: renamed from vethc46e61e[ 1228.611961] IPv6: ADDRCONF(NETDEV_CHANGE): veth9b45dd3: link becomes ready[ 1228.612131] docker0: port 1(veth9b45dd3) entered blocking state[ 1228.612147] docker0: port 1(veth9b45dd3) entered forwarding state[ 1228.612346] IPv6: ADDRCONF(NETDEV_CHANGE): docker0: link becomes readyHello from Docker!This message shows that your installation appears tobeworking correctly.To generate this message, Docker took the following steps:1. The Docker client contacted the Docker daemon.2. The Docker daemon pulled the "hello-world"image from the Docker Hub.(arm64v8)3. The Docker daemon created anewcontainer from that image which runs theexecutablethat produces the output you are currently reading.4. The Docker daemon streamed that output tothe Docker client, which sent ittoyour terminal.To trysomething more ambitious, you can run anUbuntu container with:$ docker run -it ubuntu bashShare images, automate workflows, andmore with afree Docker ID:https://hub.docker.com/For more examples andideas, visit:https://docs.docker.com/get-starte
提示"Hello from Docker!"說明Docker驗證通過
審核編輯 黃宇
-
嵌入式
+關注
關注
5141文章
19524瀏覽量
314779 -
主板
+關注
關注
53文章
2079瀏覽量
72597 -
開發板
+關注
關注
25文章
5499瀏覽量
102147 -
Docker
+關注
關注
0文章
509瀏覽量
12687
發布評論請先 登錄
RK356X Android11.0 SDK正常編譯后,其他Android版本SDK會報JACK錯誤怎么解決?
RK356x平臺Kerne與U-Boot源代碼獲取方式分享
RK3399與RK356x USB開發指南
每周精選 | RT-thread移植教程,RK3399與RK356x USB開發指南
RK356x Linux PCle 開發指南
ITX 3588J源代碼RK356X/RK3588 RKNN SDK

ROC RK3588S PC源代碼RK356X/RK3588 RKNN SDK

ROC RK3566 PC源代碼RK356X/RK3588 RKNN SDK

AIO 3568J源代碼RK356X/RK3588 RKNN SDK

評論