本文基于IDO-SBC3528主板演示Debian/Ubuntu 系統(tǒng)任何安裝Docker,方法適用于RK3568全系列產(chǎn)品。
IDO-SBC3528-V1采用RK3568四核64位開發(fā)的智能主板,可作為RK3568開發(fā)評估板,支持8G大內(nèi)存;支持PCIE2.0接口,可擴(kuò)展大容量固態(tài)硬盤;支持雙千兆以太網(wǎng)口;支持雙頻WiFi、藍(lán)牙4.2以上,可擴(kuò)展4G/5G網(wǎng)絡(luò)通訊功能;具有豐富的視頻輸出接口(HDMI2.0/eDP1.3/MIPI1.2/LVDS) ;工業(yè)互聯(lián)接口(RS232/RS485、CAN)。
支持Android11/Debian10/Ubuntu20/Buildroot/麒麟OS/開源鴻蒙等多種操作系統(tǒng)。
內(nèi)核配置
使用check_config.sh腳本檢查當(dāng)前內(nèi)核配置是否適配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為當(dāng)前內(nèi)核的配置
提示"missing"的選項,需要到kernel目錄進(jìn)行make menuconfig加上,直到執(zhí)行check_config.sh不再報missing項
這里是我們適配好的內(nèi)核配置:
鏈接:https://pan.baidu.com/s/1WoeHLL5DDbSOBjpLLgQofA?pwd=1234
提取碼:1234
內(nèi)核配置完成后,需重新編譯kernel并更新boot分區(qū):
#./build.sh kernel
安裝Docker
主板上執(zhí)行以下命令安裝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驗證通過
審核編輯 黃宇
-
嵌入式
+關(guān)注
關(guān)注
5105文章
19288瀏覽量
310192 -
主板
+關(guān)注
關(guān)注
53文章
2003瀏覽量
71848 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5220瀏覽量
99183 -
Docker
+關(guān)注
關(guān)注
0文章
496瀏覽量
12193
發(fā)布評論請先 登錄
相關(guān)推薦
RK356X Android11.0 SDK正常編譯后,其他Android版本SDK會報JACK錯誤怎么解決?
RK356x平臺Kerne與U-Boot源代碼獲取方式分享
RK3399與RK356x USB開發(fā)指南
每周精選 | RT-thread移植教程,RK3399與RK356x USB開發(fā)指南
RK356x Linux PCle 開發(fā)指南
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

評論