当前位置:  技术问答>linux和unix

我的也是内核编译问题,不能进入内核配置界面……详细如下:

    来源: 互联网  发布时间:2015-11-02

    本文导语:  一 首先将linux-2.6.14.3.tar.gz解压到/usr/src目录下,并建立符号链接linux-2.6指向linux-2.6.14.3 二 在/usr/include目录下,有三个目录(不是符号链接)asm、linux、scis,我将它们改名,然后建立符号链接asm、linux、scsi asm -> /usr/s...


首先将linux-2.6.14.3.tar.gz解压到/usr/src目录下,并建立符号链接linux-2.6指向linux-2.6.14.3


在/usr/include目录下,有三个目录(不是符号链接)asm、linux、scis,我将它们改名,然后建立符号链接asm、linux、scsi
asm -> /usr/src/linux-2.6/include/asm-i386/
linux -> /usr/src/linux-2.6/include/linux/
scsi -> /usr/src/linux-2.6/include/scsi/


进入/usr/src/linux-2.6目录,然后打入命令:make menuconfig,输出结果如下:
[root@linux linux-2.6]# make menuconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/split-include
In file included from /usr/include/linux/errno.h:4,
                 from /usr/include/bits/errno.h:25,
                 from /usr/include/errno.h:36,
                 from scripts/basic/split-include.c:26:
/usr/include/asm/errno.h:4:31: asm-generic/errno.h: No such file or directory
make[1]: *** [scripts/basic/split-include] Error 1
make: *** [scripts_basic] Error 2
不能进入内核配置界面


重新进入/usr/include目录下,删除asm、linux、scsi符号链接,并将原先改名的asm、linux、scsi目录重新改名为asm、linux、scsi


重新进入/usr/src目录,删除linux-2.6符号链接,直接进入目录linux-2.6.14.3,打入命令:
root@linux linux-2.6.14.3]# make menuconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/split-include
  HOSTCC  scripts/basic/docproc
  SHIPPED scripts/kconfig/zconf.tab.h
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/kxgettext.o
  HOSTCC  scripts/kconfig/mconf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/lex.zconf.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/mconf
  HOSTCC  scripts/lxdialog/checklist.o
  HOSTCC  scripts/lxdialog/inputbox.o
  HOSTCC  scripts/lxdialog/lxdialog.o
  HOSTCC  scripts/lxdialog/menubox.o
  HOSTCC  scripts/lxdialog/msgbox.o
  HOSTCC  scripts/lxdialog/textbox.o
  HOSTCC  scripts/lxdialog/util.o
  HOSTCC  scripts/lxdialog/yesno.o
  HOSTLD  scripts/lxdialog/lxdialog
scripts/kconfig/mconf arch/i386/Kconfig
#
# using defaults found in /boot/config-2.4.21-4.EL
#
/boot/config-2.4.21-4.EL:43: trying to assign nonexistent symbol MAX_USER_RT_PRIO
/boot/config-2.4.21-4.EL:44: trying to assign nonexistent symbol MAX_RT_PRIO
/boot/config-2.4.21-4.EL:51: trying to assign nonexistent symbol ACPI_ENABLE
/boot/config-2.4.21-4.EL:52: trying to assign nonexistent symbol ACPI_HT_ONLY
……
……
……
……
……下面都是类似于上面的输出……
……
最后能够进入配置界面:

 Linux Kernel v2.6.14.3 Configuration
 -------------------------------------------------------------------------------------------------- 
  +-------------------------------- Linux Kernel Configuration ---------------------------------+
  |  Arrow keys navigate the menu.   selects submenus --->.  Highlighted letters are     |   
  |  hotkeys.  Pressing  includes,  excludes,  modularizes features.  Press  |   
  |  to exit,  for Help,  for Search.  Legend: [*] built-in  [ ] excluded   module     |   
  |   module capable                                                                         |   
  | +-----------------------------------------------------------------------------------------+ |   
  | |                      Code maturity level options  --->                                  | |   
  | |                      General setup  --->                                                | |   
  | |                      Loadable module support  --->                                      | |   
  | |                      Processor type and features  --->                                  | |   
  | |                      Power management options (ACPI, APM)  --->                         | |   
  | |                      Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->                    | |   
  | |                      Executable file formats  --->                                      | |   
  | |                      Networking  --->                                                   | |   
  | |                      Device Drivers  --->                                               | |   
  | |                      File systems  --->                                                 | |   
  | |                      Profiling support  --->                                            | |   
  | |                      Kernel hacking  --->                                               | |   
  | |                      Security options  --->                                             | |   
  | |                      Cryptographic options  --->                                        | |   
  | |                      Library routines  --->                                             | |   
  | |                  ---                                                                    | |   
  | |                      Load an Alternate Configuration File                               | |   
  | |                      Save Configuration to an Alternate File                            | |   
  | +-----------------------------------------------------------------------------------------+ |   
  +---------------------------------------------------------------------------------------------+   
  |                                                                     |   
  +---------------------------------------------------------------------------------------------+  

