hzyitc / armbian-onecloud

Armbian for onecloud. 玩客云用armbian
1.08k stars 207 forks source link

尝试编译内核时增加gs_usb模块,但是好像不成功。 #180

Closed sunperz closed 6 months ago

sunperz commented 6 months ago

我需要使用onecloud作为klipper的上位机。所以我希望再编译的时候将gs_usb编译进内核或者编译成gs_usb.ko都可以。两种方法我都尝试了。但是最后产生的img文件并没有gs_usb相关功能。这个是怎么回事?我刚刚开始学习Armbian编译相关。能否帮忙指点下。谢谢!!

Eden1114 commented 6 months ago

可以提供你编译内核时候的config文件吗?

sunperz commented 6 months ago

可以提供你编译内核时候的config文件吗?

.config.txt

这个文件我是从~/build-main/cache/sources/linux-kernel-worktree/6.1mesonarmhf/ 下获取的。

下面是关于gs_sub的部分信息 #

CAN USB interfaces

# CONFIG_CAN_8DEV_USB=m CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB=m CONFIG_CAN_ETAS_ES58X=m CONFIG_CAN_GS_USB=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_MCBA_USB=m CONFIG_CAN_PEAK_USB=m CONFIG_CAN_UCAN=m

end of CAN USB interfaces

Eden1114 commented 6 months ago

最好检查一下/boot分区下的config-{kernel version}文件中有无上述配置。如果也存在上述配置的话,正常来说应该会在 /lib/modules/{kernel version}/kernel/drivers/net/usb目录下生成gs_usb.ko文件。

sunperz commented 6 months ago

最好检查一下/boot分区下的config-{kernel version}文件中有无上述配置。如果也存在上述配置的话,正常来说应该会在 /lib/modules/{kernel version}/kernel/drivers/net/usb目录下生成gs_usb.ko文件。

/boot 分区下面的config-6.1.69-current-meson.txt 里面是没有上面的配置的。如何增加呢?

Eden1114 commented 6 months ago

最好检查一下/boot分区下的config-{kernel version}文件中有无上述配置。如果也存在上述配置的话,正常来说应该会在 /lib/modules/{kernel version}/kernel/drivers/net/usb目录下生成gs_usb.ko文件。

/boot 分区下面的config-6.1.69-current-meson.txt 里面是没有上面的配置的。如何增加呢?

/boot分区下的config-6.1.69-current-meson.txt记录的是当前编译生成的img所使用的config配置。

如果你是在本地编译armbian/build项目,参考armbian/build编译的教程,在编译的时候,图形界面中把对应的选项勾选上。(或许尝试修改https://github.com/armbian/build/blob/main/config/kernel/linux-meson-{version}.config 这个文件也可以做到,但是我没有实际尝试过。)

如果使用这个repo下的ci.yaml 进行build的话,可以修改尝试自己fork armbian/build项目,修改对应的config文件,然后修改本仓库对应的位置 https://github.com/hzyitc/armbian-onecloud/blob/eacdc042a2bcece76734d73e63a53c27b80df12b/.github/workflows/ci.yml#L17https://github.com/hzyitc/armbian-onecloud/blob/eacdc042a2bcece76734d73e63a53c27b80df12b/.github/workflows/ci.yml#L164 就可以利用github actions自动生成img了。

sunperz commented 6 months ago

问题解决了。需要先配置内核,然后再进行编译 ./compile.sh BOARD=onecloud BRANCH=current kernel-config ./compile.sh BOARD=onecloud BRANCH=current