百度网盘:check-config.sh脚本
使用check-config.sh
脚本检查缺少哪些配置
cd <SDK>/kernel/
cp <sourceDir>/check-config.sh .
chmod +x check-config.sh
./check-config.sh
检测结果如下
info: reading kernel config from .config ...
Generally Necessary:
- cgroup hierarchy: cgroupv2
Controllers:
- cpu: available
- cpuset: available
- io: available
- memory: available
- pids: available
- 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
......
Optional Features:
- CONFIG_USER_NS: enabled
- CONFIG_SECCOMP: enabled
- CONFIG_SECCOMP_FILTER: enabled
- CONFIG_CGROUP_PIDS: missing
- CONFIG_MEMCG_SWAP: missing
(cgroup swap accounting is currently enabled)
......
Generally Necessary: 表示必要的配置,显示 missing,需要在内核配置中打开它。 Optional Features: 是可选配置,根据需求自行选择。
sudo apt-get install -y apparmor zfs-fuse
make ARCH=arm64 menuconfig
make ARCH=arm64 savedefconfig
mv defconfig arch/arm64/configs/rockchip_linux_docker_defconfig
cd ../device/rockchip/.target_product
cp BoardConfig-rk3588s-evb1-lp4x-v10-yyt.mk BoardConfig-rk3588s-evb1-lp4x-v10-yyt-docker.mk
# 在新的makefile文件里面使用新的配置文件
cd <SDK>/
./build.sh lunch
./build.sh kernel
默认的系统镜像源是清华源,同样可以使用其他源,比如阿里云,华为云等等。Ubuntu 的系统源文件位于/etc/apt/sources.list,可以修改此文件添加镜像源,修改前注意要备份。
apt-get update
apt remove docker docker-engine docker-ce docker.io
apt install -y apt-transport-https ca-certificates curl software-properties-common
按Enter保持当前下载版本
4. 使用以下curl命令导入Docker官方存储库的GPG密钥:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
若失败可以使用国内阿里云镜像源秘钥。
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
成功后,命令将返回OK。
add-apt-repository "deb [arch=arm64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu
$(lsb_release -cs) stable"
按Enter继续执行
6. 再次更新 apt 包索引
apt update
7. 安装最新版本的Docker CE
apt install docker-ce
按Enter保持当前下载版本
8. 安装完成后,Docker服务将自动启动。要验证它输入:
systemctl status docker
发现启动docker失败
输入dockerd查看日志排查问题
dockerd
按ctrl+c退出错误
9. ubuntu 22.04默认使用nftables作为防火墙,而非iptables。输入以下命令来解决
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
10. 重新启动docker并查看 docker 的状态
systemctl restart docker
systemctl status docker
11. 输入指令,出现下图表示 docker 安装成功:
docker run hello-world