linux编译内核2.6.32.67

上传linux内核至主机,linux内核文件格式为tar.xz。

[root@centos home]# xz -d linux-2.6.32.67.tar.xz    
[root@centos home]# ls    
linux-2.6.32.67.tar

xz -d解压后,会删除tar.xz文件,仅留下tar包

 

[root@centos home]# tar xvf linux-2.6.32.67.tar -C /usr/src

展开归档文件至/usr/src目录。

 

[root@centos home]# cd /usr/src/    
[root@centos src]# ls    
debug  kernels  linux-2.6.32.67    
[root@centos src]# ls -a    
.  ..  debug  kernels  linux-2.6.32.67    
[root@centos src]# ln -sv linux-2.6.32.67/ linux    
`linux' -> `linux-2.6.32.67/'    
[root@centos src]# ll    
total 12    
drwxr-xr-x.  2 root root 4096 Sep 23  2011 debug    
drwxr-xr-x.  2 root root 4096 Sep 23  2011 kernels    
lrwxrwxrwx.  1 root root   16 Jul 29 05:30 linux -> linux-2.6.32.67/    
drwxrwxr-x. 23 root root 4096 Jun  3 23:25 linux-2.6.32.67

给linux-2.6.32.67目录创建软链接指向linux

 

[root@centos src]#  cd linux    
[root@centos linux]# ls    
arch     CREDITS        drivers   include  Kbuild  MAINTAINERS  net             samples   sound  virt    
block    crypto         firmware  init     kernel  Makefile     README          scripts   tools    
COPYING  Documentation  fs        ipc      lib     mm           REPORTING-BUGS  security  usr    
[root@centos linux]# pwd    
/usr/src/linux

 

[root@centos linux]# make menuconfig   #需要安装Development tools组包

出现如下选择界面,

image

当选择完毕后,

[root@centos linux]# ls -a    
.     .config  Documentation  .gitignore  Kbuild    MAINTAINERS  README          security  virt    
..     COPYING  drivers        include     kernel    Makefile     REPORTING-BUGS  sound    
arch   CREDITS  firmware       init        lib       mm           samples         tools    
block  crypto   fs             ipc         .mailmap  net          scripts         usr

当前目录会出现一个.config的隐藏文件。如果不想让之前选择生效,直接删除此文件即可。

 

我们也可以在当前内核的基础上编译内核。

[root@centos linux]# ls /boot    
config-2.6.32-504.el6.x86_64  initramfs-2.6.32-504.el6.x86_64.img  System.map-2.6.32-504.el6.x86_64    
efi                           lost+found                           vmlinuz-2.6.32-504.el6.x86_64    
grub                          symvers-2.6.32-504.el6.x86_64.gz    
[root@centos linux]# cp /boot/config-2.6.32-504.el6.x86_64 /usr/src/linux/.config    
cp: overwrite `/usr/src/linux/.config'? yes

将当前内核的config文件复制为.config文件,然后在.config文件的基础上进行编译。

[root@centos linux]# make menuconfig  

可以将内核版本号中加入自己的元素

image

其他自定义的选择完成后, 保存退出。

 

之后make

[root@centos linux]# make

[root@centos linux]# make modules_install

[root@centos linux]# make install

image

出现了如下报错,查找了相关错误,有博主说可以忽略。先暂时忽略。

image

查看grub中是否有该内核启动项。

 

init 6重启系统

启动界面

会发现多了个选项。选择新编译内核启动。

image

编译内核成功。

你可能感兴趣的:(linux,主机)