找回密码
 欢迎注册
查看: 14198|回复: 4

[原创] ArchLinux下编译内核简介

[复制链接]
发表于 2010-9-29 10:12:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
http://www.kernel.org
下载内核,最新的是2.6.35.6
tar xvf linux-2.6.35.6.tar.bz2展开
下面的某些操作必须root用户,推荐,现在su到root
进入目录,执行make menuconfig精简
注意,硬盘驱动不可以编译为模块,否则等着死机吧
精简时,可以在当前内核下执行
lsmod列出本机装载的模块,来作为依据,凡是没有的一律可以精简掉
每项都可以在选中后,使用?来查询说明,其中有对应的内核符号
该符号在lsmod中列出的,必须编译,没有的可以不选择
至于不是驱动模块的选择项,网上有取舍的文章,很多,可以查到
另外在首项Genral setup中的local Version下,建议输入自定义的字符,比如-custom
这样编译后的内核将以2.6.35.6-custom表示,以便和系统通用内核区别
选择后,保存配置
make bzImage -->生成arch/x86/boot/bzImage
make modules
make modules_install -->安装到/lib/modules/2.6.35.6-custom(或者你自己设定的版本符号)
下面生成initrd映像
mkinitcpio -k 2.6.35.6-custom -g kernel.custom.img --> k后跟你设定的版本符号, g后跟生成映像名,名字可以随意起

cp kernel.custom.img /boot
cp arch/x86/boot/bzImage /boot/vmlinuz.custom -->名字任意起

然后仿照grub启动菜单中的别的启动项,书写新内核启动项
重启,测试,有问题,切换到旧内核,重配置,重编译。如果有错误,推荐备份.config,删除目录后,重新解压缩,拷贝回.config后再来

附上我的.config
.config (63.78 KB, 下载次数: 4)

评分

参与人数 1威望 +6 鲜花 +6 收起 理由
wayne + 6 + 6 社区有你更精彩

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-9-29 10:23:27 | 显示全部楼层
直到新内核能启动到字符界面后
安装别的非内核驱动
比如N卡, A卡驱动,VirtualBox驱动等等
然后一切正常后,就可以修改grub的default到你的内核了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-9-29 10:28:13 | 显示全部楼层
编译一遍内核的时间是很短的
大部分时间花在配置内核上
和出错,重来

昨天
前几次,SCSI硬盘选择成模块,找不到/dev/sda*
后来,选择成内置的,找到/dev/sda*了
又找不到模块项,后来明白在
mkinitcpio -k上,-k要指定内核版本,否则,生成的模块不对的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-9-29 10:30:42 | 显示全部楼层
另外分区格式
/boot是单独分区时,一定是ext2格式的
那么分区ext2驱动必须是内置的,不能为模块
其他分区格式驱动可以编译为模块

如果,非单独分区,那么包含/boot的分区的格式的驱动,必须内置
而不能为模块

如果错了,grub根本不能root到内核
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-9-29 10:35:24 | 显示全部楼层
建议选择主分区是ext4或者JFS分区
都是日志文件系统,性能也不错
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-6-11 12:23 , Processed in 0.047546 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表