编译Linux内核小记

这篇博客记录了编译Linux内核的详细步骤,包括下载内核源码、配置、编译模块、安装内核和模块,以及更新initrd和Grub。提供了一种更新自定义内核的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值