手把手教你配置最新LINUX-2.6.6内核

本文来自:Linux宝库 -- http://doc.linuxpk.com/41476.html如有不明白之处,欢迎参加社区讨论  下载内核源代码
  http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.gz
  放置到 /usr/src/下
  解压 tar zxvf linux-2.6.6.tar.gz
  #cd linux-2.6.6
  #make menuconfig (如果装了X11 可用Xconfig 命令) 配置内核 一定要选自己的网卡驱动!
  不选的为空 选的是*号 M 是编译为模块形式,日后可手动插入模块
  升级module-init-tools软件包
  要编译与正常运行新的内核你需要升级一些软件包,这些信息在源码目录下的Documentation/Changes文件中,请根据你的实际情况选择升级。
  特别要说明的是,因为2.4.x下的modutils工具包已经不在适合新的2.6.x内核, 必需将其升级到module-init-tools工具包.,我下载module-init-tools-3.0.tar.gz源码包的地方是:
  http://www.kernel.org/pub/linux/kernel/people/rusty/modules/module-init-tools-3.0.tar.gz
  接下来, 按照下列步骤安装module-init-tools工具包:
  tar -zxvf module-init-tools-3.0.tar.gz
  在module-init-tools-3.0目录下,
  # configure --prefix=/
  # make moveold
  # make all install
  # ./generate-modprobe.conf /etc/modprobe.conf
  命令"make moveold"将把系统原来的modutils工具程序改名为"*.old"(比如,lsmod.old等等). NOTE! 这是非常重要的一步, 千万不要省略. 这将使得你可以继续使用原有的linux-2.4.x系统, 因为在2.4.x系统下, 新的module-init-tools工具包实际上是倚赖原来"*.old"程序来加载内核模块. 如果忘记了这一步也不要紧张, 可以先下载并安装原来的modutils程序包, 然后按照上面的步骤重来一遍就可以了.
  新的module-init-tools工具包不再使用原来的/etc/modules.conf配置文件了, 而是使用新的配置文件/etc/modprobe.conf. 因此必需用命令"./generate-modprobe.conf /etc/modprobe.conf"来生成新的配置文件/etc/modprobe.conf.
  如果你使用devfs系统你还需要复制modprobe.devfs 到/etc目录下。
  当你升级完相关软件包之后,准备工作就算完成了,下面我们将进入到编译阶段。
  1. Code maturity level options
   代码成熟等级。此处只有一项:prompt for development and/or incomplete code/drivers,如果你要试验现在仍处于实验阶段的功能,比如khttpd、IPv6等,就必须把该项选择为Y了;否则可以把它选择为N。
  2. Loadable module support
   对模块的支持。这里面有三项:
   Enable loadable module support:除非你准备把所有需要的内容都编译到内核里面,否则该项应该是必选的。
   Set version information on all module symbols:可以不选它。
   Kernel module loader:让内核在启动时有自己装入必需模块的能力,建议选上。
  3. Processor type and features
   CPU类型。内容蛮多的,不一一介绍了,有关的几个如下:
   Processor family:根据你自己的情况选择CPU类型。
   High Memory Support:大容量内存的支持。可以支持到4G、64G,一般可以不选。
   Math emulation:协处理器仿真。协处理器是在386时代的宠儿,现在早已不用了。
   MTTR support:MTTR支持。可不选。
   Symmetric multi-processing support:对称多处理支持。除非你富到有多个CPU,否则就不用选了。
  4. General setup
   这里是对最普通的一些属性进行设置。这部分内容非常多,一般使用缺省设置就可以了。下面介绍一下经常使用的一些选项:
   Networking support:网络支持。必须,没有网卡也建议你选上。
   PCI support:PCI支持。如果使用了PCI的卡,当然必选。
   PCI access mode:PCI存取模式。可供选择的有BIOS、Direct和Any,选Any吧。
   Support for hot-pluggabel devices:热插拔设备支持。支持的不是太好,可不选。
   PCMCIA/CardBus support:PCMCIA/CardBus支持。有PCMCIA就必选了。
   System V IPC
   BSD Process Accounting
   Sysctl support:以上三项是有关进程处理/IPC调用的,主要就是System V和BSD两种风格。如果你不是使用BSD,就按照缺省吧。
   Power Management support:电源管理支持。
   Advanced Power Management BIOS support:高级电源管理BIOD支持。
  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
   文件系统。内容又太多了,老法子,在缺省选项的基础上进行修改。介绍以下几项:
   Quo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
