|
写了一段简短的编译内核的方法步骤,希望能帮助初学者 ^^
安装好LINUX SOURCE和LINUX HEADER后就可以开始了
通常LINUX SOURCE会安装在 /usr/src/linux 或 /usr/src/linux.x.x.x (这里的x是你的内核版本)
进入这个目录,在terminal里打
cd /usr/src/linux
然后打入以下指令准备新的编译
make mrproper
到这里你有三个选择
1)如果你现在在X-window里并且有安装tcl-tk的话,可以用 'make xconfig'这个指令
2)想用选单的方式但又没装tck-tk那可以用 'make menuconfig'这个指令
3)想用问答式的界面可以用 'make config'
推荐用 1 或者 2, 因为3比较难控制,蛮多选项的,一问一答蛮头晕。。。 :{
好了,选好后就打入该指令吧,就是
make xconfig 或 make menuconfig 或 make config
然后就会出现关于内核调配的选项了,要说明的是在内核的选项里主要有三个选择,就是 y(yes), m(mount) 和 n(no)。
'y'的意思是把该选项直接编译入内核里
'm'是让该选项以外挂的方式载入,让某些可能会用到的特性,在需要时可外挂载入,而不需把它编译在内核里,这样的好处是让你可以控制内核在一定的大小。
'n'是取消支持该选项
还有一小部分是需要填入数字的,如果不确定的话那就使用默认值吧,会比较安全,也比较少出错。
选入你想支持的硬件或服务,这一部分蛮长的,要靠你自己了,呵呵!
当你设定好了你的内核后,打入以下指令
make dep
ok, 然后开始编译内核,打入以下指令
make bzImage (注意大小写)
然后现在要编译模组(modules)
make modules
编译完后,你要把当前的模组目录更名,不然你刚编译的新摸组在安装时会覆盖掉旧的,当然这也没什么,但最好是把旧的模组跟新的区分开来以避免不必要的麻烦。模组是安装在以下这个目录里
/lib/modules/x.y.z
最后的那个x.y.z是你的内核版本数字,比如说 '2.4.12'
现在你要把这个目录更明,比如说改名去 '2.4.12.old' 等,打入以下指令
mv /lib/modules/2.4.12 /lib/modules/2.4.12.old
好了,现在可以安装你的模组了。打入
make modules_install
安装完后,现在要安装你的内核
先去/boot里把你当前的内核更名,通常都是 'vmlinuz',这个挡通常是一个连结档,主要是让你把这个连结指向你想开机时载入的内核版本。不过需要注意的是 'vmlinuz '有些套件是放在 /vmlinuz 而不是在 /boot/vmlinuz里,如果是这样的话你就要稍微修改以下的指令。
cp /usr/src/linux/arch/boot/bzImage /boot
rm /boot/System.map
cp /usr/src/linux/System.map /boot
ln -s /boot/bzImage /boot/vmlinuz
最后一步,就是要update你的boot record,以便新内核在开机时能被载入。
这里我只能给予lilo的安装方法,因为grub我没怎么用过,也不知道怎么操作,所以用grub的朋友要查一查使用者手册了,抱歉!
先检查你的lilo设定挡看看有没有设定错误,
vi /etc/lilo.conf
其实主要也是检查看看System.map和vmlinuz两个挡有没有指对路径而已。
如果一切ok那就打如以下指令
lilo -v
如果安装顺利的话你会看到 linux added类似的字样,这样就搞定了,可以重启试试看了。^^
ps: 本篇是临时写的,如果有遗漏不足或错误的地方请各位大大帮忙指正一下,谢谢! |
|
|
|
|
|
|
|
发表于 13-5-2004 06:13 AM
|
显示全部楼层
我是用RH9的。上次在尝试编译内核时遇到一些问题:
就是在make xconfig后,有些items的选项(y,m,n)可以选,为什么有些items的选项(y,m,n),它不让我选?我曾经看到选项里有我要的webcam的driver,想选m它没反应,选y它又没反应,选n也不可以。这是什么缘故呢?谢谢! |
|
|
|
|
|
|
|
发表于 13-5-2004 09:01 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 21-5-2004 10:45 AM
|
显示全部楼层
请问怎样install linux source 和 header? |
|
|
|
|
|
|
| |
本周最热论坛帖子
|