gpt4 book ai didi

linux - 有没有办法找出特定 Raspberry Pi 内核的确切源代码树

转载 作者:太空宇宙 更新时间:2023-11-04 10:57:12 24 4
gpt4 key购买 nike

我正在尝试在我的树莓派上编译内核模块,但在尝试加载已编译的模块时,我一直收到“不同意符号 module_layout 的版本”。

我想避免编译整个内核,所以我正在做的是在这里使用 Raspberry pi 基金会 (http://downloads.raspberrypi.org/raspbian_latest) 生成的 img,然后尝试从 https://github.com/raspberrypi/linux 安装内核源代码和来自 https://github.com/raspberrypi/firmware/blob/master/extra/Module.symvers 的 Module.symvers

我认为问题在于我没有找到与最新 RPi 图像上的内容相匹配的内核源代码和 Module.symvers 的组合。我希望 github 存储库被标记,但它没有。

有没有办法知道使用什么分支/提交来为 Rpi 版本创建最新的 raspbian?

最佳答案

原来在多看了几个论坛后,我找到了答案。在这里:

  1. 找出用于在 Rpi 运行时创建镜像的固件提交:
    zgrep "* firmware as of" /usr/share/doc/raspberrypi-bootloader/changelog.Debian.gz | head -1 | awk '{ print $5 }'
  1. 列表项

通过查看 https://github.com/raspberrypi/firmware/blob/ 的内容找出用于创建固件的 linux 源代码提交firmware_commit/extra/git_hash

3. 在你的树莓派上安装 Linux 源:

    cd /usr/src/    sudo wget https://github.com/raspberrypi/linux/archive/source_commit.tar.gz    sudo gunzip source_commit.tar.gz    sudo tar -xvf source_commit.tar    sudo mv linux-source_commit linux    sudo ln -s linux linux-headers-3.18.5+ (user your kernel version instead of 3.18.5+)    sudo ln -s linux /lib/modules/3.18.5+/build

如果你想编译一个内核模块而不用编译整个内核,这有点不相关但仍然有用:

    cd /lib/modules/3.18.5+/build    sudo make mrproper    sudo sh -c 'zcat /proc/config.gz  > .config'    sudo wget https://github.com/raspberrypi/firmware/raw//extra/Module.symvers    sudo make modules_prepare

在此之后您应该能够编译您的模块。

关于linux - 有没有办法找出特定 Raspberry Pi 内核的确切源代码树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28398689/

24 4 0
文章推荐: python - 动态创建变量名
文章推荐: html - 为带有背景图像的