自己编译redhat 9.0内核心得

redhat 9.0 kernel 2.4.20-8.tar.gz ­
 
自己编译redhat 9.0内核心得_第1张图片
­
1.先确定是升级内核还是用自己带的内核心,如果是升级你可以到www.kernel.org上下载内核. ­
然后把它#mv kernel-2.4.20-8.tar.gz /usr/src目录下. ­
­
2.然后如果是用自己带的内核,需要检查kernel, kernel-source,kernel-headers,rpm软件包是否被安装. ­
用#rpm -qa 软件包名确定是否安装,如果没有用自带的cdrom装用rpm -ivh 软件包名 ­
­
3.然后确定/usr/include/linux是否指向 /usr/src/linux/include/linux一些头文件,前提要把原来的linux符号链接给删除,cd /usr/src,rm linux删除符号链接.然后ln -s kernel-版本号 linux. ­
­
4.然后以上步骤好了之后然后进入/usr/src/linux目录 ­
­
5.最好vi Makefile把EXTRAVERSION最后的-8后面加上你喜欢的后缀比方xx这是一个内核心出现不同的变体以区别不同的内核版本. ­
­
6.然后cd ..回到上级目录就是/usr/src/linux目录,然后最好make mrproper清除以前编译过的文件,一般下载新的不需要但最好清楚一下避免一些麻烦,然后make menuconfig/xconfig config配置内核,我本人比较喜欢菜单形式的配置,就用第一个吧,然后配置好内核后保存,内核的配置网上比较多况且配置选项特多有几千个,有些可以编译到内核里去,有些可以不编译可以以模块modules形式以后加载这也是为了节约内存的使用.模块就是一些设备的驱动程序,有MTD子系统,一些网卡的驱动模块,一些fs文件系统模块,一些网络协议的模块,还有些程序调试模块反正挺多的.有些你根本用不到.但了解一些也是有好处的.配置好之后 ESC然后询问你是否保存就yes ­
其实你只要编译一次最好把隐藏的.config文件保存起来以后恢复有帮助.这个文件要用ls -a才能被看到. ­
­
7.make bzImage压缩过的映像.如果要arm就看ReadMe或Install文档吧在内核源代码下. ­
­
8.make modules编译模块,编译时候就慢慢等吧. ­
­
9.make modules_install安装编译好的内核心一般安装到/lib/modules/目录下 ­
­
8.最后把编译好的内核cp -rf /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-内核心版本的目录下(这个目录前提要自己创建. ­
9.然后cp -rf /usr/src/linux/System.mp /boot/System.map-内核版本号目录下需先创建目录 ­
­
接着rm System.map自身的链接,然后ln -s System.map-内核版本号目录下需先创建目录 System.map ­
10.接着mkinitrd /boot/initrd-内核心版本.img  内核版本好具体用发.看帮助在终端#mkinitrd就可以 ­
­
11.最后配置grub或lilo引导装载程序照着系统/boot/grub/grub.conf上面写,集体内容可以 ­
  title test标题 ­
  root (hd0,x) ­
  kernel /vmlinuz-内核心版本号/bzImage ro root=根分区所在区(/dev/xx)或opition ­
       initrd /initrd-内核心版本号 ­
­
  总结如果想了解grub或lilo最好多实验,有时候会error15的错误要不找不root根分区,要panic内核恐慌init=opition的错误.其实都是grub.conf配置文件的错误.多用grub的编辑模式修改然后就可以找出问题的所在.然后进系统修改保存即可. ­
  我写的内核编译文档难免会出错希望能提出宝贵的意见.­

你可能感兴趣的:(redhat,核心,编译,休闲,自己)