编译Linux内核小记

编译Linux内核网上有很多介绍。

在此我也做下小记,以备后用。

1.下载内核:sudo  apt-get install linux-source

2.配置: make menuconfig 可以事先从/boot下copy一份默认配置到此文件夹。

转载一份说明,未曾尝试。

关于每个配置选项的作用,可以查看相应选项的帮助文档,需要具体配置的主要由以下几个方面:
1、在“Block layer”里,假如没有2TB的硬盘,就去掉:Support for Large Block Devices 。Support for Large Single Files 也不需要,很少有2TB的文件。
2、Bus options的选择:
Bus options (PCI, PCMCIA, EISA, MCA, ISA)
PCI support
PCI Express support 现在新买的机器基本上都是PCI Express了
ISA support 较新的新机器没有ISA设备,可以去掉
MCA support 去掉
NatSemi SCx200 support 去掉
PCI Hotplug Support
Support for PCI Hotplug (EXPERIMENTAL) 如果没有PCI热插拔设备,去掉
这里的选项可以考虑全部编译进内核,而不是以模块形式存在。
3、Device Drivers是重点,由于linux不但面向个人工作站,更多的是面向服务器的应用,所以可以把自己机器上没有的硬件全部去掉,而不用面面俱到。但是通用型的选项要慎重。
4、File systems
Filesystem in Userspace support 简称fuse。是必选的,如果你要用windows分区。
CD-ROM/DVD Filesystems
ISO 9660 CDROM file system support 一般选*
DOS/FAT/NT Filesystems
VFAT (Windows-95) fs support 有FAT32分区就选*吧
NTFS file system support 有NTFS分区就选*吧
NTFS write support 如果想对 NTFS分区进行写操作,选*
3.编译内核:sudo make bzImage  编译好的文件在这个make的最后会有输出。

4。编译模块:sudo make modules

5.安装内核: sudo make install 可在3之后后

6.安装模块:sudo make modules_install 

7.准备initd: sudo update-initranfs -c -k $version  此处$Version为新内核的版本号.

可参考 vim /etc/initramfs-tools 目录察看详细过程

另外可以通过:(A).gunzip initrd-3.2.9.img.gz  (B).cpio -id < initrd-3.2.9.img  (C).find . | cpio -H newc -o | gzip -9 > /boot/initrd-3.2.9.img 更新自定义文件

8。更新Grub: update-grub

你可能感兴趣的:(编译Linux内核小记)