linux内核编译遇到的问题总结

1、linux内核下载地址 http://www.kernel.org/pub/linux/kernel/  选择下载

      bz2解压缩:tar -xjvf linux-2.6.18.tar.bz2

      gz解压缩:tar zxvf linux-2.6.18.tar.gz

2、编译内核:

      参考http://hi.baidu.com/cxrg2012/item/4df535d36eecbf41ddf9bee4 或者 http://blog.sina.com.cn/s/blog_7e49bf5e0100y4sr.html

      简单来说:

make distclean
在内核源代码目录下
cp /boot/config-2.6.18-194.el5 ./.config
make menuconfig
make bzImage
make modules
make modules_install
mkinitrd initrd-2.6.29 2.6.29
cp arch/x86/boot/bzImage  /boot/vmlinuz-2.6.29
cp initrd-2.6.29 /boot/
修改
/etc/grub.conf

3、遇到的问题

3.1  make:gcc:command not found

       是因为系统没有安装gcc,centos可使用yum安装gcc

1
2
3
4
5
6
7
8
9
yum -y install gcc
yum -y install gcc -c++
yum install make
 
-- 或者
yum groupinstall "Development Tools"
 
-- 或者
yum install gcc gcc -c++ kernel-devel

3.2  make menuconfig 错误信息如下:

scripts/kconfig/lxdialog/dialog.h:32:20: 错误:curses.h:没有那个文件或目录
In file included from scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:97: 错误:expected specifier-qualifier-list before ‘chtype’
scripts/kconfig/lxdialog/dialog.h:187: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:193: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:195: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:196: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:197: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:198: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:200: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/checklist.c:31: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/checklist.c:59: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/checklist.c:95: 错误:expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/checklist.c: 在函数 ‘dialog_checklist’ 中:
scripts/kconfig/lxdialog/checklist.c:116: 错误:‘WINDOW’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:116: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
scripts/kconfig/lxdialog/checklist.c:116: 错误:所在的函数内只报告一次。)
scripts/kconfig/lxdialog/checklist.c:116: 错误:‘dialog’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:116: 错误:‘list’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:116: 警告:逗号表达式的左操作数不起作用
scripts/kconfig/lxdialog/checklist.c:129: 警告:隐式声明函数 ‘getmaxy’
scripts/kconfig/lxdialog/checklist.c:129: 错误:‘stdscr’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:130: 错误:‘KEY_MAX’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:131: 警告:隐式声明函数 ‘getmaxx’
scripts/kconfig/lxdialog/checklist.c:137: 错误:‘COLS’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:138: 错误:‘LINES’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:140: 警告:隐式声明函数 ‘draw_shadow’
scripts/kconfig/lxdialog/checklist.c:142: 警告:隐式声明函数 ‘newwin’
scripts/kconfig/lxdialog/checklist.c:143: 警告:隐式声明函数 ‘keypad’
scripts/kconfig/lxdialog/checklist.c:143: 错误:‘TRUE’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:145: 警告:隐式声明函数 ‘draw_box’
scripts/kconfig/lxdialog/checklist.c:146: 错误:‘struct dialog_color’ 没有名为 ‘atr’ 的成员
scripts/kconfig/lxdialog/checklist.c:146: 错误:‘struct dialog_color’ 没有名为 ‘atr’ 的成员
scripts/kconfig/lxdialog/checklist.c:147: 警告:隐式声明函数 ‘wattrset’
scripts/kconfig/lxdialog/checklist.c:147: 错误:‘struct dialog_color’ 没有名为 ‘atr’ 的成员
scripts/kconfig/lxdialog/checklist.c:148: 警告:隐式声明函数 ‘mvwaddch’
scripts/kconfig/lxdialog/checklist.c:150: 警告:隐式声明函数 ‘waddch’
scripts/kconfig/lxdialog/checklist.c:151: 错误:‘struct dialog_color’ 没有名为 ‘atr’ 的成员
scripts/kconfig/lxdialog/checklist.c:154: 警告:隐式声明函数 ‘print_title’
scripts/kconfig/lxdialog/checklist.c:156: 错误:‘struct dialog_color’ 没有名为 ‘atr’ 的成员
scripts/kconfig/lxdialog/checklist.c:157: 警告:隐式声明函数 ‘print_autowrap’
scripts/kconfig/lxdialog/checklist.c:164: 警告:隐式声明函数 ‘subwin’
scripts/kconfig/lxdialog/checklist.c:171: 错误:‘struct dialog_color’ 没有名为 ‘atr’ 的成员
scripts/kconfig/lxdialog/checklist.c:171: 错误:‘struct dialog_color’ 没有名为 ‘atr’ 的成员
scripts/kconfig/lxdialog/checklist.c:189: 警告:隐式声明函数 ‘print_item’
scripts/kconfig/lxdialog/checklist.c:192: 警告:隐式声明函数 ‘print_arrows’
scripts/kconfig/lxdialog/checklist.c:195: 警告:隐式声明函数 ‘print_buttons’
scripts/kconfig/lxdialog/checklist.c:197: 警告:隐式声明函数 ‘wnoutrefresh’
scripts/kconfig/lxdialog/checklist.c:199: 警告:隐式声明函数 ‘doupdate’
scripts/kconfig/lxdialog/checklist.c:202: 警告:隐式声明函数 ‘wgetch’
scripts/kconfig/lxdialog/checklist.c:210: 错误:‘KEY_UP’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:210: 错误:‘KEY_DOWN’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:220: 错误:‘FALSE’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:221: 警告:隐式声明函数 ‘scrollok’
scripts/kconfig/lxdialog/checklist.c:222: 警告:隐式声明函数 ‘wscrl’
scripts/kconfig/lxdialog/checklist.c:232: 警告:隐式声明函数 ‘wrefresh’
scripts/kconfig/lxdialog/checklist.c:293: 警告:隐式声明函数 ‘delwin’
scripts/kconfig/lxdialog/checklist.c:297: 错误:‘KEY_LEFT’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:298: 错误:‘KEY_RIGHT’ 未声明 (在此函数内第一次使用)
scripts/kconfig/lxdialog/checklist.c:310: 警告:隐式声明函数 ‘on_key_esc’
scripts/kconfig/lxdialog/checklist.c:312: 错误:‘KEY_RESIZE’ 未声明 (在此函数内第一次使用)
make[1]: *** [scripts/kconfig/lxdialog/checklist.o] 错误 1
make: *** [menuconfig] 错误 2

解决方法:

红帽或centos:安装ncurses-devel    #yum install -y ncurses-devel

Ubuntu需要安装libncurses5-dev   #apt-get install libcurses5-dev

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值