内核版本更改会导致错误

时间:2015-11-21 02:54:27

标签: linux-kernel

我修改了Makefile中的内核版本

   VERSION = 3
   PATCHLEVEL = 12
   SUBLEVEL = 0
   EXTRAVERSION = -33-generic

虽然我希望3.12.0-33-generic。

但是,在成功构建内核之后,我在启动过程中发现了错误

Could not open moddep file /lib/modules/3.x.x.x-22-dirty/modules.dep.bin

我想知道为什么它会将'脏'附加到预期的内核版本。

使用“grep”命令后,我发现有两个文件表明我自己构建的内核版本在内核版本之后附加了“脏”。

/kernel-source/include/config/kernel.release
/kernel-source/generated/utsrelease.h
In the first file: 3.12.0-33-generic-dirty
In the second file: #define UTS_RELEASE "3.12.0-33-generic-dirty"

有没有解决这个问题?感谢。

====更新帖子====

我的步骤是在没有“-dirty”或“+”

的情况下获得预期的内核版本
  1. 将Makefile修改为以下

    VERSION = 3
    
    PATCHLEVEL = 12
    
    SUBLEVEL = 0
    
    EXTRAVERSION =
    
  2. 使用git命令提交所有更改

  3. Make menuconfig

  4. Make -j8 LOCALVERSION="-33-generic"

  5. 输出内核版本为3.12.0-33-generic

  6. 就是这样。

1 个答案:

答案 0 :(得分:1)

' -dirty'如果您的Linux内核存储库中存在未提交的更改,则会附加到内核版本。

要摆脱它,请提交所有未提交的更改。

或者,使用LOCALVERSION构建内核:

make LOCALVERSION="-33-generic"