Firefly开源社区

标题: 内核没有linux-modules模块,无法正常加载驱动 [打印本页]

作者: Mickey_00    时间: 2022-5-12 10:24
标题: 内核没有linux-modules模块,无法正常加载驱动
1、系统使用can协议通讯,需要加载gs_usb驱动,使用sudo mod_probe gs_usb,出现如下错误:
modprobe: FATAL: Module gs_usb not found in directory /lib/modules/4.19.206
2、贵司的百度云盘(https://pan.baidu.com/share/init?surl=XEs6rMblXum4329jzexDww)也只提供了linux-headers*和linux-images*包,没有linux-modules*包

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, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1


作者: Liuth    时间: 2022-5-12 10:49
内核中 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,主线的内核用不了
作者: Mickey_00    时间: 2022-5-12 10:59
有没有编译内核的教程?
作者: Mickey_00    时间: 2022-5-12 11:04
Liuth 发表于 2022-5-12 10:49
内核中 gs_usb 功能没有开,在 SDK/kernel 中使用开启并保存到配置文件:
make ARCH=arm64 firefly_linux_ ...

有没有编译内核的教程?
作者: Liuth    时间: 2022-5-12 11:15
在SDK根目录执行
./build.sh kernel
然后烧录 SDK/kernel/boot.img 这个文件
https://wiki.t-firefly.com/zh_CN ... html#bu-fen-bian-yi
作者: Mickey_00    时间: 2022-5-12 11:28
Liuth 发表于 2022-5-12 11:15
在SDK根目录执行
./build.sh kernel
然后烧录 SDK/kernel/boot.img 这个文件

小白新手,也是第一次使用你们的板子,请给出详细的操作步骤,多谢多谢。
作者: Liuth    时间: 2022-5-12 11:30
所有步骤都告诉你了呀
作者: Mickey_00    时间: 2022-5-12 11:33
Liuth 发表于 2022-5-12 11:30
所有步骤都告诉你了呀

你这个步骤需要有linux内核编译经验,熟悉你们的板子,才知道。这些为都没做过,所以不知道你这个SDK在哪?又是到哪个目录,去执行哪个命令,才能操作。所以,还请给出详细操作步骤。多谢。
作者: Liuth    时间: 2022-5-12 11:40
维基链接都给了,麻烦看一眼,里面有获取SDK和编译烧录方法
在哪里执行我也说了 “在 SDK根目录”“在 SDK/kernel 下”
作者: Mickey_00    时间: 2022-5-15 10:39
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

出现如下错误:
[td]processing option: kernel
Skipping build_kernel for missing configs:  RK_KERNEL_DTS RK_KERNEL_DEFCONFIG.[/td]

2022-05-15 10-36-36屏幕截图.png (19.25 KB, 下载次数: 888)

2022-05-15 10-36-36屏幕截图.png

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

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

微信截图_20220515170733.png (67.88 KB, 下载次数: 728)

微信截图_20220515170733.png

作者: Liuth    时间: 2022-5-16 10:05
烧录 boot.img 就行
作者: Mickey_00    时间: 2022-5-16 10:14
Liuth 发表于 2022-5-16 10:05
烧录 boot.img 就行

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

2022-05-16 10-11-27屏幕截图.png (127.33 KB, 下载次数: 725)

2022-05-16 10-11-27屏幕截图.png

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

这里也已经全部勾选

2022-05-16 10-25-45屏幕截图.png (96.57 KB, 下载次数: 758)

2022-05-16 10-25-45屏幕截图.png

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

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

2022-05-16 11-02-50屏幕截图.png (97.98 KB, 下载次数: 776)

2022-05-16 11-02-50屏幕截图.png

2022-05-16 11-04-01屏幕截图.png (101.53 KB, 下载次数: 783)

2022-05-16 11-04-01屏幕截图.png

2022-05-16 11-15-11屏幕截图.png (21.5 KB, 下载次数: 726)

2022-05-16 11-15-11屏幕截图.png

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

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

能正常使用,我就不会再问了。昨天是*,sudo modprobe gs_usb同样是这样的错误,今天改成M,还是错的。gs_usb没办法加载。
作者: Liuth    时间: 2022-5-16 15:25
Mickey_00 发表于 2022-5-16 11:53
能正常使用,我就不会再问了。昨天是*,sudo modprobe gs_usb同样是这样的错误,今天改成M,还是错的。gs ...

* 表示 build-in , 编译进内核,属于内核的一部分,内核启动的时候就会启动gs_usb
它已经不是mod了,所以无需 modprobe
作者: Liuth    时间: 2022-5-16 15:31
Liuth 发表于 2022-5-16 15:25
* 表示 build-in , 编译进内核,属于内核的一部分,内核启动的时候就会启动gs_usb
它已经不是mod了,所 ...

你开机后没有 modprobe 鼠标键盘的驱动,那为什么你的板子在插入鼠标、键盘的时候能正常工作呢?
就是因为鼠标键盘usb等驱动采用build-in方式随内核启动
同理你现在直接接上你的 USB CAN 设备就可以使用了,不用再modprobe
modprobe顾名思义是对 mod 进行的操作,build-in 不是 module
作者: Mickey_00    时间: 2022-5-16 15:31
Liuth 发表于 2022-5-16 15:25
* 表示 build-in , 编译进内核,属于内核的一部分,内核启动的时候就会启动gs_usb
它已经不是mod了,所 ...

多谢,问题已解决。




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1