【问题标题】:Latest linux kernel installation issue(rm: invalid option -- '0')最新的 linux 内核安装问题(rm: invalid option -- '0')
【发布时间】:2014-11-09 03:46:28
【问题描述】:

我已经从 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 克隆了最新的 linux 源代码

并使用 (make O=/usr/local/kernel) 编译此内核。

但是当我安装内核时出现以下错误,

# make O=/usr/local/kernel modules_install install make[1]: 进入目录 `/usr/local/kernel' rm: 无效选项 -- '0' 尝试“rm --help”以获取更多信息。 make[1]: *** [_modinst_] 错误 1 make: *** [子制作] 错误 2

【问题讨论】:

  • 显示失败的代码。如果您对 Makefile 语法不感兴趣,那么编程问答不是获得帮助的正确地方。
  • 查看Makefile代码github.com/torvalds/linux/blob/master/Makefile我只修改了EXTRAVERSION字段
  • 那么,究竟,您将EXTRAVERSION 更改为什么?在您更改之前构建是否失败?
  • 更改为“EXTRAVERSION = -myName”。在我的构建工作之前。然后我将提取最新的更改(git pull)并再次重建。但构建失败
  • 删除 Makefile 并下载一个新的,然后编译构建它。

标签: linux linux-kernel


【解决方案1】:

我今天(2020 年 1 月 24 日)遇到了同样的问题,经过一番搜索,我决定删除 Makefile 中 modinst 目标中每一行前面的 @。我立即发现了这个问题。如果您在额外版本中添加空格,则空格将出现在您的文件夹名称中。所以,如果你把额外的版本写成

EXTRAVERSION= -test[un-noticed-space-here]

您的模块文件夹名称也将包含该空格。为了避免这种情况,我尝试了以下方法

  1. 确保 Makefile 中版本行的末尾没有空格

  2. 做了“make kernelversion”并确保它没有任何空格字符

  3. 做过

     echo -n `make kernelversion`| wc
    

并通过比较 wc 输出和上一步的字符数再次确认上述观点

【讨论】:

    猜你喜欢
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多