本文基于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"的選項(xiàng),需要到kernel目錄進(jìn)行make menuconfig加上,直到執(zhí)行check_config.sh不再報(bào)missing項(xiàng)
這里是我們適配好的內(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
安裝過程需要花費(fèi)大約10分鐘
安裝完成后查看Docker版本:
linaro@linaro-alip:~$ docker -vDocker version 24.0.2, build cb74dfclinaro@linaro-alip:~$
驗(yàn)證
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驗(yàn)證通過
審核編輯 黃宇
-
嵌入式
+關(guān)注
關(guān)注
5087文章
19148瀏覽量
306194 -
主板
+關(guān)注
關(guān)注
53文章
1903瀏覽量
71028 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5083瀏覽量
97730 -
Docker
+關(guān)注
關(guān)注
0文章
478瀏覽量
11877
發(fā)布評論請先 登錄
相關(guān)推薦
評論