LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 722|回复: 0

菜鸟编译内核的过程

[复制链接]
发表于 2008-1-3 14:31:00 | 显示全部楼层 |阅读模式
为了解决自动挂载u盘的乱码问题,顺便学些东西,我决定编译一次内核,以下是我编译内核的过程,写的有点罗嗦,高手别见笑哦.如有错误,欢迎各位指正

1.下载最新版的内核linux-2.6.23.12.tar.bz2,放到/root/kernelbuild,并解压之
cd /root/kernelbuild/linux-2.6.23.12

2.把当前内核的配置文件解压出来作为新内核的配置,这样我们就不用从头到尾的配置新内核了,只需在当前内核的配置上修修补补
zcat /proc/config.gz > .config(解压)
make oldconfig(载入.config,使之生效,它会询问你,直接安回车就可以了)

3.make menuconfig
我对内核的很多选项还不太了解,只能改些有把握的选项
General setup
----   Local version - append to kernel release
输入kernel的版本,比如我输入-version3,最终内核的版本就是2.6.23.12-version3
File Systems
----   DOS/FAT/NT FileSystems(这里主要是对windows文件系统的支持)
     --------  MSDOS fs support(这里用空格键标为*号,意思是把它编进内核)
--------       VFAT (Windows-95) fs support(标为*号)
       --------Default isocharset for FAT(这里输入utf8)
-------       NTFS file systems support(标为*号)
       --------NTFS write support(标为*号)
----    Native Language Support
    -------   Default NLS Option(输入UTF-8)
--------       Simplefiled Chinese Charset (CP936 ,GB2312)(标为*号)
不敢多改,等以后了解再改改其它的选项,好了,exit,保存

4.make && make modules_install

5.完了之后做以下几步:
cp arch/i386/boot/bzImage /boot/vmlinuz-version3
mkinitcpio -k 2.6.23.12-version3 -g /boot/kernel26-version3.img (这步的作用是根据内核版本2.6.23.12-version3,从/lib/modules/2.6.23.12-version3里生成一个文件/boot/kernel26-version3.img)
修改/boot/grub/menu.list,这里就不罗嗦了

6.先别重启,不然你会进不了X的,因为新内核没有安装nvidia模块
要为新内核安装nvidia模块,请准备好以下材料:
把/var/abs/extra/x11/nvidia/这个文件(没有就abs同步一下)夹拷贝到/root下
cd /root/nvidia
你会看到两个文件nvidia.install和PKGBUILD,接下来就是修改这两个文件
gedit nvidia.install
把原来的KERNEL_VERSION改为新内核的版本,比如我的使
KERNEL_VERSION='2.6.23.12-version3'
注意这里有两个KERNEL_VERSION,都要改
gedit PKGBUILD
修改_kernver变量,比如我的是
_kernver='2.6.23.12-version3'

7.好了,现在重启,进入新内核,闪几下,宣告X失败,别慌
cd /root/nvidia
makepkg -i -c
这样新内核就有nvidia的模块了
kill 掉gdm,再执行gdm,是不是就进去了.进去后你的U盘是不是没乱码了.
参考文章:
http://wiki.archlinux.org/index. ... ilation_From_Source
http://wiki.archlinux.org/index. ... _with_custom_kernel
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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