0417更新

参考大佬CmST0us的github,更新最新的rk5.10内核,顺利安装docker和homeassistant!有需要可以参考

原文:
https://github.com/CmST0us/tspi-linux-sdk
精简了一下泰山派linux sdk (4G左右). 用的最新的rk5.10内核和rockchip 最新的sdk构建脚本

背景&需求

目前在做智能开关方向的产品,想要做一个linux下的homeassistant服务端中枢来接入设备;考虑过树莓派,但是成本还是偏高;看到泰山派的介绍可以安装linux遂入坑。
但是刷入固件后,各种方式安装Docker各种失败;甚至也尝试了用Python直接安装HA也失败,然后开始网站找原因

环境信息

  1. 泰山派开发板 2+16G
  2. 刷入系统:buildroot / debian / linux都试过
  3. Linux内核:4.19.232

问题排查

感谢群友:“洋葱炒蛋”的提示;几经搜索下来看到的问题是瑞芯微的Kernel内核适配并没有做Docker的适配:
5024ff1334c44aab7643ffab3eba8539[2].png
也搜了相关的资料参考:

触觉智能PurplePiOH 3566 OpenHarmony3.2R 64位运行docker点击跳转
RK3399ProD下安装Docker点击跳转

问题解决

根据网上的教程,解决步骤:

  1. 下载Docker官方检测脚本:非官方链接参考
  2. 在kernel目录下执行检测脚本:
    ./check-config.sh .config
  3. 根据返回结果调整config参数,先看下不匹配内容(参考网图,自己的没有高亮)
    ![[Pasted image 20240414090709.png]]
  4. 对项目路径下的这个config文件进行调整:
    /你的项目路径/kernel/arch/arm64/configs/rockchip_linux_defconfig
    代码如下
    
    # add for docker 20240412 by rez-ti

CONFIG_BPF_SYSCALL=y

CONFIG_NF_CONNTRACK=y

CONFIG_NETFILTER_XT_MATCH_CGROUP=y

必要功能 (Necessary Features):

CONFIG_MEMCG=y

CONFIG_VETH=y

CONFIG_BRIDGE=y

CONFIG_BRIDGE_NETFILTER=y

CONFIG_IP_NF_FILTER=y

CONFIG_IP_NF_TARGET_MASQUERADE=y

CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y

CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y

CONFIG_NETFILTER_XT_MATCH_IPVS=y

CONFIG_NETFILTER_XT_MARK=y

CONFIG_IP_NF_NAT=y

CONFIG_NF_NAT=y

CONFIG_POSIX_MQUEUE=y

CONFIG_CGROUP_BPF=y

可选功能 (Optional Features):

CONFIG_CGROUP_PIDS=y

CONFIG_MEMCG_SWAP=y

CONFIG_MEMCG_SWAP_ENABLED=y

CONFIG_BLK_CGROUP=y

CONFIG_BLK_DEV_THROTTLING=y

CONFIG_CGROUP_PERF=y

CONFIG_CGROUP_HUGETLB=y

CONFIG_NET_CLS_CGROUP=y

CONFIG_CGROUP_NET_PRIO=y

CONFIG_IP_NF_TARGET_REDIRECT=y

CONFIG_IP_VS=y

CONFIG_IP_VS_NFCT=y

CONFIG_IP_VS_PROTO_TCP=y

CONFIG_IP_VS_PROTO_UDP=y

CONFIG_IP_VS_RR=y

CONFIG_SECURITY_SELINUX=y

CONFIG_SECURITY_APPARMOR=y

网络驱动 (Network Drivers):

"overlay" 驱动:

CONFIG_VXLAN=y

CONFIG_BRIDGE_VLAN_FILTERING=y

"ipvlan" 驱动:

CONFIG_IPVLAN=y

"macvlan" 驱动:

CONFIG_MACVLAN=y

CONFIG_DUMMY=y

"ftp,tftp client in container" 驱动:

CONFIG_NF_NAT_FTP=y

CONFIG_NF_CONNTRACK_FTP=y

CONFIG_NF_NAT_TFTP=y

CONFIG_NF_CONNTRACK_TFTP=y

存储驱动 (Storage Drivers):

"btrfs" 驱动:

CONFIG_BTRFS_FS=y

CONFIG_BTRFS_FS_POSIX_ACL=y

"overlay" 驱动:

CONFIG_OVERLAY_FS=y


以上代码仅供参考,因为试了一天还没有成功

# 目前的错误进度
通过修改kernel代码,再执行`/你的项目路径/kernel/arch/arm64/configs/rockchip_linux_defconfig`时已经能解决config问题,但是把这个新的boot.img文件烧录到开发板后,执行运行的命令就会卡死;
如图:
![1713057270945.png](//image.lceda.cn/pullimage/ivP1qoURti4GCRaC8he4tiMBp7q3jE25IgHq1o8U.png)
此时可以重新打开终端,还是可以运行ls、mkdir等命令,但是一旦执行sudo的命令,依然卡死

希望有大神可以指导一下
摸索了好几天了,水平有限,打算先买一个上面网上的触觉智能的开发板再试试...
期待我们的泰山派开发板也能够解决这个问题
\n#技术交流#
#技术交流#
立创开发板

还没有评论,抢个沙发!