*********************************************************************** *以下步骤有很多都是很初级的命令或解释,因为偶是Linux新手, *在编译过程中走了很多弯路,花了大量时间找各种解决办法,所以 *把相应的命令都写了出来,希望对跟偶一样的才入门不久而又想 *编译内核的新手有所帮助! * * kilvon 05-Mar-2003 **********************************************************************
基本编译情况说明:偶目前的版本是: RedHat linux 8.0 (机器有双操作系统:linux和windows 2000) 内核版本是 2.4.18-14,硬件是笔记本compaq 的某一型号, 下载的内核版本是2.4.20(在www.kernel.org上可以找到), 推荐编译内核时使用高版本,而不是在以前的版本上编译, 原因见第7.1步的说明
在编译开始前,建议先在windows下用相关软件对硬件做一个 详细统计,包括硬件类型,厂家,芯片版本等等,特别是笔记本 和品牌机,因为二者很多部件都是OEM其它厂家的,并把它打印 出来以供配置内核时使用.(linux下也可以用:系统工具-> 硬件浏览器来查看)
另外建议在身旁准备几张纸和笔,随时把你认为重要的信息记下来, 当然包括错误信息了,以帮助以后判断和解决问题.
1.将内核源码包linux-2.4.20.tar.bz2 copy至/usr/src目录下: #cp linux-2.4.20.tar.bz2 /usr/src #cd /usr/src
2.将指向以前内核版本的symbol link删除 #rm -f linux-2.4
3.用以下命令解开压缩包 #bzip2 -d linux-2.4.20.tar.bz2 #tar -xvf linux-2.4.20.tar
4.创建新的symbol link以链接到刚解开的源码所在目录 #ln -s linux-2.4.20 linux-2.4
5.进入到以后编译时用的工作目录虾: #cd /usr/src/linux-2.4
6.该命令保证源代码目录下没有不正确的.o文件(即object文件,编译c语 言时生成的,目的是下一步编译成可执行码时link之用)以及文件的相互 倚赖关系.第一次编译刚下载的源码包不用此命令,但如果多次使用这 些源码编译内核,那么一定要先运行本命令. #make mrproper
7.为了不影响已经可用的内核(比如安装linux时装入的内核),现在需要 保存以前的可用的内核(以使得编译失败仍然可以"方便的"启动linux), 并且我们要对本次编译的内核标识一个容易辨认的标记,以下几步与 编译暂时无关.
7.1偶使用grub作为boot manager,所以要修改grub.conf文件, #cp /boot/grub/grub.conf /boot/grub/grub.conf.bck (建议有条件打印一份原始的grub.conf文件,原因见第7.4步) #emacs /boot/grub/grub.conf (emacs小提示: ctrl+ x +s 为保存结果,ctrl + x +c为关闭emacs, 删除n行文字为:先把光标放在要删除文字的起始处 ctrl + u,然后敲入要 删除的行数,比如4,最后ctrl + k)
下面是偶的grub.conf内容: default=1 timeout=10 splashimage=(hd0,6)/grub/splash.XPm.gz title Psyche (2.4.18-14 standard) root (hd0,6) kernel /vmlinuz-2.4.18-14.standard ro root=/dev/hda8 initrd /initrd-2.4.18-14.standard.img title Windows 2000 rootnoverify (hd0,0) chainloader +1
注意kernel...和initrd...两条语句,因为要与以下改动对应: #rm -f /boot/System.map
上一篇:多窗口页面Frame
下一篇:SMS中用Unicode编码发送中文
|