CentOS内核编译
2015-10-19 16:24
351 查看
第一步:下载内核源码:
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.gz
然后解压进入到解压后的目录
# tar -zxvf linux-2.6.29.tar.gz
# cd /usr/src/linux-2.6.29
第二步:开始编译
清理以前的编译痕迹
如果内核源码是刚解压缩出来的,可以跳过这一步,否则执行以下两条命令:
make mrproper
make clean
设置内核编译选项
命令如下:
cp /boot/config-`uname -r` .config
make menuconfig
执行该命令需要ncurses库,如果执行出错则执行如下命令安装ncurses:
yum install ncurses-devel
编译内核压缩镜像
make bzImage
编译会生成bzImage文件,对应于/boot目录下的vmlinuz文件,是压缩过的内核文件。启动加载时将该文件解压缩到内存中之后才能执行操作系统。
编译内核模块
make modules
内核在运行过程中,除需要内核文件之外,还需要加载一些外围模块(例如驱动程序)等才能运行。
安装内核模块
make modules_install
安装上一步中编译的内核模块,一般都会安装到/lib/modules目录下。
安装内核
make install
这句命令很简单,它会在/boot目录下生成vmlinux/System.map两个文件,并且在/boot/grub目录中生成menu.lst文件。有关menu.lst文件的修改方法请Google一下。
注:要是遇到找不到内核模块的错误,执行以下两个命令
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.29.1
cp System.map /boot/System.map-2.6.29.1
启动新的内核
修改/boot/grub/menu.lst文件,将新生成的默认启动项修改为刚生成的启动项,重启即可:
reboot
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.gz
然后解压进入到解压后的目录
# tar -zxvf linux-2.6.29.tar.gz
# cd /usr/src/linux-2.6.29
第二步:开始编译
清理以前的编译痕迹
如果内核源码是刚解压缩出来的,可以跳过这一步,否则执行以下两条命令:
make mrproper
make clean
设置内核编译选项
命令如下:
cp /boot/config-`uname -r` .config
make menuconfig
执行该命令需要ncurses库,如果执行出错则执行如下命令安装ncurses:
yum install ncurses-devel
编译内核压缩镜像
make bzImage
编译会生成bzImage文件,对应于/boot目录下的vmlinuz文件,是压缩过的内核文件。启动加载时将该文件解压缩到内存中之后才能执行操作系统。
编译内核模块
make modules
内核在运行过程中,除需要内核文件之外,还需要加载一些外围模块(例如驱动程序)等才能运行。
安装内核模块
make modules_install
安装上一步中编译的内核模块,一般都会安装到/lib/modules目录下。
安装内核
make install
这句命令很简单,它会在/boot目录下生成vmlinux/System.map两个文件,并且在/boot/grub目录中生成menu.lst文件。有关menu.lst文件的修改方法请Google一下。
注:要是遇到找不到内核模块的错误,执行以下两个命令
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.29.1
cp System.map /boot/System.map-2.6.29.1
启动新的内核
修改/boot/grub/menu.lst文件,将新生成的默认启动项修改为刚生成的启动项,重启即可:
reboot
相关文章推荐
- Linux Top 命令
- linux 密钥远程登录和防火墙设置
- linux下查看和添加PATH环境变量
- Linux中挂载NTFS格式的硬盘
- linux文件系统评估之inode
- linux下C编程(三)之 const 的值可以被修改
- centos彻底删除文件夹、文件命令(centos 新建、删除、移动、复制等命令)
- 提升Linux物理内存使用方法
- linux驱动学习笔记--头文件的说明
- Linux 远程复制文件
- 天嵌E8卡片电脑USBWIFI驱动linux移植
- 【Linux高频命令专题(21)】df
- Linux下Hadoop(伪分布) + Zookeeper + HBase(一个节点) 部署
- Linux 安装Telnet
- Linux 硬链接与软链接(符号链接)
- centos7扩展磁盘空间
- CentOS下tar解压 gz解压 bz2等各种解压文件使用方法
- Linux下jboss6.1.0日志输出设置
- 查看linux中某个端口(port)是否被占用(netstat,lsof)
- linux lsof详解