重新编译
1.核心的源程序: 我现在在用TLC, REDHAT也用过, SLACKWARE也用过. 无论哪一种, 都是把核心源程 序放到 /usr/src/linux 下, 因为有些别的应用程序在编译时好像也会从这个路径来引 用一些头文件之类. 一般来说这个 linux 目录都只是个符号连接, 有一点点像WIN下的 Shortcut, 而实际上它对应的目录可能是 /usr/src/linux-2.0.35 之类. RedHat的缺省 安装好像并不装源程序, 只有些头文件. 以现在的2.2.5 核心为例, 我装的时候就是这样(其实什么版本都一样 cd /usr/src rm linux # 这个linux只是个符号连接, 删掉它没事的. 可以 ls -l 看看, 如果看到这个: # linux -> linux-XXXXX, 就表示它是个连接而已. 原来的源程序在箭头后的目录. tar zxvf XXXXXXX/linux-2.2.5.tar.gz # 这个包解开后, 新核心的源程序就放在了新建立的linux目录下, 这可是个货真价 # 实的目录. mv linux linux-2.2.5 ln -s linux-2.2.5 linux # 按照惯例, 还是把目录另命个名, 再重新做个linux的符号连接 2.准备编译: 现在要做一些准备工作. 对于新释放出来的核心源程序也没啥好做的, 就打一个: cd /usr/src/linux make menuconfig
然后就会看到一个很友好的界面(在LINUX下...已经是很友好的了), 大致上有点像 WIN 9X安装时的选择安装项目. 这就是在配置核心, 选择哪些内容要, 哪些不要. 然后选EXIT退出来, 问是否保存修改时答YES. 然后会有一些提示. 如果看到了有叫你 "make dep", 就要打"make dep"先. 完了后就打 make bzImage. 如果提示信息中没有 叫你"make dep", 只有叫你 "make zImage", "make zdisk" 或 "make zlilo" 的, 就直接打 make bzImage 就行了.
一点说明: make dep 是作一些准备工作, make bzImage 则是开始编译生成核心. 而 make bzImage与make zImage的区别在于, 作成bzImage的核心压缩率比zImage 高, 核心就更小一些. make zdisk 与 make zlilo 是做别的用处的核心的.
然后就等吧(有得你等的). 一般从5分钟到半个钟头不等, 看你的机器了. 第一次编 译会 比较慢. 以后再改了配置后make就会快很多了.
等这个完了后一定还要 make modules 和 make modules_install.
make bzImage 完后会显示核心放在什么地方, 一般是/usr/src/linux/arch/i386/boot/ 下. 把bzImage拷到根下. 然后修改 /etc/lilo.conf, 照着原来的image = XXXXX来加上 image = /bzImage root = /dev/hda1 (这里视你的LINUX安装而定, 照你原有的改) label = linux read-only 把原来的 label = linux 改一下, 如 label = oldlinux. 把image = /bzImage 这一节加在原来的前面, 这样会自动作为缺省的核心. 你也可以在 LILO时打linux或oldlinux来启动不同的核心. 关于这一段, 也可以参考俺前面的"ALS007 发声经过". 最后, 切记切记, 一定要打个lilo来重新生成LILO程序.
好了, 重启... |