• LINUX操作系统的内核编译内幕详解二


    5. Memory Technology Device(MTD)

      MTD设备支持。可不选。

      6. Parallel port support

      串口支持。如果不打算使用串口,就别选了。

      7. Plug and Play configuration

      即插即用支持。虽然Linux对即插即用目前支持的不如Windows好,但是还是选上吧,这样你可以拔下鼠标之类的体验一下Linux下即插即用的感觉。

      8. Block devices

      块设备支持。这个就得针对自己的情况来选了,简单说明一下吧:

      Normal PC floppy disk support:普通PC软盘支持。这个应该必选。

      XT hard disk support:

      Compaq SMART2 support:

      Mulex DAC960/DAC1100 PCI RAID Controller support:RAID镜像用的。

      Loopback device support:

      Network block device support:网络块设备支持。如果想访问网上邻居的东西,就选上。

      Logical volume manager(LVM)support:逻辑卷管理支持。

      Multiple devices driver support:多设备驱动支持。

      RAM disk support:RAM盘支持。

      9. Networking options

      网络选项。这里配置的是网络协议。内容太多了,不一一介绍了,自己看吧,如果你对网络协议有所了解的话,应该可以看懂的。如果懒得看,使用缺省选项(肯定要选中TCP/IP networking哦)就可以了。

      让我们看看,TCP/IP、ATM、IPX、DECnet、Appletalk……支持的协议好多哦,IPv6也支持了,Qos and/or fair queueing(服务质量公平调度)也支持了,还有kHTTPd,不过这些都还在实验阶段。

      10. Telephony Support

      电话支持。这个是什么东东?让我查查帮助,原来是Linux下可以支持电话卡,这样你就可以在IP上使用普通的电话提供语音服务了。记住,电话卡可和modem没有任何关系哦。

      11. ATA/IDE/MFM/RLL support

      这个是有关各种接口的硬盘/光驱/磁带/软盘支持的,内容太多了,使用缺省的选项吧,如果你使用了比较特殊的设备,比如PCMCIA等,就到里面自己找相应的选项吧。

      12. SCSI support

      SCSI设备的支持。我没有SCSI的设备,所以根本就不用选,如果你用了SCSI的硬盘/光驱/磁带等设备,自己找好了。

      13. IEEE 1394(FireWire)support 这个是什么?低版本的没有见过,看看帮助再说。原来是要Fireware硬件来提高串行总线的性能,我没有,不选了。

      14. I2O device support

      这个也不清楚,帮助里说是这个需要I2O接口适配器才能支持的,在智能Input/Output(I2O)体系接口中使用,又是要硬件,不选了。

      15. Network device support

      网络设备支持。上面选好协议了,现在该选设备了,可想而知,内容肯定多得很。还好还好,里面大概分类了,有ARCnet设备、Ethernet(10 or 100 Mbit)、Ethernet(1000Mbit)、Wireless LAN(non-hamradio)、Token Ring device、Wan interfaces、PCMCIA network device support几大类。

      我用的是10/100M的以太网,看来只需要选则这个了。还是10/100M的以太网设备熟悉,内容虽然多,一眼就可以看到我所用的RealTeck RTL-8139 PCI Fast Ethernet Adapter support,为了免得麻烦,编译到内核里面好了,不选M了,选Y。耐心点,一般说来你都能找到自己用的网卡。如果没有,你只好自己到厂商那里去要驱动了。

      16. Amateur Radio support

      又一个不懂的,应该是配置业余无线广播的吧,没有,不要了。

      17. IrDA(infrared)support

      这个要红外支持,免了。

      18. ISDN subsystem

      如果你使用ISDN上网,这个就必不可少了。自己看着办好了。

      19. Old CD-ROM drivers(not SCSI、not IDE) 做的可真周到,原来那些非SCSI/IDE口的光驱谁还在用啊,自己选吧,反正我是用的IDE的CD-ROM,不选这个。

      20. Character devices

      字符设备。这个内容又太多了,先使用缺省设置,需要的话自己就修改。把大类介绍一下吧:

      I2C support:I2C是Philips极力推动的微控制应用中使用的低速串行总线协议。如果你要选择下面的Video For Linux,该项必选。

      Mice:鼠标。现在可以支持总线、串口、PS/2、C&T 82C710 mouse port、PC110 digitizer pad,自己根据需要选择。

      Joysticks:手柄。即使在Linux下把手柄驱动起来意义也不是太大,游戏太少了。

      Watchdog Cards:虽然称为Cards,这个可以用纯软件来实现,当然也有硬件的。如果你把这个选中,那么就会在你的/dev下创建一个名为watchdog的文件,它可以记录你的系统的运行情况,一直到系统重新启动的1分钟左右。有了这个文件,你就可以恢复系统到重启前的状态了。

      Video For Linux:支持有关的音频/视频卡。

      Ftape, the floppy tape device driver:

      PCMCIA character device support:

      21. File systems

      文件系统。内容又太多了,老法子,在缺省选项的基础上进行修改。介绍以下几项:

      Quota support:Quota可以限制每个用户可以使用的硬盘空间的上限,在多用户共同使用一台主机的情况中十分有效。

      DOS FAT fs support:DOS FAT文件格式的支持,可以支持FAT16、FAT32。

      ISO 9660 CD-ROM file system support:光盘使用的就是ISO 9660的文件格式。

      NTFS file system support:ntfs是NT使用的文件格式。

      /proc file system support:/proc文件系统是Linux提供给用户和系统进行交互的通道,建议选上,否则有些功能没法正确执行。

      还有另外三个大类都规到这儿了:Network File Systems(网络文件系统)、Partition Types(分区类型)、Native Language Support(本地语言支持)。值得一提的是Network File Systems里面的两种:NFS和SMB分别是Linux和Windows相互以网络邻居的形式访问对方所使用的文件系统,根据需要加以选择。

      22. Console drivers

      控制台驱动。一般使用VGA text console就可以了,标准的80*25的文本控制台。

      23. Sound

      声卡驱动。如果你能在列表中找到声卡驱动那自然最好,否则就试试OSS了。

      24. USB supprot

      USB支持。很多USB设备,比如鼠标、调制解调器、打印机、扫描仪等,在Linux都可以得到支持,根据需要自行选择。

      25. Kernel hacking

      配置了这个,即使在系统崩溃时,你也可以进行一定的工作了。普通用户是用不着这个功能的。

      总算配置完了,现在存盘退出,当然你也可以把现在的配置文件保存起来,这样下次再配置的时候就省力气了。

      编译

      在繁杂的配置工作完成以后,下面你就可以自己到杯茶耐心等候了。与编译有关的命令有如下几个:

      #make dep

      #make clean

      #make zImage

      #make bzImage

      #make modules

      #make modules_install

      #depmod -a

      第一个命令make dep实际上读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而那些不需要;第二命令make clean完成删除前面步骤留下的文件,以避免出现一些错误;第三个命令make zImage和第四个命令make bzImage实现完全编译内核,二者生成的内核都是使用gzip压缩的,只要使用一个就够了,它们的区别在于使用make bzImage可以生成大一点的内核,比如在编译2.4.0版本的内核时如果使用make zImage命令,那么就会出现system too big的错误提示。建议大家使用make bzImage命令。

      后面三个命令只有在你进行配置的过程中,在回答Enable loadable module support (CONFIG_MODULES)时选了"Yes"才是必要的,make modules和make modules_install分别生成相应的模块和把模块拷贝到需要的目录中。

      严格说来,第七个命令和编译过程并没有关系,它是生成模块间的依赖关系,这样你启动新内核之后,使用modprobe命令加载模块时就能正确地定位模块。

      更新

      经过以上的步骤,我们终于得到了新版本的内核。为了能够使用新版本的内核,我们还需要做一些改动:

      #cp /usr/src/linux/System.map /boot/System.map-2.4.0test8

      #cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.4.0test8

      以上这两个文件是我们刚才编译时新生成的。下面修改/boot下的两个链接System.map和vmlinuz,使其指向新内核的文件:

      #cd /boot;rm -f System.map vmlinuz

      #ln -s vmlinuz-2.4.0test8 vmlinuz

      #ln -s System.map-2.4.0test8 System.map

      然后修改/etc/lilo.conf:

      #vi /etc/lilo.conf

      增加如下一段:

      image=/boot/vmlinuz-2.4.0test8

      label=linux240

      read-only

      root=/dev/hda2

      其中root=/dev/hda2一行要根据需要自行加以修改。运行:

      #/sbin/lilo -v

      确认对/etc/lilo.conf的编辑无误,现在重新启动系统:

      #shutdown -r now

      在机器重启后出现LILO时按TAB键,输入linux240,我们的新内核发挥作用了,好好享受吧。
  • 相关阅读:
    PHP识别二维码功能,php-zbarcode 安装
    《架构即未来》读后感(三)
    MVC设计模式案例分析
    SOA
    《架构即未来》读后感(二)
    基于网络拓扑及告警的故障根因定位系统实现及算法研究赛题需求分析
    《架构即未来》读后感(一)
    《大型网站技术架构》读后感(二)
    《一线架构师实践指南》读后感(三)
    《大型网站技术架构》读后感(三)
  • 原文地址:https://www.cnblogs.com/hnrainll/p/2075235.html
Copyright © 2020-2023  润新知