为什么我第一次不成功,第二次可以???而且在第二次的输出中有这样一句:
# using defaults found in /boot/config-2.4.21-4.EL
这是什么意思啊……

|
注意你在升级内核从2.4-2.6,你会遇到很多麻烦,因为并不是编译安装成功了就万事大吉。
你需要看一个文章。

关于你问的头文件的问题,linux-kernel 和 linux-kernel-header 现在已经是分开的两个工程。已经不是简单的在/usr/include下面作到 /usr/src/kernel-version/include 的连接。二是分开的,原因很简单因为 kernel的头文件需要 /usr/include 的 glibc的头文件的支持。所以你需要下在单独的头文件放在/usr/include里面
2.6.14得编译步骤是

make menuconfig
make
make install 
然后拷贝 kernel .config Sysmap 到 /boot ,然后修改 /boot/grub/menu.lst就可以了。


|
在/usr/include目录下,有三个目录(不是符号链接)asm、linux、scis,我将它们改名,然后建立符号链接asm、linux、scsi
asm -> /usr/src/linux-2.6/include/asm-i386/
linux -> /usr/src/linux-2.6/include/linux/
scsi -> /usr/src/linux-2.6/include/scsi/


再加一个
asm-generic -> /usr/src/linux-2.6/include/asm-generic/

|
楼上的,根据linux kernel Team 的建议,直接引用/src/include的内容实际上是会出错的(虽然我编译也通过了,但是总是觉得怪怪的)

所以还是直接拷贝一份到/usr/include 里面较为稳妥

    
 
 

您可能感兴趣的文章:

  • CentOS 6内核升级:下载编译启用新内核版本详细过程
  • GCC3.4可以编译2.4内核吗 如何查看某版本内核是用哪个版本gcc编译的
  • Fedora Core 2自带的内核升级程序下载下来内核后,要不要再编译一遍内核?
  • [求教]内核加载模块后,这部分内容编译在内核里的吗?
  • 编译新内核后怎么进入原来内核
  • 关于如何把编译进内核的编译成模块
  • 不重新编译内核能修改内核函数吗?
  • 为什么我自己编译的内核比系统自带的内核大了10倍左右?
  • Linux 编译内核之后 没办法选择内核版本
  • 内核编译出现:没有编译规则/driver/pci/devlist.h。
  • *******是不是对内核模块编程然后再重新编译内核就可以把此模块整合到linux系统中
  • 修改内核代码问题:如何编译修改的单个文件而不用重建整个内核?
  • 想问一下,编译LINUX内核时,是否可以只编译其中的一个模块?
  • 新手的菜鸟问题:不同内核版本下编译的程序能否互相调用,是否需要在同一内核下重新编译.
  • 编译新内核时提示内核太大无法把装入软盘,如何解决?
  • 问一个小白问题,在交叉编译时,系统内核和开发板的内核有没有相关性?
  • 我现在要重新编译内核,要怎样才能保留原来的内核
  • 【求助】基于2.6.29内核编译的驱动程序能否应用于2.6.32内核的系统?
  • 请问在2.6的内核环境下编译2.4的内核有没有什么特殊的要求 iis7站长之家
  • intel e1000网卡无法加载,内核是2.4.28,想重新编译内核,应该注意哪些步骤!
  • 请问重新编译LINUX内核是否能将没有用的外设的驱动程序删除并减少内核占有内存的资源?请好心人仕指教!
  • 关于linux windows mac图形界面 内核的问题
  • 自定义内核模块禁止启动图形界面
  • 求救:在Redhat Linux 8.0下编译内核的问题!配置界面的字符错位!
  • 精简内核后无法启动界面
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux内核中影响tcp三次握手的一些协议配置
  • 进程内核栈和操作系统内核栈的关系
  • TCP协议四次断连过程介绍及Linux内核协议栈中相关设置项
  • Linux中内核线程不访问内核态地址空间?
  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • 2.6内核下编译2.4内核
  • linux内核中的likely宏和unlikely宏介绍及用法
  • 谁能提供kgdb内核补丁内核模块的下载
  • CentOS 6.5 下载地址及如何升级内核(kernel)版本到 3.10.28
  • 请问linux中如何判断内核是否已经启动。(在内核中写程序)
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • 内核模块跟内核版本不匹配????????
  • docker使用的技术之Container内核原理介绍
  • 请教:如何安装新内核(rpm包)而不同原来得内核冲突?? 在线等待!!
  • linux为什么要升级内核?升级内核有何作用?
  • 内核升级后,如何在新的内核中加载显卡驱动?
  • 内核源码和结果make过的内核源码有什么区别
  • 如何学好内核?学了内核能应用于哪方面?
  • 请问在2.6的内核环境下编译2.4的内核有没有什么特殊的要求
  • 内核进程间发送信号用哪个函数,如果没有这东西,那内核里异步通知用哪个东西
  • 初学内核编程,在内核态下怎么用socket通信?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3