天天看点

Ubuntu编译linux2.6.x内核遇到的问题

编译linux2.6.x内核问题记录

Ubuntu16.04 内核版本4.15.10 gcc版本4.4(gcc版本问题不明确,也许高了也行)

编译linux2.6.10内核遇到的问题
  • gcc 版本太高 解决方案
  • 编译时代码中出现三次如下错误:error: array type has incomplete element type 未解决
编译Linux2.6.32内核遇到的问题
  • 编译时gcc版本为4.4
  • 出现如下错误
Can't use '!defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
           

解决方法是按照提示将对应行

defined()

删去 参考网址

  • make时使用命令

    make -j8 2> warn.log

    将错误和警告信息输入到日志文件

    -j8

    表示采用8个进程编译,使用几个进程根据CPU线程数确定。
  • make install时出现错误 参考网址
    Ubuntu编译linux2.6.x内核遇到的问题
    由于Ubuntu版本太高,尝试更换为Ubuntu14.04或更低
将系统版本更换为Ubuntu12.04, 内核版本3.x gcc版本为4.6
  • 编译Linux2.6.10内核时仍然出现了前面的错误
  • 按照正常步骤编译Linux2.6.39内核时成功编译并安装
  • 编译Linux2.6.18内核时遇到的问题及解决方案

继续阅读