码迷,mamicode.com
首页 > 系统相关 > 详细

Linux 4.1内核编译报告

时间:2015-06-24 23:45:16      阅读:344      评论:0      收藏:0      [点我收藏+]

标签:

实验环境

Arch Linux on VirtualBox

下载内核

下载的内核压缩包:
技术分享

解压包

$ sudo tar -xvJf linux-4.1.tar.xz

进行设置

这里我使用了当前运行内核的默认设置。
拷贝正在运行的内核的配置文件(.config文件)到编译根目录。
$ zcat /proc/config.gz > .config
 
当然也可以手动设置
$ sudo make menuconfig
技术分享
(末尾参考资料一中有详细的说明)

编译内核

$ sudo make [-j 2]
后面的参数-j2表示,cpu要开启两个线程来编译内核,可以加快编译速度。
编译完成后的内核文件:
技术分享

安装模块

$ sudo make modules_install
 技术分享

将编译好的内核拷贝到/boot目录

$ cp -v arch/x86/boot/bzImage /boot/vmlinuz-YourKernelName
在这里YourKernelName为4.1:
$ cp -v arch/x86/boot/bzImage /boot/vmlinuz-4.1
技术分享

制作初始化内存盘

$ mkinitcpio -k FullKernelName /etc/mkinitcpio.conf -g /boot/initramfs-YourKernelName.img
可以通过 ls /lib/modules 命令查询到可用的FullKernelName:
技术分享
 
在这里FullKernelName为4.1.0-ARCH(如上图):
$ mkinitcpio -k 4.1.0-ARCH -c /etc/mkinitcpio.conf -g /boot/initramfs-4.1.img 
技术分享

[拷贝System.map]

$ cp System.map /boot/System.map-YourKernelName
在这里YourKernelName为4.1:
$ cp System.map /boot/System.map-4.1
$ ln -sf /boot/System.map-YourKernelName /boot/System.map
技术分享

设置启动项

 $ grub-mkconfig -o /boot/grub/grub.cfg
技术分享
我们可以看到grub自动添加了新的内核

重启

$ reboot 0

编译前后内核对比

编译前:
技术分享
编译后:
技术分享

参考资料

(感谢Arch-Linux的详细wiki文档)

Linux 4.1内核编译报告

标签:

原文地址:http://www.cnblogs.com/kitian616/p/4598819.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!