【问题标题】:What can I do after a driver was built with newest Linux source codes?使用最新的 Linux 源代码构建驱动程序后,我可以做什么?
【发布时间】:2020-10-22 23:08:02
【问题描述】:

我手头没有嵌入式系统内核镜像版本对应的Linux源代码,版本是4.19.57-v7+。我下载了Linux源代码(git clone --depth=1 https://github.com/raspberrypi/linux),然后构建成功(4.19.127):

cd linux

内核=内核7

制作 bcm2709_defconfig

make -j4 zImage 模块 dtbs

sudo make modules_install

然后,我基于该版本的Linux内核(4.19.127)构建了我的wifi驱动程序并成功了。然后我'insmod'那个.ko驱动程序并失败了:无效的模块格式。

我知道这意味着什么。现在,我可以选择继续:

  1. 将我自己构建的新内核更新到我的嵌入式系统。然后“insmod”那个 .ko 文件。
  2. 从 Internet 上的 git hub 将我的嵌入式系统内核版本从 4.19.57-v7+ 更新到 4.19.127。
  3. 下载版本。 4.19.57-v7+ Linux源码,然后重建wifi驱动。

我现在的问题是,对于 #1 和 #2,我不知道如何从 Internet 和本地更新我构建的内核。 对于#3,如何下载4.19.57-v7+版本的旧Linux源代码。

另外,哪种方式最好?

【问题讨论】:

    标签: linux kernel driver


    【解决方案1】:

    我选择了 #1 并执行以下操作:

    将开发系统的linux//dts/*dtb复制到目标系统的/boot

    将开发系统的linux//overlays/dts/*.dtb复制到目标系统的/boot/overlays

    将开发系统中的linux//zImage复制到/boot/kernel.img

    记得在更新所有这些文件之前进行备份。可以选择在 /boot/config.txt 中添加类似 'kernel=zImage' 的行。

    然后,重新启动它并使用“uname -a”来确认新内核是否已启动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-09
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      相关资源
      最近更新 更多