共计8个压缩包 本压缩包是:part01.rar 出版社:人民邮电出版社 ·页码:368 页 ·出版日期:2008年 ·ISBN:7115187118/9787115187116 ·条形码:9787115187116 ·包装版本:1版 ·装帧:平装 ·开本:16 ·中文:中文 ·附带品描述:附光盘一张 ·市场价格:49元 内容简介 Linux内核Linux操作系统中最核心的部分,用于实现对硬件部件的编程控制和接口操作。《Linux2.6内核标准程》深入、系统地讲解了 Linux内核的工作原理,对Linux内核的核心组件逐一进行深入讲解。 全书共8章,首先讲解Linux系统的引导过程;然后对Linux内核的3大核心模块——内存管理、进程管理、中断和异常处理进行了深入的分析; 在此基础上,对时间度量、系统调用进行了分析和讨论;最后讲解了Linux内核中常见的同步机制,使读者掌握每处理器变量和RCU这两种新的 同步机制。 《Linux2.6内核标准程》适合Linux内核爱好者、Linux驱动开发人员、Linux系统工程师参考使用,也可以作为计算机及相关专业学生深入学 习操作系统的参考书。 引用: 目录 第1章 Linux内核学习基础 1 1.1 为什么研究Linux内核 2 1.1.1 Linux的历史来源 2 1.1.2 Linux的发展现状 3 1.1.3 Linux的前景展望 3 1.2 选择什么版本进行研究 3 1.3 内核基本结构 4 1.3.1 内核操作系统中的地位 4 1.3.2 Linux 2.6内核源代码目录树简介 5 1.3.3 Linux 2.6内核的新特性 8 1.4 如何阅读本书 9 1.4.1 内核探索工具 10 1.4.2 推荐阅读方法 12 第2章 引导过程分析 14 2.1 内核镜像的构建过程 15 2.1.1 编译内核的步骤及分析 15 2.1.2 内核镜像构建过程分析 16 2.2 系统引导过程分析 18 2.2.1 傀儡引导扇区 18 2.2.2 探测系统资源 21 2.2.3 解压内核镜像 35 2.2.4 进入保护模式 40 2.2.5 系统最终初始化 47 2.3 系统引导过程总结 47 第3章 内存管理 50 3.1 基础知识 51 3.1.1 存储器地址 51 3.1.2 分段机制 52 3.1.3 分页机制 59 3.2 内核页表的初始化过程 65 3.2.1 启用分页机制 65 3.2.2 构建内核页表 68 3.3 物理内存的描述方法 76 3.3.1 内存节点 77 3.3.2 内存区域 81 3.3.3 物理页框 85 3.4 物理内存的初始化过程 86 3.4.1 探测系统物理内存 87 3.4.2 初始化内存分配器 89 3.5 物理内存的分配与回收 101 3.5.1 伙伴分配算法 101 3.5.2 对象缓冲技术 103 3.6 内核地址空间 105 3.6.1 常规映射地址空间 105 3.6.2 固定映射地址空间 107 3.6.3 长久内核映射空间 109 3.6.4 临时内核映射空间 116 3.6.5 非连续映射地址空间 119 第4章 进程管理 128 4.1 进程与线程的概念 129 4.1.1 程序与进程 129 4.1.2 进程与线程 129 4.2 进程描述符 131 4.2.1 进程标识符 132 4.2.2 进程的状态 132 4.2.3 进程上下文 134 4.2.4 当前进程 139 4.3 进程的组织形式 143 4.3.1 进程标识符构成的哈希表 143 4.3.2 所有进程构成的双向链表 148 4.3.3 执行态进程组成的运行队列 149 4.3.4 阻塞态进程组成的等待队列 152 4.4 进程的创建过程 155 4.4.1 进程创建的接口函数 156 4.4.2 进程创建的处理过程 162 4.5 进程调度算法 177 4.5.1 进程的分类 178 4.5.2 进程优先级 178 4.5.3 时间片分配 181 4.5.4 进程调度时机 182 4.6 进程切换过程分析 183 4.6.1 选取合适进程 183 4.6.2 完成上下文切换 184 4.7 空闲进程的初始化 187 4.7.1 空闲进程的内核态栈 187 4.7.2 空闲进程的内存描述符 188 4.7.3 空闲进程的硬件上下文 190 4.7.4 空闲进程的任务状态段 190 第5章 中断和异常 192 5.1 基础知识 193 5.1.1 中断和异常的定义 193 5.1.2 中断和异常的分类 193 5.1.3 中断和异常的对比 194 5.2 处理机制 195 5.2.1 IA32架构下的处理机制 195 5.2.2 Linu

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值