Project

General

Profile

Actions

新建 #246

open

rv1109-rv1126 Ubuntu20.04 适配docker 步骤

Added by 刘 志飞 4 months ago. Updated 3 months ago.

Status:
新建
Priority:
普通
Assignee:
-
Category:
其他
Target version:
Start date:
01/17/2024
Due date:
% Done:

0%

Estimated time:

Description

测试版型:rp-rv1126

系统:ubuntu 20.04

客户问题:按照wiki文档上步骤,安装docker导致系统卡死在kernel阶段


Files

check-config.sh (11.5 KB) check-config.sh 刘 志飞, 01/17/2024 04:32 AM
clipboard-202401171408-hce2p.png (2.5 KB) clipboard-202401171408-hce2p.png 刘 志飞, 01/17/2024 04:40 AM
clipboard-202401171411-u9whm.png (31.2 KB) clipboard-202401171411-u9whm.png 刘 志飞, 01/17/2024 04:42 AM
clipboard-202401171416-bi0rp.png (35.3 KB) clipboard-202401171416-bi0rp.png 刘 志飞, 01/17/2024 04:48 AM
clipboard-202401171420-asndw.png (6.75 KB) clipboard-202401171420-asndw.png 刘 志飞, 01/17/2024 04:52 AM
clipboard-202401171444-ruhu8.png (42.4 KB) clipboard-202401171444-ruhu8.png 刘 志飞, 01/17/2024 05:16 AM
clipboard-202401171449-4accx.png (5.84 KB) clipboard-202401171449-4accx.png 刘 志飞, 01/17/2024 05:21 AM
clipboard-202401171449-m7jxu.png (5.84 KB) clipboard-202401171449-m7jxu.png 刘 志飞, 01/17/2024 05:21 AM
clipboard-202401171457-ksumi.png (45.2 KB) clipboard-202401171457-ksumi.png 刘 志飞, 01/17/2024 05:28 AM
clipboard-202401171529-sl4eh.png (10.9 KB) clipboard-202401171529-sl4eh.png 刘 志飞, 01/17/2024 06:01 AM
galcore.ko (435 KB) galcore.ko 刘 志飞, 01/19/2024 04:35 AM
clipboard-202401191415-gcpeg.png (4.96 KB) clipboard-202401191415-gcpeg.png 刘 志飞, 01/19/2024 04:46 AM
clipboard-202401191421-mnjsf.png (25.4 KB) clipboard-202401191421-mnjsf.png 刘 志飞, 01/19/2024 04:53 AM

Updated by 刘 志飞 4 months ago

前言:
1.此次测试以及最终安装用到网盘上的update-rp-rv1126-ubuntu2004-mipi2hdmi-lt8912-20230819-012625.img 固件做的测试
2.后续安装docker是以获取官网的源码deb包方式安装该软件,其他方式未做测试,可自行尝试
3.此次安装的是arm32版本docker,64位的可参考wiki文档
4.本次docker环境只配置必选项,不进行可选项的后续配置
5.此次的docker环境配置做出的修改仅针对rv1126且旧版本未变动的ubuntu文件系统,
如果网盘的ubuntu20.04的压缩包是rootfs.ext4-20240118.tgz及其以后的是不需要做出以下修改的,其他版型也可参考此修改去配置相关选项
SDK 为RV1126-1109-20240202 及其以后的不需要做出后续修改

步骤一:
将本文给出的check-config.sh 文件拷贝进开发板,并赋予777权限,此时执行该脚本是找不到config.gz文件的,是正常情况,报错如下图

我司RV1126板子默认没有打开config.gz文件的相关配置,如果想单独执行检查脚本去查找docker必选项缺少部分,可以按照步骤二的方法在源码根目录下打开kernel/arch/arm/configs/rv1126-1109-ubuntu.config 文件
并只添加下面的配置即可
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
步骤二:
打开SDK包,在SDK的根目录下打开该config文件

在文件最后添加以下配置,注释的也要添加,等一下会用到
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y

CONFIG_NAMESPACES=y
CONFIG_NET_NS=y
CONFIG_PID_NS=y
CONFIG_IPC_NS=y
CONFIG_UTS_NS=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_SCHED=y
CONFIG_CPUSETS=y
#CONFIG_MEMCG=y
#CONFIG_VETH=y
#CONFIG_BRIDGE_NETFILTER=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_POSIX_MQUEUE=y
CONFIG_CGROUP_BPF=y

#This is a dependency of VETH
CONFIG_NET_CORE=y
CONFIG_NET_VENDOR_MOXART=y
CONFIG_ARM_MOXART_ETHER=y

#This is a dependency of CONFIG_NETFILTER_XT_MATCH_IPVS
CONFIG_IP_VS=y

#This is a dependency of CONFIG_CGROUP_BPF
CONFIG_BPF_SYSCALL=y

步骤三:
保存后 只编译内核 ./build.sh kernel 将生成的boot.img文件烧录进开发板,并执行检查脚本 ./check-config.sh ,效果如下图所示,会缺少三项
这三项如果打开会导致开发板会在kernel阶段加载对应的ko文件时卡住,无法正常运行。

步骤四:
现在在SDK下 刚刚的config文件中重新打开注释掉的三个选项
打开他们, 保存后 编译内核但是先不要烧录进开发板

步骤五:
在开发板的根目录下的 ./lib/modules/4.19.111/galcore.ko 更名为任意名称,例如aaagalcore.ko,
./vendor/lib/modules/bcmdhd.ko 的ko文件也更名为任意名称
将源码下这个kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/bcmdhd.ko 目录下的bcmdhd.ko文件 拷贝至开发板
执行 rmmod bcmdhd.ko
insmod bcmdhd.ko(对应的KO文件是不会自动加载的,如果需要对应的功能需要手动加载对应的文件,这两步仅作为测试KO文件是否更新成功的步骤)
烧录刚刚编译的内核 ,启动后执行检查脚本,可看到所有必选项都已经配置完成

步骤六:
根据wiki上的docker安装步骤再官网上下载deb包并安装
,此步骤不再重复阐述,需要注意的是下载的是armhf 也就是arm32的软件包,安装时需要注意安装顺序
这里提供本次测试下载的三个安装包,

网址位置为:https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/armhf/

成功测试如下图

Updated by 刘 志飞 3 months ago

前文说到,原npu的KO文件在配置docker环境时会导致在kernel位置卡死的情况,现在在开发板原来的位置替换本文给出的新npu的ko文件,
此文件放置的位置前文有提及,替换后,既不缺少npu的相关功能,又可配置docker环境的必选项。(不要修改该文件的名字)

重启后执行 lsmod 检查驱动加载情况

简单的NPU测试 如下图

Actions

Also available in: Atom PDF