Linux 内核编译
- 从Linux内核官网上下了一个最新的版本,解压到/usr/src中
下载文件后缀为.tar.xz 解压命令为
tar -xvf filename
- 执行make mrproper把可能对编译新内核时产生的干扰的文件和文件夹去掉
- 配置内核,确定.config
对这个config的配置就是对你编译新内核的配置,不同的系统有不同的配置方法。这步可以通过把以前的 config拷贝过来,再安装。
获得当前的config有两种方法:
1)从/boot/config-x这里拷贝到源文件夹中。
2)通过make oldconfig建立当前配置。
当然你也可以自己定制内核。定制工具有
make config(全部是文本,就是.config)
make menuconfig(比较好用也直观)我选择的也是这种方法
make xconfig(GUI方式,但需要QT库支持,Kde下使用)
make gconfig(GUI方式,但需要库支持,Gnome下使用)
- make 编译内核,需要很多时间
- make modules_install 安装这些模块
- 最后make install 进行安装
在实验过程中遇到的问题以及解决方法:
查看当前linux版本,供下载时参考,版本过早的内核(如提供的2.6版本)在编译时可能会因为编译器问题而报错,选择最新的4.10版本进行编译
unaem -a
使用make menuconfig无法打开界面,可能是命令行窗口太小,可全屏解决;遇到curses.h缺失,下载安装图形界面配置工具ncurses
tar zxvf ncurses-5.9.tar.gz cd ncurses-5.9 ./configure make make install
make编译时缺失openssl/ssl.h,安装openssl安装包
CentOS: $ yum install openssl-devel Ubuntu: $ apt-get install libssl-dev
dog/god说
Linux 内核的编译过程还是挺有意思的,遇到的问题也不是很难。差不多百度都可以找到解决方案,重要的是编译内核的经历。