内核没有linux-modules模块,无法正常加载驱动

固件类型:官方提供的固件
固件文件名称:ROC-RK3566-PC-UBUNTU20.04-GPT-20211216-1031
固件下载地址:百度网盘 请输入提取码
Log日志:log.tar

1、系统使用can协议通讯,需要加载gs_usb驱动,使用sudo mod_probe gs_usb,出现如下错误:
modprobe: FATAL: Module gs_usb not found in directory /lib/modules/4.19.206
2、贵司的百度云盘(百度网盘 请输入提取码

3、去ubuntu的网站(https://kernel.ubuntu.com/~kernel-ppa/mainline/)查找4.19.206的内核,找一下对应的linux-moudles模块,居然没有这个内核版本
4、使用ubuntu-mainline-kernel.sh -i v4.19.241命令安装4.19.241内核版本,按正常流程安装,系统显示已安装,但重启后无效。
请帮忙看看这个问题怎么解决,升级内核版本或提供4.19.206对应的linux-modules安装包也可以。

tchip_askquestions
log.tar (540 KB)

内核中 gs_usb 功能没有开,在 SDK/kernel 中使用开启并保存到配置文件:
make ARCH=arm64 firefly_linux_defconfig
make ARCH=arm64 menuconfig
打开 can usb 相关选项,选择 save 保存
make ARCH=arm64 savedefconfig
mv defconfig arch/arm64/configs/firefly_linux_defconfig
然后重新编译内核并烧录

内核是定制过的,只能使用SDK,主线的内核用不了

有没有编译内核的教程?

Liuth 发表于 2022-5-12 10:49
内核中 gs_usb 功能没有开,在 SDK/kernel 中使用开启并保存到配置文件:
make ARCH=arm64 firefly_linux_ …

有没有编译内核的教程?

在SDK根目录执行
./build.sh kernel
然后烧录 SDK/kernel/boot.img 这个文件
https://wiki.t-firefly.com/zh_CN/ROC-RK3566-PC/ubuntu_compile.html#bu-fen-bian-yi

Liuth 发表于 2022-5-12 11:15
在SDK根目录执行
./build.sh kernel
然后烧录 SDK/kernel/boot.img 这个文件

小白新手,也是第一次使用你们的板子,请给出详细的操作步骤,多谢多谢。

所有步骤都告诉你了呀

Liuth 发表于 2022-5-12 11:30
所有步骤都告诉你了呀

你这个步骤需要有linux内核编译经验,熟悉你们的板子,才知道。这些为都没做过,所以不知道你这个SDK在哪?又是到哪个目录,去执行哪个命令,才能操作。所以,还请给出详细操作步骤。多谢。

维基链接都给了,麻烦看一眼,里面有获取SDK和编译烧录方法
在哪里执行我也说了 “在 SDK根目录”“在 SDK/kernel 下”

Liuth 发表于 2022-5-12 11:40
维基链接都给了,麻烦看一眼,里面有获取SDK和编译烧录方法
在哪里执行我也说了 “在 SDK根目录”“在 SDK …

按步骤操作,在 SDK/kernel 中使用开启并保存到配置文件:
make ARCH=arm64 firefly_linux_defconfig
make ARCH=arm64 menuconfig
打开 can usb 相关选项,选择 save 保存
make ARCH=arm64 savedefconfig
mv defconfig arch/arm64/configs/firefly_linux_defconfig
回到SDK目录,执行
./build.sh kernel

出现如下错误:

processing option: kernel

Skipping build_kernel for missing configs: RK_KERNEL_DTS RK_KERNEL_DEFCONFIG.
2022-05-15 10-36-36屏幕截图.png

Liuth 发表于 2022-5-12 11:40
维基链接都给了,麻烦看一眼,里面有获取SDK和编译烧录方法
在哪里执行我也说了 “在 SDK根目录”“在 SDK …

上一个问题已经解决,再次烧录kernel.img时,烧录工具无kernel选项,请问是什么原因?开发板已经调到loader模式

烧录 boot.img 就行

Liuth 发表于 2022-5-16 10:05
烧录 boot.img 就行

试着烧录boot.img,但烧录后/lib/modules目录下依然没有对应的文件,请帮忙看看编译前打开gs_usb的配置选择是不是有问题。依次打开Networking support → CAN bus subsystem support → CAN Device Drivers,然后勾选了所有的选项,见附件图片。多谢。

还要再进入一层,在 CAN USB interfaces 内,图片倒数第二行

Liuth 发表于 2022-5-16 10:19
还要再进入一层,在 CAN USB interfaces 内,图片倒数第二行

这里也已经全部勾选

你选择的是 build-in ,已经编译进内核了,可以正常使用。没有模块文件是正常的
上面的说明也提示了,星号表示build-in,M才表示模块

Liuth 发表于 2022-5-16 10:32
你选择的是 build-in ,已经编译进内核了,可以正常使用。没有模块文件是正常的
上面的说明也提示了,星号 …

改成M后,再重新编译烧录,但还是不能开启gs_usb,是没有烧录成功吗?但显示烧录是成功的。请帮忙看一下,多谢。



不用改啊,* 就行了,已经编译进内核,可以正常使用。

Liuth 发表于 2022-5-16 11:46
不用改啊,* 就行了,已经编译进内核,可以正常使用。

能正常使用,我就不会再问了。昨天是*,sudo modprobe gs_usb同样是这样的错误,今天改成M,还是错的。gs_usb没办法加载。

Mickey_00 发表于 2022-5-16 11:53
能正常使用,我就不会再问了。昨天是*,sudo modprobe gs_usb同样是这样的错误,今天改成M,还是错的。gs …

  • 表示 build-in , 编译进内核,属于内核的一部分,内核启动的时候就会启动gs_usb
    它已经不是mod了,所以无需 modprobe