﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-嵌入式-文章分类-Linux内核技术资料</title><link>http://www.cnitblog.com/zouzheng/category/2082.html</link><description>要像阿甘一直向前奔跑！</description><language>zh-cn</language><lastBuildDate>Mon, 26 Sep 2011 11:19:45 GMT</lastBuildDate><pubDate>Mon, 26 Sep 2011 11:19:45 GMT</pubDate><ttl>60</ttl><item><title>Linux 无线网络技术: GPRS、GSM</title><link>http://www.cnitblog.com/zouzheng/articles/17407.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Wed, 27 Sep 2006 12:19:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/articles/17407.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/17407.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/articles/17407.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/17407.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/17407.html</trackback:ping><description><![CDATA[
作者：Sreekrishnan Venkateswaran <br /><br /><b>GSM 上的 Linux GPRS 和数据</b><br /><br />GPRS
是一个用于通过 GSM 传输数据的数据分组服务，是一种卓越的数字蜂窝标准。尽管 GSM 上的数据是线路交换的并且不管怎样都占用一个通道，但是
GPRS 上的数据是一直连接的（always-on）、分组交换（packet-switched）的数据流，用户根据使用付费。GSM
的传输速度一般是 9.6 kbps，而 GPRS 能够运行的速度为 56 kbps 到 170 kbps。 <br /><br />GPRS 和
GSM 芯片通常有一个到系统的 UART 接口。对于内置 GSM/GPRS 支持的母板（例如，一个带有连接到 UART 通道的 Siemen
MC-45 模块的母板），传统的串行驱动程序就能驱动这个链接。考虑 PCMCIA/CF 的形成因素（例如一张可选 GPRS
卡），serial_cs（是用于访问 PCMCIA
串行设备的普通卡服务驱动程序）能够允许其他操作系统把此卡当作一个串行设备。第一个未使用的串行设备（/dev/ttySx）被分配给此卡，然后此卡就
可以被当成串行设备访问。serial_cs 也可以通过全球定位系统 (GPS) PCMCIA 和 CF 卡模拟串行端口。针对 USB GPRS
调制解调器而言，USB-to-serial 转换器一般 USB 端口转换为虚拟串行端口，因此系统其他部分就会将它看作串行设备。 <br /><br />GPRS
网络使用 GGSN（GPRS 网关支持节点） 连接到一个外部网络（例如 Internet）。GPRS 设备类似于拥有扩展 AT
命令集的调制解调器，在进入数据模式之前必须使用 AT 命令定义一个上下文。上下文字符串看起来类似于清单 3 中给出的示例。 <br /><br />清单 3. 上下文字符串  <br /><br /><table bordercolorlight="black" bordercolordark="#FFFFFF" align="center" border="1" cellpadding="2" cellspacing="0" width="400"><tbody><tr><td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6"><pre>'AT+CGDCONT=1,"IP","internet.voicestream.com","0.0.0.0",0,0'</pre></td></tr></tbody></table><br /><br />在
这个示例中，1 代表上下文编号，IP 是数据分组类型，internet.voicestream.com 是接入点名称(APN)
字符串，0.0.0.0 意味着服务提供者选择 IP 地址，其他参数与数据和报头压缩有关。APN
字符串取决于服务提供者。一般不需要用户名和口令。 <br /><br />PPP 允许网络协议（比如
TCP/IP）在串行链路上运行。在无线网络的上下文中，PPP 可以使 TCP/IP 运行于 GPRS 上，数据通过 GSM、Bluetooth
RFCOMM 以及 IrDa COMM 进行传输。清单 4 给出了一种调用 PPP 后台进程 pppd 的公共语法。 <br /><br />清单 4. 调用 PPP 后台进程 pppd 的公共语法  <br /><br /><table bordercolorlight="black" bordercolordark="#FFFFFF" align="center" border="1" cellpadding="2" cellspacing="0" width="400"><tbody><tr><td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6"><pre>pppd ttySx call connection-script</pre></td></tr></tbody></table><br /><br />在
这个示例中，ttySx 是物理或虚拟的串行设备（PPP 运行其上），connection-script 是 /etc/ppp/peers/
目录中的一个文件，这个目录包含在 pppd 和服务提供者之间交换的用于建立链接的 AT 命令序列。建立链接并完成身份验证以后，PPP
将启动网络控制协议（Network Control Protocol，NCP）。IPCP (Internet Protocol Control
Protocol，Internet 协议控制协议) 是用于运行 IP 的 NCP。一旦 IPCP 成功通过 IP 地址，PPP 就开始与
TCP/IP 栈交互。 <br /><br />清单 5 给出了用于连接到 GPRS 服务提供者的 PPP 链接脚本示例，而清单 6 给出的是用于到 GSM 服务提供者的数据连接的连接脚本示例。  <br /><br />清单 5. 针对 GPRS 的 pppd 链接脚本示例（/etc/ppp/peer/gprs-script）  <br /><br /><table bordercolorlight="black" bordercolordark="#FFFFFF" align="center" border="1" cellpadding="2" cellspacing="0" width="400"><tbody><tr><td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6"><pre>115200 <br />connect "/usr/sbin/chat -s -v "" AT+CGDCONT=1,"IP", <br />"internet2.voicestream.com","0.0.0.0",0,0 OK AT+CGDATA="PPP",1" <br />crtscts <br />noipdefault <br />modem <br />usepeerdns <br />defaultroute <br />connect-delay 5000</pre></td></tr></tbody></table><br /><br />从操作系统的角度出发，GSM 上的数据类似于通过拨号调试解调器连接收发的数据。互联网服务提供商（ISP）的电话号码是使用 GSM 拨入的，并且会建立一个拨号连接。利用用户名和口令进行身份验证。  <br /><br />一旦 PPP 建立了与服务提供者的 IP 连接，TCP 应用程序例如 Web 浏览器就可以不加更改地在 GSM/GPRS 设备上运行。  <br /><br />gsmlib
项目为通过 GSM 发送语音和 SMS（Short Messaging Service，短信服务）提供了实用程序（请参阅 参考资料
了解更多关于 gsmlib 的信息）。它包括用于存取 Subscriber Identity Module (SIM)卡中的电话簿、收发
SMS 消息等功能的实用程序。 <br /><br />清单 6. 用于通过 GSM 传输数据的 pppd 连接脚本示例（/etc/ppp/peer/gsm-script）  <br /><br /><table bordercolorlight="black" bordercolordark="#FFFFFF" align="center" border="1" cellpadding="2" cellspacing="0" width="400"><tbody><tr><td class="code" style="font-size: 9pt;" bgcolor="#e6e6e6"><pre>115200 <br />connect '/usr/sbin/chat -s -v ABORT "NO CARRIER" ABORT "NO DIALTONE" ABORT "BUSY" "" AT OK  <br />ATDT&lt;phone_number&gt; CONNECT' <br />crtscts <br />noipdefault <br />modem <br />user "linux" <br />usepeerdns <br />defaultroute <br />connect-delay 5000</pre></td></tr></tbody></table><br /><br /><b>Linux Infrared Data</b><br /><br />Infrared Data (IrDa) 是一种用红外线无线传输数据的规范。主要用于连接膝上电脑或者将录像机或照相机这样的设备连接到计算机系统。  <br /><br />IrDa
的速度从 Serial Infrared (SIR) 的 115 kbps 到 Very Fast Infrared (VFIR) 的 16
Mbps。大多数处于 SIR 模式的 IrDa 芯片是 UART 16650 兼容的（16650 是一种公共 PC UART），因此传统
Linux 串口驱动程序可以充当链路级别的驱动程序。IrDa 行的规范实现 —— IrTTY
(drivers/net/irda/irtty.c)，使串行驱动程序驱动 SIR。IrPORT
驱动程序（drivers/net/irda/irport.c）代替了 IrTTY 和串行驱动程序，并提供更好的设备控制。与串行驱动器不兼容的
IrDa 芯片有自己的设备驱动程序。例如，NSC PC87108 芯片组就使用自己的驱动程序（nsc-ircc.c）。与上面讨论到的用于
USB Bluetooth 设备的 hci-usb 驱动程序类似，irda-usb.c 设备驱动程序支持 USB IrDa FIR 软件狗。 <br /><br />IrLAP
是负责 IrDa 设备发现、重传以及流控制的链路存取协议层。IrLMP 链路管理层和 Tiny 传输协议层（TinyTP）驻留于 IrLAP
之上。而它们之上是 IrCOMM 和 IrLAN 层。IrCOMM（在 net/irda/ircomm/
中实现）提供串行模拟，使运行于串行端口（比如终端仿真器）上的应用程序不加更改地在 IrDa 栈上运行。IrLAN（在
net/irda/irlan/ 中实现）提供使 TCP/IP 直接运行于 IrDa 栈之上的虚拟网络接口。IrLAN 代码使用
register_netdev 将太网设备注册到 Linux 网络层，使用 netif_rx 向 Linux IP 栈发送数据（与对 WLAN
驱动程序和 Bluetooth BNEP的解释类似）。IrCOMM 与 Bluetooth RFCOMM 相似，而 IrLAN 则类似于
Bluetooth BNEP。 <br /><br />IrOBEX 是建立在 TinyTP 之上的一个简单协议，它允许传输二进制数据。IrOBEX 的扩展定义了不同数据对象的传输。  <br /><br />为了在 Linux 上应用 IrDa 协议，必须安装 IrDa 实用程序（如 irattach），它是作为 Linux IrDa 项目的一部分开发的。  <br /><br />性能问题  <br /><br />网络性能取决于特定载体网络的特征。例如，GPRS 的带宽取决于使用的代码模式，而 Bluetooth 的性能受 L2CAP 层的网段的影响。对于 WLAN 工作站与接入点之间的通信，帧确认会降低带宽, 使用同一接入点的其他工作站的数量也会带来同样影响。  <br /><br />
无线网络的特征（比如低且波动的带宽和高延迟）会歪曲 TCP
度量和传输策略。尽管无线网络中的大多数损耗来自信号衰退、干扰以及连接中断等因素，但是 TCP 假定这些损耗与拥塞有关，
因此它摒弃了降低网络流量的算法。有多种项目用来调整 TCP 和 Web 浏览器的行为以适应无线网络。 <br /><br />结束语  <br /><br />在本文中，您浏览了是针对包括 WLAN、Bluetooth、GPRS、GSM 和 IrDA 在内的流行的无线技术的 Linux 设备驱动程序和网络协议层。还通过跟踪相应的代码路径和讨论相关的用户空间工具，了解到不同的无线设备如何在 Linux 中工作。  <br /><br />现在，有了对 Linux 上提供的对各种无线技术、网络技术以及总线技术的核心支持的理解，您可以修补多种具有不同形成因素的无线设备,开发启用不被支持的设备所需的 Linux 内核代码。  <br /><br />关于作者  <br /><br />Sreekrishnan Venkateswaran 拥有印度坎普尔市印度科技学院的计算机科学硕士学位。他从 1996 年 2 月开始为 IBM India 工作。 他的兴趣包括设计设备驱动程序和网络协议。可以通过 <a href="mailto:s_krishna@in.ibm.com">s_krishna@in.ibm.com</a> 与 Sreekrishnan 联系。<br /><br />全文出自 : <a href="http://www-900.ibm.com/developerWorks/cn/linux/index.shtml">IBM developerWorks 中国网站</a><img src ="http://www.cnitblog.com/zouzheng/aggbug/17407.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2006-09-27 20:19 <a href="http://www.cnitblog.com/zouzheng/articles/17407.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在redhat 9上编译linux 2.6.11</title><link>http://www.cnitblog.com/zouzheng/articles/15071.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Thu, 10 Aug 2006 07:59:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/articles/15071.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/15071.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/articles/15071.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/15071.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/15071.html</trackback:ping><description><![CDATA[
		<font id="zoom" class="f14">
				<span id="text999">一 编译安装前<br /><br />1、备份数据<br /><table style="margin: 10px 0px 3px 7px;" align="left" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td><span id="ad_qqread_mid_big"><script type="text/javascript"><!--              
google_ad_client = "pub-1572879403720716";              
google_ad_width = 336;              
google_ad_height = 280;              
google_ad_format = "336x280_as";              
google_ad_type = "text_image";              
google_ad_channel ="6686853775";              
google_alternate_ad_url ="http://www.qqread.com/0000js/google336.htm";              
google_color_border = "EDF0F5";                       
google_color_bg = "EDF0F5";              
google_color_link = "0000ff";              
google_color_url = "FF3366";              
google_color_text = "000000";              
//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script><iframe name="google_ads_frame" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-1572879403720716&amp;dt=1155206815009&amp;lmt=1154540929&amp;alternate_ad_url=http%3A%2F%2Fwww.qqread.com%2F0000js%2Fgoogle336.htm&amp;prev_fmts=468x15_0ads_al_s&amp;format=336x280_as&amp;output=html&amp;channel=6686853775&amp;url=http%3A%2F%2Fwww.qqread.com%2Funix%2Ft655116061.html&amp;color_bg=EDF0F5&amp;color_text=000000&amp;color_link=0000ff&amp;color_url=FF3366&amp;color_border=EDF0F5&amp;ad_type=text_image&amp;ref=http%3A%2F%2Fwww.google.cn%2Fsearch%3Fhl%3Dzh-CN%26q%3D2.6kernel%2Busb%26btnG%3DGoogle%2B%25E6%2590%259C%25E7%25B4%25A2%26meta%3Dlr%253Dlang_zh-CN&amp;cc=9&amp;u_h=768&amp;u_w=1024&amp;u_ah=714&amp;u_aw=1024&amp;u_cd=24&amp;u_tz=300&amp;u_his=1&amp;u_java=true&amp;u_nplug=2&amp;u_nmime=3" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" frameborder="0" height="280" scrolling="no" width="336"></iframe></span></td></tr></tbody></table>    其实没有必要，就是借机整理一下自己的东西，平时做好归纳总结，可以省略，因为如果新内核启动出错，可以从旧的内核启动，在<br /><br />默认情况下，<a href="http://www.qqread.com/keywords/linux.html" target="_blank">linux</a> 2.6.11安装后在grub的菜单里还是旧的为默认选项。<br />2、获取新的内核源码<br />    一般当然从官方网站www.kernel.org或者它的mirror站点去下载，其他的网站一个是没有必要，一个是防人之心（怕被该过），新的<br /><br />内核包大概30多兆，下载要一段时间，这之间随便你干什么。<br />3、解包、运行前准备<br />    使用root用户在/usr/src/目录下解开源码包：tar jxf linux-2.6.11.7.tar.bz2<br />    养成一个好的习惯，先看软件带的文档，看看README和Documentation/Changes文件，确定编译运行2.6内核需要的最小<a href="http://www.qqread.com/keywords/system-software.html" target="_blank">系统软件</a>要求<br /><br />。一般redhat 9能够满足，但是需要注意的是module-init-tools 0.9.10这个软件包，使用命令 depmod -V 查看版本信息。从下面的两个网址<br /><br />的其中一个获得新的包：<br />        http://www.kernel.org/pub/linux/kernel/people/rusty/modules/module-init-tools-3.0.tar.gz<br />        http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.0.tar.gz<br />    新的版本是3.0，因为2.4的内核模块的处理和2.6内核模块处理的改变很大，基本的处理模式都变了(很多原先在用户态下由modutils<br /><br />处理的工作都放到内核里去完成了)，所以使用了以前的方式，才有了该工具包的版本会从0.9.15一下跳到3.0这么大的跨度。<br />    安装module-init-tools工具包:<br />        # configure --prefix=/<br />        # make moveold                    # {重要}保存旧版的模块工具，以便2.4使用<br />        # make all install<br />        # ./generate-modprobe.conf /etc/modprobe.conf    # module-init-tools工具包使用的新的配置文件<br /><br />二 编译安装中<br /><br />4、配置、编译和安装新的内核<br />    现在终于可以从事实质的一步了，有些...<br />    新内核在Makefile方面的改动很大, "make menuconfig"和"make xconfig"继续存在, 但是"make xconfig"被改写了, 不再使用原来的<br /><br />Tcl/Tk语言, 而是基于QT库了. 新增加了"make gconfig", 它是基于GTK库的. "make xconfig"和"make gconfig"比原来更强大而且更易于使用<br /><br />了. 但是, 好像还不太稳定... <br />    我还是用我最常用的"make menuconfig"来配置（由于我不是用root来配置编译内核，为了保持源码的完整和默认的配置信息，所以我<br /><br />在我的一般用户的目录下建立了一个专门用来编译内核的目录：/home/user/buildkernel，所以我用的命令make后面都带有参数“O=/home/use<br /><br />r/buildkernel”，即配置命令为“make O=/home/user/buildkernel menuconfig”）：<br />    按照自己的需要选择相应的配置选项，在这里提几点:<br />    "Loadable Module support"选项, 一定要选上"Module unloading"和"Automatic kernel module loading"这两个选项.<br />    "Processor type and features"选项, 一定要选上"Preemptible Kernel"选项, 这是2.6.x内核优于2.4.x内核的重要原因之一.<br />    "Block Devices"的配置, 一定要选上对loopback和ramdisk的支持.<br />    "Multi-device support(RAID and LVM)", 要选上"device mapper".<br />    "Input device support", 记得要选上"Keyboards"和"Mice"的支持.<br />    "Graphics support", 要选上对frame buffer的支持.<br />    ALSA, 要选上"OSS API emulation"选项. OSS可以不用了.<br />    USB, 能选的都选上吧 :-)<br />    文件系统, 选上常用的那几种就可以了. 如果要体验sysfs的话, 要选上对sysfs的支持.<br />    配制好内核后, 就可以直接编译了, 在2.6中"make dep"这一步已经不再需要了。下面的命令为：<br />    通常的命令                我使用的命令<br />    $ make                    # make O=/home/user/buildkernel<br />    下面需要root用户操作：<br />    # make modules_install install        # make O=/home/user/buildkernel modules_install install<br />    安装后: <br />        (1)把压缩内核映象拷贝到/boot目录下, 并创建相应的System.map符号链接;<br />        (2)修改bootloader的配置文件; <br />        (3)调用mkinitrd程序创建内核的initrd映象；<br />        (4)对于GRUB而言, 将在/boot/grub/grub.conf配置文件增加如下类似的配置行:<br />        title Red Hat Linux (2.6.11.7)<br />                root (hd0,0)<br />                kernel /vmlinuz-2.6.11.7 ro root=LABEL=/    #有些文章说2.6不支持LABEL参数，但是在这个版本就支持了<br />                initrd /initrd-2.6.11.7.img<br />    可以重起使用新的内核了。但是有些软件需要调整。<br /><br />三 编译安装后<br /><br />5、rpm的问题<br />    在2.6内核中，rpm会提示如下错误：<br />        rpmdb: unable to join the environment<br />        error: db4 error(11) from dbenv-&gt;open: Resource temporarily unavailable<br />        error: cannot open Packages index using db3 - Resource temporarily unavailable (11)<br />        error: cannot open Packages database in /var/lib/rpm<br />        no packages<br />    解决方案有：<br />    1)在内核中打开BSD process accounting选项能够解决这个问题。<br />    2)也可以设定如下的环境变量来解决问题：<br />         export LD_ASSUME_KERNEL=2.2.5 <br />    3)也可以下载安装新发布的rpm软件包。<br /><br />    通过这个途径也可以解决realplay的相同问题。<br /><br />    在原来的redhat 9中的glibc有问题，最好升级glibc：<br />    ftp://ftp.rpmfind.net/linux/redhat/updates/9/en/os/i386/glibc-2.3.2-27.9.i386.rpm<br />    升级完后，还需要升级如下包：<br />    ftp://ftp.rpmfind.net/linux/redhat/updates/9/en/os/i386/glibc-common-2.3.2-27.9.i386.rpm<br />    ftp://ftp.rpmfind.net/linux/redhat/updates/9/en/os/i386/glibc-devel-2.3.2-27.9.i386.rpm<br />    ftp://ftp.rpmfind.net/linux/redhat/updates/9/en/os/i386/glibc-utils-2.3.2-27.9.i386.rpm<br /><br />    可能要用到命令： rpm -e 删除旧版； rpm -Uvh --force 来安装新版。<br /><br />6、关于支持HotPlug<br />    Hotplug主要适用于无线设备的正常使用。首先需要在内核中配置hotplug的支持(CONFIG_HOTPLUG)。然后, <br /><br />由于/proc/ksyms改名为/proc/kallsyms，所以必需修改启动脚本/etc/rc.sysinit中的/proc/ksyms。但是为了兼容原有的linux-2.4.x系统, <br /><br />可以加上下面几行:<br />#<br /># ----- KERNEL 2.6.x support ------<br /># This is for compatibility between kernel-2.4.x and kernel-2.6.x<br />#<br />UNAME=`uname -r`<br />KERNELVER=$<br />if [ "$KERNELVER" = "2.6" ]; then<br />#<br /># This is kernel-2.6.x<br />#<br />KSYMS=/proc/kallsyms<br />else<br />#<br /># This is kernel-2.4.x<br />#<br />KSYMS=/proc/ksyms<br />fi<br />然后, 把rc.sysinit文件中所有出现/proc/ksyms的地方都换成"$KSYMS"变量引用。<br />    配置好后, 还必需下载hotplug的用户态辅助工具包:http: <br /><br />//www.kernel.org/pub/linux/utils/kernel/hotplug/hotplug-2004_03_11.tar.gz. 解开这个包以后, 直接"make install"就可以了. 它将产<br /><br />生/etc/hotplug/配置目录.<br /><br />7. 体验sysfs<br />    首先, 创建目录/sys:<br />    # mkdir /sys<br />    然后, 按照下列步骤修改启动脚本/etc/rc.sysinit文件:<br /><br />    找到行: mount -f /proc", 在下面增加:<br />if [ "$KERNELVER" = "2.6" ]; then<br />mount -f /sys<br />fi<br />    找到行: action $"Mounting proc filesystem: " mount -n -t proc /proc /proc, 在其下面增加这样一行:<br />#<br /># Mount /sys for kernel-2.6.x<br />#<br />if [ "$KERNELVER" = "2.6" ]; then<br />action $"Mounting sysfs filesystem: " mount -n -t sysfs /sys /sys<br />fi<br />    接下来, 在/etc/fstab文件中, 加入这样一行:<br />none /sys sysfs defaults 0 0<br />    最后, 修改/etc/init.d/halt脚本中的halt_get_remaining函数:<br />    将:<br />    awk ' ~ /^/$|^/proc|^/dev/<br />    改为:<br />    awk ' ~ /^/$|^/proc|^/sys|^/dev/<br /><br />8. 支持USB设备<br />    在linux -2.6.x的USB驱动模块的名字已经改变了, 所以由此引起的问题多多......<br />    对应于USB-2.0的host控制器的内核模块名字仍然是ehci-hcd<br />    对应USB-1.1的host控制器的内核模块名字已经从usb-ohci改为ochi-hcd<br />    对应于通用USB host控制器的内核模块名字已经从usb-uhci该为uhci-hcd。<br />    但是，在安装module-init-tools程序包时生成的/etc/modprobe.conf配置文件却仍然使用usb-ohci这个名字。即：<br />    alias usb-controller usb-ohci<br />    alias usb-controller1 ehci-hcd<br />    因此, 要把它改为:<br />    alias usb-controller ohci-hcd<br />    alias usb-controller1 ehci-hcd<br />    如果不做这样的修改, 那么使用USB-1.1 host控制器的机器在启动内核的时候将找不到相应的驱动模块.<br />    支持USB键盘的模块名字也从keybdev变为usbkbd<br />    支持USB鼠标的模块名字也从mousedev改为usbmouse<br />    因此, 我们必需修改启动脚本/etc/rc.sysinit文件. 同时为了兼容原有的2.4.x系统, 我们在脚本的一开始定义两个变量:<br />#<br /># ----- KERNEL 2.6.x support ------<br /># This is for compatibility between kernel-2.4.x and kernel-2.6.x<br />#<br />UNAME=`uname -r`<br />KERNELVER=$<br />if [ "$KERNELVER" = "2.6" ]; then<br />#<br /># This is kernel-2.6.x<br />#<br />KSYMS=/proc/kallsyms<br />KEYBDEV_NAME=usbkbd<br />MOUSEDEV_NAME=usbmouse<br />else<br />#<br /># This is kernel-2.4.x<br />#<br />KSYMS=/proc/ksyms<br />KEYBDEV_NAME=keybdev<br />MOUSEDEV_NAME=mousedev<br />fi<br />    然后, 把/etc/rc.sysinit脚本文件中出现keybdev和mousedev的地方都改为$KEYBDEV_NAME和$MOUSEDEV_NAME。    <br /><br />把脚本文件/etc/rc.sysinit中的needusbstorage部分从:<br />needusbstorage=<br />if [ $usb = "1" ]; then<br />needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /proc/bus/usb/devices 2&gt;/dev/null`<br />LC_ALL=C grep 'hid' /proc/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe hid 2&gt; /dev/null<br />action $"Initializing USB keyboard: " modprobe $KEYBDEV_NAME 2&gt; /dev/null<br />action $"Initializing USB mouse: " modprobe $MOUSEDEV_NAME 2&gt; /dev/null<br />fi<br />    改为:<br />needusbstorage=<br />if [ $usb = "1" ]; then<br />if [ "$KERNELVER" = "2.6" ]; then<br />needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /sys/bus/usb/devices 2&gt;/dev/null`<br />LC_ALL=C grep 'hid' /sys/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe hid 2&gt; /dev/null<br />else<br />needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /proc/bus/usb/devices 2&gt;/dev/null`<br />LC_ALL=C grep 'hid' /proc/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe hid 2&gt; /dev/null<br />fi<br />action $"Initializing USB keyboard: " modprobe $KEYBDEV_NAME 2&gt; /dev/null<br />action $"Initializing USB mouse: " modprobe $MOUSEDEV_NAME 2&gt; /dev/null<br />fi<br /><br />9. 其它<br />防火墙iptables需要升级。<br />关于声卡的问题, 可以参阅参考文档[2]和[6]。<br />关于在linux-2.6.x系统上运行vmware的问题, 请参阅参考文档[2]和[6]。<br /><br />10. 参考文档<br />[1] Kernel 2.6.x, the new breed: http://linuxbooks.pananix.com/kernel2.6.html<br />[2] Upgrading RH9 to 2.6.0-test4: http://www.fearthecow.net/index.pl?section=guest&amp;page=kernel<br />[3] HowTo Upgrade To The 2.6 Kernel: http://kerneltrap.org/node/view/799<br />[4] Building Linux Kernel 2.6 on Red Hat 8: http://www.sabalsoftware.com/article_buildingKernel26OnRedhat8.php<br />[5] Migrating to Linux kernel 2.6 on recent Redhat systems: http://linux-sxs.org/upgrading/migration26.html<br />[6] Migrating to Linux Kernel 2.6: http://thomer.com/linux/migrate-to-2.6.html </span>
		</font>
<img src ="http://www.cnitblog.com/zouzheng/aggbug/15071.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2006-08-10 15:59 <a href="http://www.cnitblog.com/zouzheng/articles/15071.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在普通 x86 PC 上定制一个Linux操作系统</title><link>http://www.cnitblog.com/zouzheng/articles/14426.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Sun, 30 Jul 2006 02:37:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/articles/14426.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/14426.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/articles/14426.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/14426.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/14426.html</trackback:ping><description><![CDATA[
		<p>环境:一台运行操作系统 FC3 的主机   一块额外硬盘(/dev/hdd)(为了叙述的方便，称之为第2硬盘)</p>
		<p>定制过程:</p>
		<p>一 编译内核</p>
		<p>编译内核是具体定制 Linux 系统的第一步，根据定值的目标及机器的硬件特性进行内核选项的选择，选定一个内核版本(如linux-2.6.11.1),进行编译。<br />编译内核的过程以及内核选项的选择不再详述(这个不能统一，需要根据具体需求而变化)。编译内核用到的命令:<br /># make mrproper<br /># make xconfig (config/menuconfig/xconfig 根据情况选其一)<br /># make bzImage<br /># make modules<br /># make modules_install<br /># make install (修改grub:默认用grub引导系统)<br />编译完内核之后,可以在/boot目录下看到新生成的内核 vmlinuz-2.6.11.1 ,在 /lib/modules/2.6.13.1/ 中存放新内核的模块文件<br />编译完内核并且能成功启动之后,生成的上述文件备用.</p>
		<p>二 编译busybox</p>
		<p>1 busybox简介</p>
		<p>Busybox 由 Debian GNU/Linux 的 Bruce Perens 首先开发使用.Busybox 编译出一个单个的独立执行程序叫做 busybox。它可以根据配置，执行 ash shell 的功能，以及几十个各种小应用程序包括vi, init, sed, ifconfig, halt, reboot, mkdir, mount, ln, ls, echo, cat ... 等功能.它只有1M左右的大小,却几乎可以容纳所有常用的Linux命令.我们要做的系统受到空间的限制,要拿出尽可能多的空间来安装MySQL,Apcahe,PHP等软件服务,在能够实现基本功能的基础上,选用busybox能够有效的减少系统所用的空间.</p>
		<p>2 配置busybox</p>
		<p>#tar xvfz busybox-1.00.tar.gz<br />#cd busybox-1.00<br />#make menuconfig <br />#make<br />#make install</p>
		<p>注意:在配置busybox过程中要注意的问题<br />@修改 busybox 的 init.c 文件(busybox-1.00/init/init.c),设定系统要执行的第一个程序为你定制的系统启动时的文件如:/etc/rc #define INIT_SRCIPT "/etc/rc"</p>
		<p>@编译busybox时的一些必选项</p>
		<p>#General Configuration<br />Show verbose applet usage messages<br />Runtime SUID/SGID configuration via /etc/busybox.conf<br />通过这个选项以/etc/busybox.conf 做为busybox的配置文件</p>
		<p>#Build Options<br />Build BusyBox as a static binary (no shared libs)<br />这个选项是一定要选择的,这样才能把busybox编译成静态链接的可执行文件,运行时才独立于其他函数库.否则必需要其他库文件才能运行,在单一个linux内核不能使他正常工作.</p>
		<p>#Installation Options<br />Don't use /usr<br />这个选项也一定要选,否则make install 后busybox将安装在原系统的/usr下,这将覆盖掉系统原有的命令.选择这个选项后,make install后会在busybox目录下生成一个叫_install的目录,里面有busybox和指向他的链接.</p>
		<p>在配置完busybox之后,得到了busybox目录下的_install目录,这个目录中存有我们需要的系统命令包含 bin sbin 文件夹.备用.</p>
		<p>三 建立文件系统</p>
		<p>1 将第2硬盘格式化,并建立ext2文件系统,然后挂载到主盘的一个目录中(如/mnt/hdd).在这个目录下建立系统的目录结构.第2硬盘格式化分区如下：</p>
		<p># fdisk -l</p>
		<p>Disk /dev/hdd: 1750 MB, 1750896640 bytes<br />15 heads, 63 sectors/track, 3618 cylinders<br />Units = cylinders of 945 * 512 = 483840 bytes</p>
		<p>   Device Boot    Start       End    Blocks   Id  System<br />/dev/hdd1   *         1      3600   1700968+  83  Linux<br />/dev/hdd2          3601      3618      8505    5  Extended<br />/dev/hdd5          3601      3618      8473+  83  Linux</p>
		<p>2 到第2硬盘中建立文件系统</p>
		<p>
				<br />#cd /mnt/hdd<br /># mkdir usr boot etc var home dev proc mnt tmp </p>
		<p>将busybox目录中_install目录里的文件拷贝到 /mnt/hdd 目录中.</p>
		<p>#cp -r busybox/_install/* /mnt/hdd</p>
		<p>现在在 /mnt/hdd 目录下基本具有了一个简单的操作系统所需要得目录.</p>
		<p>### 登陆成功后看到的结果</p>
		<p>ysl / # ls<br />bin         dev         home        lost+found  proc        sbin        usr<br />boot        etc         lib         mnt         root        tmp         var<br />ysl / #</p>
		<p>将主机系统 /dev 目录下的内容都拷贝到 /mnt/hdd/dev 中,(需要哪些选项可以根据定制系统的具体需要选择)</p>
		<p>3 建立 /mnt/hdd/etc 目录下的配置文件</p>
		<p>ysl /etc # ls<br />default         gshadow-        mail            passwd-         rc.modules      ssh<br />fstab           hosts           mtab            profile         resolv.conf<br />group           init.d          my.cnf          protocols       shadow<br />group-          inittab         network.script  rc              shadow-<br />gshadow         issue           passwd          rc.conf         shells<br />ysl /etc # ls default/<br />K09zaptel   K11mysqld   K14network  S01network  S04mysqld   S06zaptel<br />K10httpd    K13sshd     K15exit     S03sshd     S05httpd<br />ysl /etc # ls init.d/<br />EXIT     httpd    mysqld   network  sshd     zaptel<br />ysl /etc # </p>
		<p>具体配置文件简介</p>
		<p>default  目录中存放 /etc/init.d/ 目录里启动和关闭系统以 S 和 K 开头的链接文件<br />fstab  列举计算机当前"可以安装"的文件系统.在计算机启动时, /etc/rc 中 /bin/mount -a 命令的参数<br />group group- gshadow gshadow- passwd  系统管理的一些文件，用户，密码等<br />hosts  包含本地网络中主机的列表<br />init.d  目录中存放系统安装的服务。系统在启动和关闭时,要操作这个目录下的服务<br />inittab  系统启动时运行的第一个程序是 init，init 通过 /etc/inittab 控制进程的启动<br />issue  系统登陆时显示的内容<br />mail  存放 sendmail 配置文件的目录，后面详述<br />mtab  这将随着 /proc/mount 文件的改变而不断改变。换句话说，文件系统被安装和卸载时，改变会立即反映到此文件中<br />my.cnf  mysql 数据库的配置文件，后面详述<br />network.script  启动网络服务时运行的脚本<br />profile bash shell 的登陆脚本，可用来限制历史纪录等<br />protocols  列举系统中用到的协议<br />rc  系统运行的第一个脚本<br />rc.conf  系统启动运行的参数,各种服务都给予这个参数运行<br />rc.modules  系统要加载启动的模块<br />resolv.conf  互联网络用于地址解析时的参考文件<br />shells  列举系统的 shell <br />ssh  ssh 服务配置目录</p>
		<p>部分配置文件如下：<br />####################/etc/inittab<br /># <br /># /etc/inittab<br />#<br /># INIT<br />console::sysinit:/etc/rc sysinit ## /etc/rc 是与 busybox 的 init.c 中定义所对应的<br />::respawn:/sbin/getty 38400 tty1 linux ## Linux 系统的用户登陆终端<br />::respawn:/sbin/getty 38400 tty2 linux<br />::respawn:/sbin/getty 38400 tty3 linux</p>
		<p># SHUTDOWN<br />::ctrlaltdel:/sbin/reboot ## 启动过程中对Ctrl Alt Delete 三键同时按下的处理<br />::shutdown:/etc/rc shutdown ## 关机处理</p>
		<p>####################/etc/fstab<br />#<br /># /etc/fstab<br />#<br />/           /         ext2      defaults       1         1<br />proc        /proc     proc      defaults       0         0</p>
		<p>####################/etc/rc<br />#!/bin/sh<br />#<br />#/etc/rc<br />#</p>
		<p>export PATH=/usr/sbin:/sbin:/usr/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/local/mysql/bin:/usr/local/http/bin</p>
		<p>## INIT ##</p>
		<p>if [ $1 = "sysinit" ]<br />then<br />/bin/mount -a<br />mount -t proc none /proc<br />mount -n -o remount,rw  /</p>
		<p>if [ -r /etc/rc.modules ]<br />then<br />for i in `grep -v "#"  /etc/rc.modules`<br />do<br />modprobe -q $i 2&gt; /dev/null<br />done<br />sleep 5<br />fi</p>
		<p>. /etc/rc.conf </p>
		<p>if [ "$AUTOMODS" ]<br />then<br />if [ ! -r /etc/rc.modules ]<br />then<br />for i in "$AUTOMODS"<br />do<br />modprobe -q $i 2&gt; /dev/null<br />done<br />fi<br />fi</p>
		<p>for i in `ls /etc/default/S*`<br />do<br />$i init<br />done</p>
		<p>/usr/bin/clear</p>
		<p>fi</p>
		<p>## SHUTDOWN ##</p>
		<p>if [ $1 = shutdown ]<br />then<br />for i in `ls /etc/default/K*`<br />do<br />$i stop<br />done<br />sync<br />sleep 2<br />/bin/umount -a -r 2&gt; /dev/null &gt; /dev/null<br />fi</p>
		<p>####################/etc/rc.conf <br /># 设定 rc.conf 文件是因为这个文件中存放系统服务的公共变量，维护方便，也可以不设定。<br />## Interfaces ##<br />EXTIF=eth0<br />INTIF=eth1</p>
		<p>## Changed to resolve conflicts ##<br />INTIP=192.168.101.1<br />INTNM=255.255.255.0</p>
		<p>## System Domainname ##<br />DOMAIN=root<br />HOSTNAME=ysl</p>
		<p>## STATIC IP config (You can set your static IP) ##<br />#EXTIP="192.168.25.2"<br />#EXTNM="255.255.255.0"<br />#EXTGW="192.168.25.1"<br />#DNS="192.168.1.1 192.168.1.2 192.168.1.3"</p>
		<p>## Autoload Modules ##<br />AUTOMODS="rtc 3c59x typhoon tulip eepro100 natsemi forcedeth<br />8139cp 8139too via-rhine pcnet32 acenic e1000 ns83820 r8169 tg3"</p>
		<p>####################/etc/profile<br />#<br />export PATH="/usr/local/mysql/bin:/usr/local/http/bin:$PATH:/usr/bin:/bin:/usr/sbin:/sbin"</p>
		<p># This fixes the backspace when telnetting in.<br />if [ "$TERM" != "linux" ]; then<br />        stty erase ^?<br />fi</p>
		<p>PS1='\[\033[01;31m\]\h \[\033[01;34m\]\W \$ \[\033[00m\]'<br />PS2='&gt; '<br />PS4='+ '</p>
		<p>alias ll='ls -l'<br />alias ..='cd ..'<br />alias ...='cd ../..'<br />alias md='mkdir'<br />alias rd='rmdir'<br />alias less='more'</p>
		<p>#################### end </p>
		<p>4 配置系统的库文件</p>
		<p>系统及各个服务启动运行所需要的库文件是建立文件系统的难点和重点,比如 /bin/bash 的库文件如果没有，那么系统是启动不了的，所以这一部分必须要谨慎。<br />在主机系统的 /lib, /usr/lib 等目录下都是系统启动服务及安装软件时用到的库文件.在主机系统的 /bin 目录下用 ldd 命令可以看到各个可执行文件分别都和那些动态库连接如</p>
		<p>[root@ysl bin]# ldd bash<br />        libtermcap.so.2 =&gt; /lib/libtermcap.so.2 (0x00cb7000)<br />        libdl.so.2 =&gt; /lib/libdl.so.2 (0x0016d000)<br />        libc.so.6 =&gt; /lib/tls/libc.so.6 (0x001c9000)<br />        /lib/ld-linux.so.2 =&gt; /lib/ld-linux.so.2 (0x001b3000)<br />[root@ysl bini]#</p>
		<p>这就是说要运行 bash 必须要将 /lib/libtermcap.so.2 /lib/libdl.so.2 /lib/tls/libc.so.6 /lib/ld-linux.so.2 库文件拷贝到定制系统的相关位置,注意其中有的是链接文件，要将链接文件和原文件都拷贝过去。</p>
		<p>根据定制系统的要求,将相关的库文件拷贝到 /mnt/hdd/lib /mnt/hdd/usr/lib 文件中.</p>
		<p>在拷贝主机系统的 /lib 目录下的相关库文件的同时，不要忘了在最初编译内核过程中在主机系统的 /lib/modules 目录下生成的新内核的加载模块，系统要正常启动这些模块是不能缺少的，将主机系统下 /lib/modules/1.6.11.1 文件夹完全拷贝到第2硬盘的相对位置中。</p>
		<p>文件系统建立完成，相应的库文件也拷贝完毕，整个操作系统的框架就建立起来了。下面介绍如何启动这个系统</p>
		<p>四 制作引导grub</p>
		<p>将主机系统的grub相关文件拷贝到第2硬盘中,并在此盘上创建独立的引导系统.系统的启动要用到操作系统的内核,因此要将在前面编译的内核文件拷贝到新作的系统中.<br /># cp /boot/vmlinuz-2.6.11.1 /mnt/hdd/boot/<br /># cp /boot/grub/stage1 /boot/grub/stage2 /boot/grub/e2fs_stage1_5 /mnt/hdd/boot/grub<br />执行grub的安装<br /># grub<br />grub&gt; root (hd0,0)<br />grub&gt; setup (hd0)<br />grub&gt; quit<br />然后编辑grub.conf文件,指出系统启动时的内核和路径.</p>
		<p>五 测试系统</p>
		<p>如果没有什么大的问题,那么一个根据自己需求定制的Linux操作系统已经完成,启动进行测试,看能否登陆.如果能够登陆则进行下一步工作,如果不能,需要针对具体的问题,进行必要的修改.</p>
<img src ="http://www.cnitblog.com/zouzheng/aggbug/14426.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2006-07-30 10:37 <a href="http://www.cnitblog.com/zouzheng/articles/14426.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux kernel 2.6的配置文件</title><link>http://www.cnitblog.com/zouzheng/articles/14424.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Sun, 30 Jul 2006 02:19:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/articles/14424.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/14424.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/articles/14424.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/14424.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/14424.html</trackback:ping><description><![CDATA[
		<div class="postText">
				<p>if you do not understand email me </p>
				<p>#<br /># Automatically generated make config: don't edit<br />#<br />CONFIG_X86=y<br />CONFIG_MMU=y<br />CONFIG_UID16=y<br />CONFIG_GENERIC_ISA_DMA=y</p>
				<p>#<br /># Code maturity level options<br />#<br />CONFIG_EXPERIMENTAL=y</p>
				<p>#<br /># General setup<br />#<br />CONFIG_SWAP=y<br />CONFIG_SYSVIPC=y<br /># CONFIG_BSD_PROCESS_ACCT is not set<br />CONFIG_SYSCTL=y<br />CONFIG_LOG_BUF_SHIFT=14<br /># CONFIG_EMBEDDED is not set<br />CONFIG_KALLSYMS=y<br />CONFIG_FUTEX=y<br />CONFIG_EPOLL=y<br />CONFIG_IOSCHED_AS=y<br />CONFIG_IOSCHED_DEADLINE=y</p>
				<p>#<br /># Loadable module support<br />#<br />CONFIG_MODULES=y<br />CONFIG_MODULE_UNLOAD=y<br />CONFIG_MODULE_FORCE_UNLOAD=y<br />CONFIG_OBSOLETE_MODPARM=y<br /># CONFIG_MODVERSIONS is not set<br />CONFIG_KMOD=y</p>
				<p>#<br /># Processor type and features<br />#<br />CONFIG_X86_PC=y<br /># CONFIG_X86_VOYAGER is not set<br /># CONFIG_X86_NUMAQ is not set<br /># CONFIG_X86_SUMMIT is not set<br /># CONFIG_X86_BIGSMP is not set<br /># CONFIG_X86_VISWS is not set<br /># CONFIG_X86_GENERICARCH is not set<br /># CONFIG_X86_ES7000 is not set<br /># CONFIG_M386 is not set<br /># CONFIG_M486 is not set<br /># CONFIG_M586 is not set<br /># CONFIG_M586TSC is not set<br /># CONFIG_M586MMX is not set<br /># CONFIG_M686 is not set<br /># CONFIG_MPENTIUMII is not set<br /># CONFIG_MPENTIUMIII is not set<br />CONFIG_MPENTIUM4=y<br /># CONFIG_MK6 is not set<br /># CONFIG_MK7 is not set<br /># CONFIG_MK8 is not set<br /># CONFIG_MELAN is not set<br /># CONFIG_MCRUSOE is not set<br /># CONFIG_MWINCHIPC6 is not set<br /># CONFIG_MWINCHIP2 is not set<br /># CONFIG_MWINCHIP3D is not set<br /># CONFIG_MCYRIXIII is not set<br /># CONFIG_MVIAC3_2 is not set<br /># CONFIG_X86_GENERIC is not set<br />CONFIG_X86_CMPXCHG=y<br />CONFIG_X86_XADD=y<br />CONFIG_X86_L1_CACHE_SHIFT=7<br />CONFIG_RWSEM_XCHGADD_ALGORITHM=y<br />CONFIG_X86_WP_WORKS_OK=y<br />CONFIG_X86_INVLPG=y<br />CONFIG_X86_BSWAP=y<br />CONFIG_X86_POPAD_OK=y<br />CONFIG_X86_GOOD_APIC=y<br />CONFIG_X86_INTEL_USERCOPY=y<br />CONFIG_X86_USE_PPRO_CHECKSUM=y<br /># CONFIG_HUGETLB_PAGE is not set<br /># CONFIG_SMP is not set<br />CONFIG_PREEMPT=y<br />CONFIG_X86_UP_APIC=y<br />CONFIG_X86_UP_IOAPIC=y<br />CONFIG_X86_LOCAL_APIC=y<br />CONFIG_X86_IO_APIC=y<br />CONFIG_X86_TSC=y<br />CONFIG_X86_MCE=y<br /># CONFIG_X86_MCE_NONFATAL is not set<br />CONFIG_X86_MCE_P4THERMAL=y<br /># CONFIG_TOSHIBA is not set<br /># CONFIG_I8K is not set<br /># CONFIG_MICROCODE is not set<br /># CONFIG_X86_MSR is not set<br />CONFIG_X86_CPUID=y<br />CONFIG_EDD=y<br />CONFIG_NOHIGHMEM=y<br /># CONFIG_HIGHMEM4G is not set<br /># CONFIG_HIGHMEM64G is not set<br />CONFIG_MATH_EMULATION=y<br />CONFIG_MTRR=y<br />CONFIG_HAVE_DEC_LOCK=y</p>
				<p>#<br /># Power management options (ACPI, APM)<br />#<br />CONFIG_PM=y<br /># CONFIG_SOFTWARE_SUSPEND is not set</p>
				<p>#<br /># ACPI Support<br />#<br /># CONFIG_ACPI is not set<br />CONFIG_APM=y<br /># CONFIG_APM_IGNORE_USER_SUSPEND is not set<br /># CONFIG_APM_DO_ENABLE is not set<br />CONFIG_APM_CPU_IDLE=y<br /># CONFIG_APM_DISPLAY_BLANK is not set<br />CONFIG_APM_RTC_IS_GMT=y<br />CONFIG_APM_ALLOW_INTS=y<br /># CONFIG_APM_REAL_MODE_POWER_OFF is not set</p>
				<p>#<br /># CPU Frequency scaling<br />#<br />CONFIG_CPU_FREQ=y<br /># CONFIG_CPU_FREQ_PROC_INTF is not set<br />CONFIG_CPU_FREQ_GOV_USERSPACE=y<br /># CONFIG_CPU_FREQ_24_API is not set<br />CONFIG_CPU_FREQ_TABLE=y</p>
				<p>#<br /># CPUFreq processor drivers<br />#<br /># CONFIG_X86_POWERNOW_K6 is not set<br /># CONFIG_X86_POWERNOW_K7 is not set<br /># CONFIG_X86_GX_SUSPMOD is not set<br />CONFIG_X86_SPEEDSTEP_ICH=y<br /># CONFIG_X86_SPEEDSTEP_CENTRINO is not set<br />CONFIG_X86_SPEEDSTEP_LIB=y<br />CONFIG_X86_P4_CLOCKMOD=y<br /># CONFIG_X86_LONGRUN is not set<br /># CONFIG_X86_LONGHAUL is not set</p>
				<p>#<br /># Bus options (PCI, PCMCIA, EISA, MCA, ISA)<br />#<br />CONFIG_PCI=y<br /># CONFIG_PCI_GOBIOS is not set<br /># CONFIG_PCI_GODIRECT is not set<br />CONFIG_PCI_GOANY=y<br />CONFIG_PCI_BIOS=y<br />CONFIG_PCI_DIRECT=y<br /># CONFIG_PCI_LEGACY_PROC is not set<br />CONFIG_PCI_NAMES=y<br />CONFIG_ISA=y<br /># CONFIG_EISA is not set<br /># CONFIG_MCA is not set<br /># CONFIG_SCx200 is not set<br />CONFIG_HOTPLUG=y</p>
				<p>#<br /># PCMCIA/CardBus support<br />#<br />CONFIG_PCMCIA=y<br /># CONFIG_YENTA is not set<br /># CONFIG_I82092 is not set<br /># CONFIG_I82365 is not set<br /># CONFIG_TCIC is not set<br />CONFIG_PCMCIA_PROBE=y</p>
				<p>#<br /># PCI Hotplug Support<br />#<br /># CONFIG_HOTPLUG_PCI is not set</p>
				<p>#<br /># Executable file formats<br />#<br />CONFIG_KCORE_ELF=y<br /># CONFIG_KCORE_AOUT is not set<br />CONFIG_BINFMT_ELF=y<br /># CONFIG_BINFMT_AOUT is not set<br /># CONFIG_BINFMT_MISC is not set</p>
				<p>#<br /># Generic Driver Options<br />#<br /># CONFIG_FW_LOADER is not set</p>
				<p>#<br /># Memory Technology Devices (MTD)<br />#<br /># CONFIG_MTD is not set</p>
				<p>#<br /># Parallel port support<br />#<br />CONFIG_PARPORT=y<br />CONFIG_PARPORT_PC=y<br />CONFIG_PARPORT_PC_CML1=m<br /># CONFIG_PARPORT_SERIAL is not set<br /># CONFIG_PARPORT_PC_FIFO is not set<br /># CONFIG_PARPORT_PC_SUPERIO is not set<br /># CONFIG_PARPORT_PC_PCMCIA is not set<br /># CONFIG_PARPORT_OTHER is not set<br />CONFIG_PARPORT_1284=y</p>
				<p>#<br /># Plug and Play support<br />#<br />CONFIG_PNP=y<br />CONFIG_PNP_NAMES=y<br /># CONFIG_PNP_DEBUG is not set</p>
				<p>#<br /># Protocols<br />#<br /># CONFIG_ISAPNP is not set<br /># CONFIG_PNPBIOS is not set</p>
				<p>#<br /># Block devices<br />#<br />CONFIG_BLK_DEV_FD=m<br /># CONFIG_BLK_DEV_XD is not set<br /># CONFIG_PARIDE is not set<br /># CONFIG_BLK_CPQ_DA is not set<br /># CONFIG_BLK_CPQ_CISS_DA is not set<br /># CONFIG_BLK_DEV_DAC960 is not set<br /># CONFIG_BLK_DEV_UMEM is not set<br />CONFIG_BLK_DEV_LOOP=m<br /># CONFIG_BLK_DEV_CRYPTOLOOP is not set<br /># CONFIG_BLK_DEV_NBD is not set<br />CONFIG_BLK_DEV_RAM=m<br />CONFIG_BLK_DEV_RAM_SIZE=4096<br />CONFIG_BLK_DEV_INITRD=y<br /># CONFIG_LBD is not set</p>
				<p>#<br /># ATA/ATAPI/MFM/RLL support<br />#<br />CONFIG_IDE=y</p>
				<p>#<br /># IDE, ATA and ATAPI Block devices<br />#<br />CONFIG_BLK_DEV_IDE=y</p>
				<p>#<br /># Please see Documentation/ide.txt for help/info on IDE drives<br />#<br /># CONFIG_BLK_DEV_HD_IDE is not set<br /># CONFIG_BLK_DEV_HD is not set<br />CONFIG_BLK_DEV_IDEDISK=y<br />CONFIG_IDEDISK_MULTI_MODE=y<br /># CONFIG_IDEDISK_STROKE is not set<br /># CONFIG_BLK_DEV_IDECS is not set<br />CONFIG_BLK_DEV_IDECD=m<br /># CONFIG_BLK_DEV_IDEFLOPPY is not set<br />CONFIG_BLK_DEV_IDESCSI=m<br /># CONFIG_IDE_TASK_IOCTL is not set<br /># CONFIG_IDE_TASKFILE_IO is not set</p>
				<p>#<br /># IDE chipset support/bugfixes<br />#<br />CONFIG_BLK_DEV_CMD640=y<br /># CONFIG_BLK_DEV_CMD640_ENHANCED is not set<br /># CONFIG_BLK_DEV_IDEPNP is not set<br />CONFIG_BLK_DEV_IDEPCI=y<br />CONFIG_BLK_DEV_GENERIC=y<br />CONFIG_IDEPCI_SHARE_IRQ=y<br />CONFIG_BLK_DEV_IDEDMA_PCI=y<br /># CONFIG_BLK_DEV_IDE_TCQ is not set<br /># CONFIG_BLK_DEV_OFFBOARD is not set<br /># CONFIG_BLK_DEV_IDEDMA_FORCED is not set<br />CONFIG_IDEDMA_PCI_AUTO=y<br /># CONFIG_IDEDMA_ONLYDISK is not set<br />CONFIG_BLK_DEV_IDEDMA=y<br /># CONFIG_IDEDMA_PCI_WIP is not set<br />CONFIG_BLK_DEV_ADMA=y<br /># CONFIG_BLK_DEV_AEC62XX is not set<br /># CONFIG_BLK_DEV_ALI15X3 is not set<br /># CONFIG_BLK_DEV_AMD74XX is not set<br /># CONFIG_BLK_DEV_CMD64X is not set<br /># CONFIG_BLK_DEV_TRIFLEX is not set<br /># CONFIG_BLK_DEV_CY82C693 is not set<br /># CONFIG_BLK_DEV_CS5520 is not set<br /># CONFIG_BLK_DEV_HPT34X is not set<br /># CONFIG_BLK_DEV_HPT366 is not set<br /># CONFIG_BLK_DEV_SC1200 is not set<br />CONFIG_BLK_DEV_PIIX=y<br /># CONFIG_BLK_DEV_NS87415 is not set<br /># CONFIG_BLK_DEV_OPTI621 is not set<br /># CONFIG_BLK_DEV_PDC202XX_OLD is not set<br /># CONFIG_BLK_DEV_PDC202XX_NEW is not set<br />CONFIG_BLK_DEV_RZ1000=y<br /># CONFIG_BLK_DEV_SVWKS is not set<br /># CONFIG_BLK_DEV_SIIMAGE is not set<br /># CONFIG_BLK_DEV_SIS5513 is not set<br /># CONFIG_BLK_DEV_SLC90E66 is not set<br /># CONFIG_BLK_DEV_TRM290 is not set<br /># CONFIG_BLK_DEV_VIA82CXXX is not set<br /># CONFIG_IDE_CHIPSETS is not set<br />CONFIG_IDEDMA_AUTO=y<br /># CONFIG_IDEDMA_IVB is not set<br />CONFIG_BLK_DEV_IDE_MODES=y</p>
				<p>#<br /># SCSI device support<br />#<br />CONFIG_SCSI=m</p>
				<p>#<br /># SCSI support type (disk, tape, CD-ROM)<br />#<br />CONFIG_BLK_DEV_SD=m<br /># CONFIG_CHR_DEV_ST is not set<br /># CONFIG_CHR_DEV_OSST is not set<br />CONFIG_BLK_DEV_SR=m<br />CONFIG_BLK_DEV_SR_VENDOR=y<br />CONFIG_CHR_DEV_SG=m</p>
				<p>#<br /># Some SCSI devices (e.g. CD jukebox) support multiple LUNs<br />#<br /># CONFIG_SCSI_MULTI_LUN is not set<br /># CONFIG_SCSI_REPORT_LUNS is not set<br /># CONFIG_SCSI_CONSTANTS is not set<br /># CONFIG_SCSI_LOGGING is not set</p>
				<p>#<br /># SCSI low-level drivers<br />#<br /># CONFIG_BLK_DEV_3W_XXXX_RAID is not set<br /># CONFIG_SCSI_7000FASST is not set<br /># CONFIG_SCSI_ACARD is not set<br /># CONFIG_SCSI_AHA152X is not set<br /># CONFIG_SCSI_AHA1542 is not set<br /># CONFIG_SCSI_AACRAID is not set<br /># CONFIG_SCSI_AIC7XXX is not set<br /># CONFIG_SCSI_AIC7XXX_OLD is not set<br /># CONFIG_SCSI_AIC79XX is not set<br /># CONFIG_SCSI_DPT_I2O is not set<br /># CONFIG_SCSI_ADVANSYS is not set<br /># CONFIG_SCSI_IN2000 is not set<br /># CONFIG_SCSI_AM53C974 is not set<br /># CONFIG_SCSI_MEGARAID is not set<br /># CONFIG_SCSI_BUSLOGIC is not set<br /># CONFIG_SCSI_CPQFCTS is not set<br /># CONFIG_SCSI_DMX3191D is not set<br /># CONFIG_SCSI_DTC3280 is not set<br /># CONFIG_SCSI_EATA is not set<br /># CONFIG_SCSI_EATA_PIO is not set<br /># CONFIG_SCSI_FUTURE_DOMAIN is not set<br /># CONFIG_SCSI_GDTH is not set<br /># CONFIG_SCSI_GENERIC_NCR5380 is not set<br /># CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set<br /># CONFIG_SCSI_IPS is not set<br /># CONFIG_SCSI_INITIO is not set<br /># CONFIG_SCSI_INIA100 is not set<br /># CONFIG_SCSI_PPA is not set<br /># CONFIG_SCSI_IMM is not set<br /># CONFIG_SCSI_NCR53C406A is not set<br /># CONFIG_SCSI_SYM53C8XX_2 is not set<br /># CONFIG_SCSI_SYM53C8XX is not set<br /># CONFIG_SCSI_PAS16 is not set<br /># CONFIG_SCSI_PCI2000 is not set<br /># CONFIG_SCSI_PCI2220I is not set<br /># CONFIG_SCSI_PSI240I is not set<br /># CONFIG_SCSI_QLOGIC_FAS is not set<br /># CONFIG_SCSI_QLOGIC_ISP is not set<br /># CONFIG_SCSI_QLOGIC_FC is not set<br /># CONFIG_SCSI_QLOGIC_1280 is not set<br /># CONFIG_SCSI_SEAGATE is not set<br /># CONFIG_SCSI_SYM53C416 is not set<br /># CONFIG_SCSI_DC395x is not set<br /># CONFIG_SCSI_DC390T is not set<br /># CONFIG_SCSI_T128 is not set<br /># CONFIG_SCSI_U14_34F is not set<br /># CONFIG_SCSI_ULTRASTOR is not set<br /># CONFIG_SCSI_NSP32 is not set<br /># CONFIG_SCSI_DEBUG is not set</p>
				<p>#<br /># PCMCIA SCSI adapter support<br />#<br /># CONFIG_PCMCIA_AHA152X is not set<br /># CONFIG_PCMCIA_FDOMAIN is not set<br /># CONFIG_PCMCIA_NINJA_SCSI is not set<br /># CONFIG_PCMCIA_QLOGIC is not set</p>
				<p>#<br /># Old CD-ROM drivers (not SCSI, not IDE)<br />#<br /># CONFIG_CD_NO_IDESCSI is not set</p>
				<p>#<br /># Multi-device support (RAID and LVM)<br />#<br /># CONFIG_MD is not set</p>
				<p>#<br /># Fusion MPT device support<br />#<br /># CONFIG_FUSION is not set</p>
				<p>#<br /># IEEE 1394 (FireWire) support (EXPERIMENTAL)<br />#<br /># CONFIG_IEEE1394 is not set</p>
				<p>#<br /># I2O device support<br />#<br /># CONFIG_I2O is not set</p>
				<p>#<br /># Networking support<br />#<br />CONFIG_NET=y</p>
				<p>#<br /># Networking options<br />#<br />CONFIG_PACKET=y<br /># CONFIG_PACKET_MMAP is not set<br /># CONFIG_NETLINK_DEV is not set<br />CONFIG_NETFILTER=y<br /># CONFIG_NETFILTER_DEBUG is not set<br />CONFIG_UNIX=y<br /># CONFIG_NET_KEY is not set<br />CONFIG_INET=y<br /># CONFIG_IP_MULTICAST is not set<br /># CONFIG_IP_ADVANCED_ROUTER is not set<br /># CONFIG_IP_PNP is not set<br /># CONFIG_NET_IPIP is not set<br /># CONFIG_NET_IPGRE is not set<br /># CONFIG_ARPD is not set<br /># CONFIG_INET_ECN is not set<br />CONFIG_SYN_COOKIES=y<br /># CONFIG_INET_AH is not set<br /># CONFIG_INET_ESP is not set<br /># CONFIG_INET_IPCOMP is not set</p>
				<p>#<br /># IP: Netfilter Configuration<br />#<br />CONFIG_IP_NF_CONNTRACK=m<br />CONFIG_IP_NF_FTP=m<br /># CONFIG_IP_NF_IRC is not set<br /># CONFIG_IP_NF_TFTP is not set<br /># CONFIG_IP_NF_AMANDA is not set<br /># CONFIG_IP_NF_QUEUE is not set<br />CONFIG_IP_NF_IPTABLES=m<br /># CONFIG_IP_NF_MATCH_LIMIT is not set<br /># CONFIG_IP_NF_MATCH_MAC is not set<br /># CONFIG_IP_NF_MATCH_PKTTYPE is not set<br /># CONFIG_IP_NF_MATCH_MARK is not set<br /># CONFIG_IP_NF_MATCH_MULTIPORT is not set<br /># CONFIG_IP_NF_MATCH_TOS is not set<br /># CONFIG_IP_NF_MATCH_RECENT is not set<br /># CONFIG_IP_NF_MATCH_ECN is not set<br /># CONFIG_IP_NF_MATCH_DSCP is not set<br /># CONFIG_IP_NF_MATCH_AH_ESP is not set<br /># CONFIG_IP_NF_MATCH_LENGTH is not set<br /># CONFIG_IP_NF_MATCH_TTL is not set<br /># CONFIG_IP_NF_MATCH_TCPMSS is not set<br /># CONFIG_IP_NF_MATCH_HELPER is not set<br />CONFIG_IP_NF_MATCH_STATE=m<br />CONFIG_IP_NF_MATCH_CONNTRACK=m<br /># CONFIG_IP_NF_MATCH_UNCLEAN is not set<br /># CONFIG_IP_NF_MATCH_OWNER is not set<br />CONFIG_IP_NF_FILTER=m<br />CONFIG_IP_NF_TARGET_REJECT=m<br /># CONFIG_IP_NF_TARGET_MIRROR is not set<br />CONFIG_IP_NF_NAT=m<br />CONFIG_IP_NF_NAT_NEEDED=y<br />CONFIG_IP_NF_TARGET_MASQUERADE=m<br />CONFIG_IP_NF_TARGET_REDIRECT=m<br /># CONFIG_IP_NF_NAT_LOCAL is not set<br /># CONFIG_IP_NF_NAT_SNMP_BASIC is not set<br />CONFIG_IP_NF_NAT_FTP=m<br /># CONFIG_IP_NF_MANGLE is not set<br /># CONFIG_IP_NF_TARGET_LOG is not set<br /># CONFIG_IP_NF_TARGET_ULOG is not set<br /># CONFIG_IP_NF_TARGET_TCPMSS is not set<br /># CONFIG_IP_NF_ARPTABLES is not set<br /># CONFIG_IP_NF_COMPAT_IPCHAINS is not set<br /># CONFIG_IP_NF_COMPAT_IPFWADM is not set</p>
				<p>#<br /># IP: Virtual Server Configuration<br />#<br /># CONFIG_IP_VS is not set<br /># CONFIG_IPV6 is not set<br /># CONFIG_XFRM_USER is not set</p>
				<p>#<br /># SCTP Configuration (EXPERIMENTAL)<br />#<br />CONFIG_IPV6_SCTP__=y<br /># CONFIG_IP_SCTP is not set<br /># CONFIG_ATM is not set<br /># CONFIG_VLAN_8021Q is not set<br /># CONFIG_LLC is not set<br /># CONFIG_DECNET is not set<br /># CONFIG_BRIDGE is not set<br /># CONFIG_X25 is not set<br /># CONFIG_LAPB is not set<br /># CONFIG_NET_DIVERT is not set<br /># CONFIG_ECONET is not set<br /># CONFIG_WAN_ROUTER is not set<br /># CONFIG_NET_FASTROUTE is not set<br /># CONFIG_NET_HW_FLOWCONTROL is not set</p>
				<p>#<br /># QoS and/or fair queueing<br />#<br /># CONFIG_NET_SCHED is not set</p>
				<p>#<br /># Network testing<br />#<br /># CONFIG_NET_PKTGEN is not set<br />CONFIG_NETDEVICES=y</p>
				<p>#<br /># ARCnet devices<br />#<br /># CONFIG_ARCNET is not set<br />CONFIG_DUMMY=m<br /># CONFIG_BONDING is not set<br /># CONFIG_EQUALIZER is not set<br /># CONFIG_TUN is not set<br /># CONFIG_ETHERTAP is not set<br /># CONFIG_NET_SB1000 is not set</p>
				<p>#<br /># Ethernet (10 or 100Mbit)<br />#<br />CONFIG_NET_ETHERNET=y<br /># CONFIG_MII is not set<br /># CONFIG_HAPPYMEAL is not set<br /># CONFIG_SUNGEM is not set<br /># CONFIG_NET_VENDOR_3COM is not set<br /># CONFIG_LANCE is not set<br /># CONFIG_NET_VENDOR_SMC is not set<br /># CONFIG_NET_VENDOR_RACAL is not set</p>
				<p>#<br /># Tulip family network device support<br />#<br /># CONFIG_NET_TULIP is not set<br /># CONFIG_AT1700 is not set<br /># CONFIG_DEPCA is not set<br /># CONFIG_HP100 is not set<br /># CONFIG_NET_ISA is not set<br />CONFIG_NET_PCI=y<br /># CONFIG_PCNET32 is not set<br /># CONFIG_AMD8111_ETH is not set<br /># CONFIG_ADAPTEC_STARFIRE is not set<br /># CONFIG_AC3200 is not set<br /># CONFIG_APRICOT is not set<br /># CONFIG_B44 is not set<br /># CONFIG_CS89x0 is not set<br /># CONFIG_DGRS is not set<br />CONFIG_EEPRO100=m<br /># CONFIG_EEPRO100_PIO is not set<br /># CONFIG_E100 is not set<br /># CONFIG_FEALNX is not set<br /># CONFIG_NATSEMI is not set<br /># CONFIG_NE2K_PCI is not set<br /># CONFIG_8139CP is not set<br /># CONFIG_8139TOO is not set<br /># CONFIG_SIS900 is not set<br /># CONFIG_EPIC100 is not set<br /># CONFIG_SUNDANCE is not set<br /># CONFIG_TLAN is not set<br /># CONFIG_VIA_RHINE is not set<br /># CONFIG_NET_POCKET is not set</p>
				<p>#<br /># Ethernet (1000 Mbit)<br />#<br /># CONFIG_ACENIC is not set<br /># CONFIG_DL2K is not set<br /># CONFIG_E1000 is not set<br /># CONFIG_NS83820 is not set<br /># CONFIG_HAMACHI is not set<br /># CONFIG_YELLOWFIN is not set<br /># CONFIG_R8169 is not set<br /># CONFIG_SK98LIN is not set<br /># CONFIG_TIGON3 is not set</p>
				<p>#<br /># Ethernet (10000 Mbit)<br />#<br /># CONFIG_IXGB is not set<br /># CONFIG_FDDI is not set<br /># CONFIG_HIPPI is not set<br /># CONFIG_PLIP is not set<br /># CONFIG_PPP is not set<br /># CONFIG_SLIP is not set</p>
				<p>#<br /># Wireless LAN (non-hamradio)<br />#<br /># CONFIG_NET_RADIO is not set</p>
				<p>#<br /># Token Ring devices (depends on LLC=y)<br />#<br /># CONFIG_NET_FC is not set<br /># CONFIG_RCPCI is not set<br /># CONFIG_SHAPER is not set</p>
				<p>#<br /># Wan interfaces<br />#<br /># CONFIG_WAN is not set</p>
				<p>#<br /># PCMCIA network device support<br />#<br /># CONFIG_NET_PCMCIA is not set</p>
				<p>#<br /># Amateur Radio support<br />#<br /># CONFIG_HAMRADIO is not set</p>
				<p>#<br /># IrDA (infrared) support<br />#<br /># CONFIG_IRDA is not set</p>
				<p>#<br /># ISDN subsystem<br />#<br /># CONFIG_ISDN_BOOL is not set</p>
				<p>#<br /># Telephony Support<br />#<br /># CONFIG_PHONE is not set</p>
				<p>#<br /># Input device support<br />#<br />CONFIG_INPUT=y</p>
				<p>#<br /># Userland interfaces<br />#<br />CONFIG_INPUT_MOUSEDEV=y<br />CONFIG_INPUT_MOUSEDEV_PSAUX=y<br />CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024<br />CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768<br /># CONFIG_INPUT_JOYDEV is not set<br /># CONFIG_INPUT_TSDEV is not set<br /># CONFIG_INPUT_EVDEV is not set<br /># CONFIG_INPUT_EVBUG is not set</p>
				<p>#<br /># Input I/O drivers<br />#<br /># CONFIG_GAMEPORT is not set<br />CONFIG_SOUND_GAMEPORT=y<br />CONFIG_SERIO=y<br />CONFIG_SERIO_I8042=y<br /># CONFIG_SERIO_SERPORT is not set<br /># CONFIG_SERIO_CT82C710 is not set<br /># CONFIG_SERIO_PARKBD is not set<br /># CONFIG_SERIO_PCIPS2 is not set</p>
				<p>#<br /># Input Device Drivers<br />#<br />CONFIG_INPUT_KEYBOARD=y<br />CONFIG_KEYBOARD_ATKBD=y<br /># CONFIG_KEYBOARD_SUNKBD is not set<br /># CONFIG_KEYBOARD_XTKBD is not set<br /># CONFIG_KEYBOARD_NEWTON is not set<br />CONFIG_INPUT_MOUSE=y<br />CONFIG_MOUSE_PS2=y<br /># CONFIG_MOUSE_SERIAL is not set<br /># CONFIG_MOUSE_INPORT is not set<br /># CONFIG_MOUSE_LOGIBM is not set<br /># CONFIG_MOUSE_PC110PAD is not set<br /># CONFIG_INPUT_JOYSTICK is not set<br /># CONFIG_INPUT_TOUCHSCREEN is not set<br /># CONFIG_INPUT_MISC is not set</p>
				<p>#<br /># Character devices<br />#<br />CONFIG_VT=y<br />CONFIG_VT_CONSOLE=y<br />CONFIG_HW_CONSOLE=y<br /># CONFIG_SERIAL_NONSTANDARD is not set</p>
				<p>#<br /># Serial drivers<br />#<br />CONFIG_SERIAL_8250=m<br /># CONFIG_SERIAL_8250_CS is not set<br /># CONFIG_SERIAL_8250_EXTENDED is not set</p>
				<p>#<br /># Non-8250 serial port support<br />#<br />CONFIG_SERIAL_CORE=m<br />CONFIG_UNIX98_PTYS=y<br />CONFIG_UNIX98_PTY_COUNT=256<br />CONFIG_PRINTER=m<br /># CONFIG_LP_CONSOLE is not set<br /># CONFIG_PPDEV is not set<br /># CONFIG_TIPAR is not set</p>
				<p>#<br /># I2C support<br />#<br /># CONFIG_I2C is not set</p>
				<p>#<br /># I2C Hardware Sensors Mainboard support<br />#</p>
				<p>#<br /># I2C Hardware Sensors Chip support<br />#<br /># CONFIG_I2C_SENSOR is not set</p>
				<p>#<br /># Mice<br />#<br /># CONFIG_BUSMOUSE is not set<br /># CONFIG_QIC02_TAPE is not set</p>
				<p>#<br /># IPMI<br />#<br /># CONFIG_IPMI_HANDLER is not set</p>
				<p>#<br /># Watchdog Cards<br />#<br /># CONFIG_WATCHDOG is not set<br /># CONFIG_HW_RANDOM is not set<br /># CONFIG_NVRAM is not set<br />CONFIG_RTC=m<br /># CONFIG_GEN_RTC is not set<br /># CONFIG_DTLK is not set<br /># CONFIG_R3964 is not set<br /># CONFIG_APPLICOM is not set<br /># CONFIG_SONYPI is not set</p>
				<p>#<br /># Ftape, the floppy tape device driver<br />#<br /># CONFIG_FTAPE is not set<br />CONFIG_AGP=y<br /># CONFIG_AGP_ALI is not set<br /># CONFIG_AGP_AMD is not set<br /># CONFIG_AGP_AMD_8151 is not set<br /># CONFIG_AGP_INTEL is not set<br /># CONFIG_AGP_NVIDIA is not set<br /># CONFIG_AGP_SIS is not set<br /># CONFIG_AGP_SWORKS is not set<br /># CONFIG_AGP_VIA is not set<br />CONFIG_DRM=y<br /># CONFIG_DRM_TDFX is not set<br /># CONFIG_DRM_GAMMA is not set<br /># CONFIG_DRM_R128 is not set<br />CONFIG_DRM_RADEON=y<br /># CONFIG_DRM_MGA is not set</p>
				<p>#<br /># PCMCIA character devices<br />#<br /># CONFIG_SYNCLINK_CS is not set<br /># CONFIG_MWAVE is not set<br /># CONFIG_RAW_DRIVER is not set<br /># CONFIG_HANGCHECK_TIMER is not set</p>
				<p>#<br /># Multimedia devices<br />#<br />CONFIG_VIDEO_DEV=m</p>
				<p>#<br /># Video For Linux<br />#<br />CONFIG_VIDEO_PROC_FS=y</p>
				<p>#<br /># Video Adapters<br />#<br /># CONFIG_VIDEO_PMS is not set<br /># CONFIG_VIDEO_BWQCAM is not set<br /># CONFIG_VIDEO_CQCAM is not set<br /># CONFIG_VIDEO_W9966 is not set<br /># CONFIG_VIDEO_CPIA is not set<br /># CONFIG_VIDEO_STRADIS is not set<br /># CONFIG_VIDEO_HEXIUM_ORION is not set<br /># CONFIG_VIDEO_HEXIUM_GEMINI is not set</p>
				<p>#<br /># Radio Adapters<br />#<br /># CONFIG_RADIO_CADET is not set<br /># CONFIG_RADIO_RTRACK is not set<br /># CONFIG_RADIO_RTRACK2 is not set<br /># CONFIG_RADIO_AZTECH is not set<br /># CONFIG_RADIO_GEMTEK is not set<br /># CONFIG_RADIO_GEMTEK_PCI is not set<br /># CONFIG_RADIO_MAXIRADIO is not set<br /># CONFIG_RADIO_MAESTRO is not set<br /># CONFIG_RADIO_SF16FMI is not set<br /># CONFIG_RADIO_TERRATEC is not set<br /># CONFIG_RADIO_TRUST is not set<br /># CONFIG_RADIO_TYPHOON is not set<br /># CONFIG_RADIO_ZOLTRIX is not set</p>
				<p>#<br /># Digital Video Broadcasting Devices<br />#<br /># CONFIG_DVB is not set<br /># CONFIG_VIDEO_BTCX is not set</p>
				<p>#<br /># File systems<br />#<br />CONFIG_EXT2_FS=y<br />CONFIG_EXT2_FS_XATTR=y<br /># CONFIG_EXT2_FS_POSIX_ACL is not set<br /># CONFIG_EXT2_FS_SECURITY is not set<br />CONFIG_EXT3_FS=y<br />CONFIG_EXT3_FS_XATTR=y<br />CONFIG_EXT3_FS_POSIX_ACL=y<br /># CONFIG_EXT3_FS_SECURITY is not set<br />CONFIG_JBD=y<br /># CONFIG_JBD_DEBUG is not set<br />CONFIG_FS_MBCACHE=y<br /># CONFIG_REISERFS_FS is not set<br /># CONFIG_JFS_FS is not set<br />CONFIG_FS_POSIX_ACL=y<br /># CONFIG_XFS_FS is not set<br /># CONFIG_MINIX_FS is not set<br /># CONFIG_ROMFS_FS is not set<br /># CONFIG_QUOTA is not set<br /># CONFIG_AUTOFS_FS is not set<br />CONFIG_AUTOFS4_FS=y</p>
				<p>#<br /># CD-ROM/DVD Filesystems<br />#<br />CONFIG_ISO9660_FS=m<br />CONFIG_JOLIET=y<br /># CONFIG_ZISOFS is not set<br />CONFIG_UDF_FS=m</p>
				<p>#<br /># DOS/FAT/NT Filesystems<br />#<br />CONFIG_FAT_FS=y<br />CONFIG_MSDOS_FS=m<br />CONFIG_VFAT_FS=m<br /># CONFIG_NTFS_FS is not set</p>
				<p>#<br /># Pseudo filesystems<br />#<br />CONFIG_PROC_FS=y<br /># CONFIG_DEVFS_FS is not set<br />CONFIG_DEVPTS_FS=y<br /># CONFIG_DEVPTS_FS_XATTR is not set<br />CONFIG_TMPFS=y<br />CONFIG_RAMFS=y</p>
				<p>#<br /># Miscellaneous filesystems<br />#<br /># CONFIG_ADFS_FS is not set<br /># CONFIG_AFFS_FS is not set<br /># CONFIG_HFS_FS is not set<br /># CONFIG_BEFS_FS is not set<br /># CONFIG_BFS_FS is not set<br /># CONFIG_EFS_FS is not set<br /># CONFIG_CRAMFS is not set<br /># CONFIG_VXFS_FS is not set<br /># CONFIG_HPFS_FS is not set<br /># CONFIG_QNX4FS_FS is not set<br /># CONFIG_SYSV_FS is not set<br /># CONFIG_UFS_FS is not set</p>
				<p>#<br /># Network File Systems<br />#<br />CONFIG_NFS_FS=m<br />CONFIG_NFS_V3=y<br /># CONFIG_NFS_V4 is not set<br /># CONFIG_NFSD is not set<br />CONFIG_LOCKD=m<br />CONFIG_LOCKD_V4=y<br /># CONFIG_EXPORTFS is not set<br />CONFIG_SUNRPC=m<br /># CONFIG_SUNRPC_GSS is not set<br /># CONFIG_SMB_FS is not set<br /># CONFIG_CIFS is not set<br /># CONFIG_NCP_FS is not set<br /># CONFIG_CODA_FS is not set<br /># CONFIG_INTERMEZZO_FS is not set<br /># CONFIG_AFS_FS is not set</p>
				<p>#<br /># Partition Types<br />#<br /># CONFIG_PARTITION_ADVANCED is not set<br />CONFIG_MSDOS_PARTITION=y<br />CONFIG_NLS=y</p>
				<p>#<br /># Native Language Support<br />#<br />CONFIG_NLS_DEFAULT="iso8859-1"<br />CONFIG_NLS_CODEPAGE_437=y<br /># CONFIG_NLS_CODEPAGE_737 is not set<br /># CONFIG_NLS_CODEPAGE_775 is not set<br /># CONFIG_NLS_CODEPAGE_850 is not set<br /># CONFIG_NLS_CODEPAGE_852 is not set<br /># CONFIG_NLS_CODEPAGE_855 is not set<br /># CONFIG_NLS_CODEPAGE_857 is not set<br /># CONFIG_NLS_CODEPAGE_860 is not set<br /># CONFIG_NLS_CODEPAGE_861 is not set<br /># CONFIG_NLS_CODEPAGE_862 is not set<br /># CONFIG_NLS_CODEPAGE_863 is not set<br /># CONFIG_NLS_CODEPAGE_864 is not set<br /># CONFIG_NLS_CODEPAGE_865 is not set<br /># CONFIG_NLS_CODEPAGE_866 is not set<br /># CONFIG_NLS_CODEPAGE_869 is not set<br /># CONFIG_NLS_CODEPAGE_936 is not set<br /># CONFIG_NLS_CODEPAGE_950 is not set<br /># CONFIG_NLS_CODEPAGE_932 is not set<br /># CONFIG_NLS_CODEPAGE_949 is not set<br /># CONFIG_NLS_CODEPAGE_874 is not set<br /># CONFIG_NLS_ISO8859_8 is not set<br /># CONFIG_NLS_CODEPAGE_1250 is not set<br /># CONFIG_NLS_CODEPAGE_1251 is not set<br />CONFIG_NLS_ISO8859_1=y<br /># CONFIG_NLS_ISO8859_2 is not set<br /># CONFIG_NLS_ISO8859_3 is not set<br /># CONFIG_NLS_ISO8859_4 is not set<br /># CONFIG_NLS_ISO8859_5 is not set<br /># CONFIG_NLS_ISO8859_6 is not set<br /># CONFIG_NLS_ISO8859_7 is not set<br /># CONFIG_NLS_ISO8859_9 is not set<br /># CONFIG_NLS_ISO8859_13 is not set<br /># CONFIG_NLS_ISO8859_14 is not set<br /># CONFIG_NLS_ISO8859_15 is not set<br /># CONFIG_NLS_KOI8_R is not set<br /># CONFIG_NLS_KOI8_U is not set<br /># CONFIG_NLS_UTF8 is not set</p>
				<p>#<br /># Graphics support<br />#<br /># CONFIG_FB is not set<br /># CONFIG_VIDEO_SELECT is not set</p>
				<p>#<br /># Console display driver support<br />#<br />CONFIG_VGA_CONSOLE=y<br /># CONFIG_MDA_CONSOLE is not set<br />CONFIG_DUMMY_CONSOLE=y</p>
				<p>#<br /># Sound<br />#<br />CONFIG_SOUND=y</p>
				<p>#<br /># Advanced Linux Sound Architecture<br />#<br />CONFIG_SND=m<br />CONFIG_SND_SEQUENCER=m<br /># CONFIG_SND_SEQ_DUMMY is not set<br />CONFIG_SND_OSSEMUL=y<br />CONFIG_SND_MIXER_OSS=m<br />CONFIG_SND_PCM_OSS=m<br />CONFIG_SND_SEQUENCER_OSS=y<br /># CONFIG_SND_RTCTIMER is not set<br /># CONFIG_SND_VERBOSE_PRINTK is not set<br /># CONFIG_SND_DEBUG is not set</p>
				<p>#<br /># Generic devices<br />#<br /># CONFIG_SND_DUMMY is not set<br /># CONFIG_SND_VIRMIDI is not set<br /># CONFIG_SND_MTPAV is not set<br /># CONFIG_SND_SERIAL_U16550 is not set<br /># CONFIG_SND_MPU401 is not set</p>
				<p>#<br /># ISA devices<br />#<br /># CONFIG_SND_AD1848 is not set<br /># CONFIG_SND_CS4231 is not set<br /># CONFIG_SND_CS4232 is not set<br /># CONFIG_SND_CS4236 is not set<br /># CONFIG_SND_ES1688 is not set<br /># CONFIG_SND_ES18XX is not set<br /># CONFIG_SND_GUSCLASSIC is not set<br /># CONFIG_SND_GUSEXTREME is not set<br /># CONFIG_SND_GUSMAX is not set<br /># CONFIG_SND_INTERWAVE is not set<br /># CONFIG_SND_INTERWAVE_STB is not set<br /># CONFIG_SND_OPTI92X_AD1848 is not set<br /># CONFIG_SND_OPTI92X_CS4231 is not set<br /># CONFIG_SND_OPTI93X is not set<br /># CONFIG_SND_SB8 is not set<br /># CONFIG_SND_SB16 is not set<br /># CONFIG_SND_SBAWE is not set<br /># CONFIG_SND_WAVEFRONT is not set<br /># CONFIG_SND_CMI8330 is not set<br /># CONFIG_SND_OPL3SA2 is not set<br /># CONFIG_SND_SGALAXY is not set<br /># CONFIG_SND_SSCAPE is not set</p>
				<p>#<br /># PCI devices<br />#<br /># CONFIG_SND_ALI5451 is not set<br /># CONFIG_SND_AZT3328 is not set<br /># CONFIG_SND_CS46XX is not set<br /># CONFIG_SND_CS4281 is not set<br /># CONFIG_SND_EMU10K1 is not set<br /># CONFIG_SND_KORG1212 is not set<br /># CONFIG_SND_NM256 is not set<br /># CONFIG_SND_RME32 is not set<br /># CONFIG_SND_RME96 is not set<br /># CONFIG_SND_RME9652 is not set<br /># CONFIG_SND_HDSP is not set<br /># CONFIG_SND_TRIDENT is not set<br /># CONFIG_SND_YMFPCI is not set<br /># CONFIG_SND_ALS4000 is not set<br /># CONFIG_SND_CMIPCI is not set<br /># CONFIG_SND_ENS1370 is not set<br /># CONFIG_SND_ENS1371 is not set<br /># CONFIG_SND_ES1938 is not set<br /># CONFIG_SND_ES1968 is not set<br /># CONFIG_SND_MAESTRO3 is not set<br /># CONFIG_SND_FM801 is not set<br /># CONFIG_SND_ICE1712 is not set<br /># CONFIG_SND_ICE1724 is not set<br />CONFIG_SND_INTEL8X0=m<br /># CONFIG_SND_SONICVIBES is not set<br /># CONFIG_SND_VIA82XX is not set<br /># CONFIG_SND_VX222 is not set</p>
				<p>#<br /># ALSA USB devices<br />#<br /># CONFIG_SND_USB_AUDIO is not set</p>
				<p>#<br /># PCMCIA devices<br />#<br /># CONFIG_SND_VXPOCKET is not set<br /># CONFIG_SND_VXP440 is not set</p>
				<p>#<br /># Open Sound System<br />#<br /># CONFIG_SOUND_PRIME is not set</p>
				<p>#<br /># USB support<br />#<br />CONFIG_USB=m<br /># CONFIG_USB_DEBUG is not set</p>
				<p>#<br /># Miscellaneous USB options<br />#<br />CONFIG_USB_DEVICEFS=y<br /># CONFIG_USB_BANDWIDTH is not set<br /># CONFIG_USB_DYNAMIC_MINORS is not set</p>
				<p>#<br /># USB Host Controller Drivers<br />#<br />CONFIG_USB_EHCI_HCD=m<br />CONFIG_USB_OHCI_HCD=m<br />CONFIG_USB_UHCI_HCD=m</p>
				<p>#<br /># USB Device Class drivers<br />#<br />CONFIG_USB_AUDIO=m<br /># CONFIG_USB_BLUETOOTH_TTY is not set<br /># CONFIG_USB_MIDI is not set<br /># CONFIG_USB_ACM is not set<br />CONFIG_USB_PRINTER=m<br /># CONFIG_USB_STORAGE is not set</p>
				<p>#<br /># USB Human Interface Devices (HID)<br />#<br />CONFIG_USB_HID=m<br /># CONFIG_USB_HIDINPUT is not set<br /># CONFIG_USB_HIDDEV is not set</p>
				<p>#<br /># USB HID Boot Protocol drivers<br />#<br />CONFIG_USB_KBD=m<br />CONFIG_USB_MOUSE=m<br /># CONFIG_USB_AIPTEK is not set<br /># CONFIG_USB_WACOM is not set<br /># CONFIG_USB_KBTAB is not set<br /># CONFIG_USB_POWERMATE is not set<br /># CONFIG_USB_XPAD is not set</p>
				<p>#<br /># USB Imaging devices<br />#<br /># CONFIG_USB_MDC800 is not set<br /># CONFIG_USB_SCANNER is not set<br /># CONFIG_USB_MICROTEK is not set<br /># CONFIG_USB_HPUSBSCSI is not set</p>
				<p>#<br /># USB Multimedia devices<br />#<br /># CONFIG_USB_DABUSB is not set<br /># CONFIG_USB_VICAM is not set<br /># CONFIG_USB_DSBR is not set<br /># CONFIG_USB_IBMCAM is not set<br /># CONFIG_USB_KONICAWC is not set<br /># CONFIG_USB_OV511 is not set<br />CONFIG_USB_PWC=m<br /># CONFIG_USB_SE401 is not set<br /># CONFIG_USB_STV680 is not set</p>
				<p>#<br /># USB Network adaptors<br />#<br /># CONFIG_USB_AX8817X is not set<br /># CONFIG_USB_CATC is not set<br /># CONFIG_USB_KAWETH is not set<br /># CONFIG_USB_PEGASUS is not set<br /># CONFIG_USB_RTL8150 is not set<br /># CONFIG_USB_USBNET is not set</p>
				<p>#<br /># USB port drivers<br />#<br /># CONFIG_USB_USS720 is not set</p>
				<p>#<br /># USB Serial Converter support<br />#<br /># CONFIG_USB_SERIAL is not set</p>
				<p>#<br /># USB Miscellaneous drivers<br />#<br /># CONFIG_USB_EMI26 is not set<br /># CONFIG_USB_TIGL is not set<br /># CONFIG_USB_AUERSWALD is not set<br /># CONFIG_USB_RIO500 is not set<br /># CONFIG_USB_BRLVGER is not set<br /># CONFIG_USB_LCD is not set<br /># CONFIG_USB_TEST is not set<br /># CONFIG_USB_GADGET is not set</p>
				<p>#<br /># Bluetooth support<br />#<br /># CONFIG_BT is not set</p>
				<p>#<br /># Profiling support<br />#<br /># CONFIG_PROFILING is not set</p>
				<p>#<br /># Kernel hacking<br />#<br /># CONFIG_DEBUG_KERNEL is not set<br /># CONFIG_DEBUG_SPINLOCK_SLEEP is not set<br /># CONFIG_FRAME_POINTER is not set<br />CONFIG_X86_EXTRA_IRQS=y<br />CONFIG_X86_FIND_SMP_CONFIG=y<br />CONFIG_X86_MPPARSE=y</p>
				<p>#<br /># Security options<br />#<br /># CONFIG_SECURITY is not set</p>
				<p>#<br /># Cryptographic options<br />#<br /># CONFIG_CRYPTO is not set</p>
				<p>#<br /># Library routines<br />#<br /># CONFIG_CRC32 is not set<br />CONFIG_X86_BIOS_REBOOT=y<br /></p>
		</div>
<img src ="http://www.cnitblog.com/zouzheng/aggbug/14424.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2006-07-30 10:19 <a href="http://www.cnitblog.com/zouzheng/articles/14424.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2.4-&gt;2.6内核升级指南3</title><link>http://www.cnitblog.com/zouzheng/articles/8196.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Tue, 28 Mar 2006 13:42:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/articles/8196.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/8196.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/articles/8196.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/8196.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/8196.html</trackback:ping><description><![CDATA[1. 备份重要的数据<br /><br />这是个好习惯,就不用多说了:-)<br /><br />2. 下载最新的2.6.x内核源码包<br /><br />这个当然要到官方网站<a href="http://www.kernel.org/" target="_blank">www.kernel.org</a>或者它的mirror站点去下载了, 最好别到那些unknown的网站去下, 因为那些源码包有可能被恶意做了手脚. 最新的linux-2.6.4.tar.bz2源码包大概有33M左右. 下载的时候可以泡杯coffee, 然后点根烟......<br /><br />在/usr/src/目录下解开源码包, 得到源代码目录/usr/src/linux-2.6.4/. 在对kernel做任何事情之前, 建议你先看一下它的README文件和Documentation/Changes文件, 从中你会得到不少有用的信息. 这些信息会让你在随后的升级过程避免很多不必要的麻烦.<br /><br />在文档Documentation/Changes中给出了欲成功地升级到kernel-2.6.x所需的最小系统软件要求, 比如对于kernel-2.6.4是这样的:<br /><br />o Gnu C 2.95.3 # gcc --version<br />o Gnu make 3.79.1 # make --version<br />o binutils 2.12 # ld -v<br />o util-linux 2.10o # fdformat --version<br />o module-init-tools 0.9.10 # depmod -V<br />o e2fsprogs 1.29 # tune2fs<br />o jfsutils 1.1.3 # fsck.jfs -V<br />o reiserfsprogs 3.6.3 # reiserfsck -V 2&gt;&amp;1|grep reiserfsprogs<br />o xfsprogs 2.6.0 # xfs_db -V<br />o pcmcia-cs 3.1.21 # cardmgr -V<br />o quota-tools 3.09 # quota -V<br />o PPP 2.4.0 # pppd --version<br />o isdn4k-utils 3.1pre1 # isdnctrl 2&gt;&amp;1|grep version<br />o nfs-utils 1.0.5 # showmount --version<br />o procps 3.2.0 # ps --version<br />o oprofile 0.5.3 # oprofiled --version<br /><br />对于RH8/9的用户而言, 上述要求基本上都能满足. 大概只有两个程序需要更新: modutils工具包和mkinitrd程序.<br /><br />3. 安装module-init-tools-3.0.tar.gz工具包<br /><br />linux-2.6.x内核的module处理过程有所改变(很多原先在用户态下由modutils处理的工作都放到内核里去完成了), 因此2.4.x下的modutils工具包已经不在适合新的2.6.x内核, 必需将其升级到module-init-tools工具包. 该工具包的最新版本是3.0(ps, 该工具包的版本从0.9.15一下跳到3.0, 其跨度之大...hoho). 可以下载module-init-tools-3.0.tar.gz源码包的地方有两个:<br /><br />o Rusty's Linux Kernel Page: <a href="http://www.kernel.org/pub/linux/ker...ools-3.0.tar.gz" target="_blank">http://www.kernel.org/pub/linux/ker...ools-3.0.tar.gz</a><br />o <a href="http://www.kernel.org/pub/linux/uti...ools-3.0.tar.gz" target="_blank">http://www.kernel.org/pub/linux/uti...ools-3.0.tar.gz</a><br /><br />接下来, 按照下列步骤安装module-init-tools工具包:<br /><br /># configure --prefix=/<br /># make moveold<br /># make all install<br /># ./generate-modprobe.conf /etc/modprobe.conf<br /><br />命令"make moveold"将把系统原来的modutils工具程序改名为"*.old"(比如,lsmod.old等等). NOTE! 这是非常重要的一步, 千万不要省略. 这将使得你可以继续使用原有的linux-2.4.x系统, 因为在2.4.x系统下, 新的module-init-tools工具包实际上是倚赖原来"*.old"程序来加载内核模块. 如果忘记了这一步也不要紧张, 可以先下载并安装原来的modutils程序包, 然后按照上面的步骤重来一遍就可以了.<br /><br />新的module-init-tools工具包不再使用原来的/etc/modules.conf配置文件了, 而是使用新的配置文件/etc/modprobe.conf. 因此必需用命令"./generate-modprobe.conf /etc/modprobe.conf"来生成新的配置文件/etc/modprobe.conf. 但是令人不爽的是, 这个生成的新配置文件存在BUG, 下面我们将会提到.<br /><br />4. 更新mkinitrd程序<br /><br />可以到站点<a href="http://people.redhat.com/arjanv/2.6...1-2.i386.rpm" target="_blank">http://people.redhat.com/arjanv/2.6...1-2.i386.rpm</a>包. 由于mkinitrd程序包依赖于device-mapper包, 而device-mapper包又倚赖于lvm2包, 因此你还要同时下载device-mapper-1.00.07-1.i386.rpm包和lvm2-2.00.08-2.i386.rpm包.<br /><br />5. 配置,编译和安装linux-2.6.x内核<br /><br />新内核在Makefile方面的改动很大, "make menuconfig"和"make xconfig"继续存在, 但是"make xconfig"被改写了, 不再使用原来的Tcl/Tk语言, 而是基于QT库了. 新增加了"make gconfig", 它是基于GTK库的. "make xconfig"和"make gconfig"比原来更强大而且更易于使用了. 但不幸的是, 它们好像还不太稳定......因此, 还是使用我最喜欢的"make menuconfig"吧:-)<br /><br />关于新内核的配置想提几点:<br /><br />o 关于"Loadable Module support"选项, 一定要选上"Module unloading"和"Automatic kernel module loading"这两个选项.<br />o 关于"Processor type and features"选项, 一定要选上"Preemptible Kernel"选项, 这是2.6.x内核优于2.4.x内核的重要原因之一.<br />o 关于"Block Devices"的配置, 一定要选上对loopback和ramdisk的支持.<br />o 关于"Multi-device support(RAID and LVM)", 要选上"device mapper".<br />o 关于"Input device support", 记得要选上"Keyboards"和"Mice"的支持.<br />o 关于"Graphics support", 要选上对frame buffer的支持.<br />o 关于ALSA, 要选上"OSS API emulation"选项. OSS可以不用了.<br />o 关于USB, 能选的都选上吧:-)<br />o 关于文件系统, 选上常用的那几种就可以了. 如果要体验sysfs的话, 要选上对sysfs的支持.<br /><br />配制好内核后, 就可以直接编译了, "make dep"这一步已经显示地需要了.<br /><br /># make bzImage<br /># make modules<br /># make modules_install<br /># make install<br /><br />上面的命令"make install"将: (1)把压缩内核映象拷贝到/boot目录下, 并创建相应的System.map符号链接; (2)修改bootloader的配置文件; (3)调用mkinitrd程序创建内核的initrd映象. 对于GRUB而言, 将在/boot/grub/grub.conf配置文件增加如下类似的配置行:<br /><br />title Red Hat Linux (2.6.4)<br />root(hd0, 1)<br />kernel /boot/vmlinuz-2.6.4 ro root=LABEL=/<br />initrd /boot/initrd-2.6.4.img<br /><br />不幸的是, 新内核并不识别"root=LABEL=/"这个启动参数. 如果现在你就重新启动新内核的话, 将发生kernel panic错误. 因此, 必需把这个"root=LABEL=/"启动参数去掉, 就OK了.<br /><br />到这里, 你已经可以重启机器, 用kernel-2.6.4启动了. 当然, 多半你不会成功, 不是没鼠标就是没键盘:-)<br /><br />6. 支持Hotplug<br /><br />当然, 首先要在内核配置时配置了HOTPLUG的支持. 然后, 由于/proc/ksyms改名为/proc/kallsyms, 所以必需修改启动脚本/etc/rc.sysinit. 为了兼容原有的linux-2.4.x系统, 可以加上下面几行:<br /><br />#<br /># ----- KERNEL 2.6.x support ------<br /># This is for compatibility between kernel-2.4.x and kernel-2.6.x<br />#<br />UNAME=`uname -r`<br />KERNELVER=${UNAME:0:3}<br />if [ "$KERNELVER" = "2.6" ]; then<br />#<br /># This is kernel-2.6.x<br />#<br />KSYMS=/proc/kallsyms<br />else<br />#<br /># This is kernel-2.4.x<br />#<br />KSYMS=/proc/ksyms<br />fi<br /><br />然后, 把rc.sysinit文件中所有出现/proc/ksyms的地方都换成"$KSYMS"变量引用. 配置好后, 还必需下载hotplug的用户态辅助工具包:<a href="http://www.kernel.org/pub/linux/uti...4_03_11.tar.gz." target="_blank">http://www.kernel.org/pub/linux/uti...4_03_11.tar.gz.</a> 解开这个包以后, 直接"make install"就可以了. 它将产生/etc/hotplug/配置目录.<br /><br />7. 体验sysfs<br /><br />首先, 创建目录/sys:<br /><br /># mkdir /sys<br /><br />然后, 按照下列步骤修改启动脚本/etc/rc.sysinit文件:<br /><br />o 找到行: mount -f /proc", 在下面增加:<br /><br />if [ "$KERNELVER" = "2.6" ]; then<br />mount -f /sys<br />fi<br /><br />o 找到行: action $"Mounting proc filesystem: " mount -n -t proc /proc /proc, 在其下面增加这样一行:<br /><br />#<br /># Mount /sys for kernel-2.6.x<br />#<br />if [ "$KERNELVER" = "2.6" ]; then<br />action $"Mounting sysfs filesystem: " mount -n -t sysfs /sys /sys<br />fi<br /><br />接下来, 在/etc/fstab文件中, 加入这样一行:<br /><br />none /sys sysfs defaults 0 0<br /><br />最后, 修改/etc/init.d/halt脚本中的halt_get_remaining函数:<br /><br />将:<br />awk '$2 ~ /^\/$|^\/proc|^\/dev/{next}<br />改为:<br />awk '$2 ~ /^\/$|^\/proc|^\/sys|^\/dev/{next}<br /><br />8. 支持USB设备<br /><br />linux-2.6.x的USB驱动模块的名字已经改变了, 所以由此引起的问题多多......, 对应于USB-2.0的host控制器的内核模块名字仍然是ehci-hcd, 对应USB-1.1的host控制器的内核模块名字已经从usb-ohci改为ochi-hcd, 对应于通用USB host控制器的内核模块名字已经从usb-uhci该为uhci-hcd.<br /><br />然而不幸的是, 在安装module-init-tools程序包时生成的/etc/modprobe.conf配置文件却仍然使用usb-ohci这个名字. 例如:<br /><br />alias usb-controller usb-ohci<br />alias usb-controller1 ehci-hcd<br /><br />因此, 要把它改为:<br /><br />alias usb-controller ohci-hcd<br />alias usb-controller1 ehci-hcd<br /><br />如果不做这样的修改, 那么使用USB-1.1 host控制器的机器在启动内核的时候将着不到相应的驱动模块.<br /><br />支持USB键盘的模块名字也从keybdev变为usbkbd, 支持USB鼠标的模块名字也从mousedev改为usbmouse. 因此, 我们必需修改启动脚本/etc/rc.sysinit文件. 同时为了兼容原有的2.4.x系统, 我们在脚本的一开始定义两个变量:<br /><br />#<br /># ----- KERNEL 2.6.x support ------<br /># This is for compatibility between kernel-2.4.x and kernel-2.6.x<br />#<br />UNAME=`uname -r`<br />KERNELVER=${UNAME:0:3}<br />if [ "$KERNELVER" = "2.6" ]; then<br />#<br /># This is kernel-2.6.x<br />#<br />KSYMS=/proc/kallsyms<br />KEYBDEV_NAME=usbkbd<br />MOUSEDEV_NAME=usbmouse<br />else<br />#<br /># This is kernel-2.4.x<br />#<br />KSYMS=/proc/ksyms<br />KEYBDEV_NAME=keybdev<br />MOUSEDEV_NAME=mousedev<br />fi<br /><br />然后, 把/etc/rc.sysinit脚本文件中出现keybdev和mousedev的地方都改为$KEYBDEV_NAME和$MOUSEDEV_NAME. 把脚本文件/etc/rc.sysinit中的needusbstorage部分从:<br /><br />needusbstorage=<br />if [ $usb = "1" ]; then<br />needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /proc/bus/usb/devices 2&gt;/dev/null`<br />LC_ALL=C grep 'hid' /proc/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe hid 2&gt; /dev/null<br /><br />action $"Initializing USB keyboard: " modprobe $KEYBDEV_NAME 2&gt; /dev/null<br />action $"Initializing USB mouse: " modprobe $MOUSEDEV_NAME 2&gt; /dev/null<br />fi<br /><br />改为:<br /><br />needusbstorage=<br />if [ $usb = "1" ]; then<br />if [ "$KERNELVER" = "2.6" ]; then<br />needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /sys/bus/usb/devices 2&gt;/dev/null`<br />LC_ALL=C grep 'hid' /sys/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe usbhid 2&gt; /dev/null<br />else<br />needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /proc/bus/usb/devices 2&gt;/dev/null`<br />LC_ALL=C grep 'hid' /proc/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe hid 2&gt; /dev/null<br />fi<br />action $"Initializing USB keyboard: " modprobe $KEYBDEV_NAME 2&gt; /dev/null<br />action $"Initializing USB mouse: " modprobe $MOUSEDEV_NAME 2&gt; /dev/null<br />fi<br /><br />好了, 到此为止, 我们应该可以重新启动机器了, 赶快去体验最新的kernel-2.6.4吧:-)<br /><br />9. 其它<br /><br />o 关于在linux-2.6.x系统上不能正常使用RPM命令的问题, 请参阅文档[2]和[6].<br />o 关于声卡的问题, 可以参阅参考文档[2]和[6].<br />o 关于在linux-2.6.x系统上运行vmware的问题, 请参阅参考文档[2]和[6].<br /><br />10. 参考文档<br /><br />[1] Kernel 2.6.x, the new breed: <a href="http://linuxbooks.pananix.com/kernel2.6.html" target="_blank">http://linuxbooks.pananix.com/kernel2.6.html</a><br />[2] Upgrading RH9 to 2.6.0-test4: <a href="http://www.fearthecow.net/index.pl?...amp;page=kernel" target="_blank">http://www.fearthecow.net/index.pl?...amp;page=kernel</a><br />[3] HowTo Upgrade To The 2.6 Kernel: <a href="http://kerneltrap.org/node/view/799" target="_blank">http://kerneltrap.org/node/view/799</a><br />[4] Building Linux Kernel 2.6 on Red Hat 8: <a href="http://www.sabalsoftware.com/articl...26OnRedhat8.php" target="_blank">http://www.sabalsoftware.com/articl...26OnRedhat8.php</a><br />[5] Migrating to Linux kernel 2.6 on recent Redhat systems: <a href="http://linux-sxs.org/upgrading/migration26.html" target="_blank">http://linux-sxs.org/upgrading/migration26.html</a><br />[6] Migrating to Linux Kernel 2.6: <a href="http://thomer.com/linux/migrate-to-2.6.html" target="_blank">http://thomer.com/linux/migrate-to-2.6.html</a><br /><br />2004/11/17 修改usb hid模块名<br /><a href="http://www.linuxsir.org/bbs/showthr...threadid=155494" target="_blank">http://www.linuxsir.org/bbs/showthr...threadid=155494</a><br /><img src ="http://www.cnitblog.com/zouzheng/aggbug/8196.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2006-03-28 21:42 <a href="http://www.cnitblog.com/zouzheng/articles/8196.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux内核升级2.6 资料（2）</title><link>http://www.cnitblog.com/zouzheng/articles/8190.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Tue, 28 Mar 2006 11:46:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/articles/8190.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/8190.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/articles/8190.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/8190.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/8190.html</trackback:ping><description><![CDATA[
		<span class="postbody">首先还是要说在 RH8/RH9 上最好升级回与原版本相同的内核（如 kernel-2.4.xx ）否则会因为版本差别太大而造成很多不必要的麻烦。废话少说，下面开始升级 <br /><br />一. 在升级前必须对以下的组件升级 <br />1. 升级 device-mapper，在 <a href="ftp://sources.redhat.com/pub/dm下载" target="_blank">ftp://sources.redhat.com/pub/dm下载</a><br />cd /usr/src <br />tar -zxvf device-mapper.1.01.04.tgz <br />cd device-mapper.1.01.04 <br />./configure --perfix=/ <br />make all <br />make install <br /><br />2. 安装 LVM2，在 <a href="ftp://sources.redhat.com/pub/lvm2下载" target="_blank">ftp://sources.redhat.com/pub/lvm2下载</a><br />cd /usr/src <br />tar -zxvf LVM2.2.01.14.tgz <br />cd LVM2.2.01.14 <br />./configure --perfix=/ <br />make all <br />make install <br />PS: 如果 make 时出错，可能是与系统原来的LVM1有冲突，可以 rpm -e --nodeps lvm 把原LVM1删除掉,再重新编译过device-mapper 和 LVM2。 <br /><br />3. 升级 mkinitrd 在 <a href="http://rpm.pbone.net/" target="_blank">http://rpm.pbone.net/</a> 下查找 <br />rpm -Uvh mkinitrd-3.5.11-3.9.i386.rpm <br /><br />4.update modutils 在 <a href="ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/下载" target="_blank">ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/下载</a><br />cd /usr/src <br />tar -zxvf modutils-2.4.27.tar.gz <br />cd modutils-2.4.27 <br />./configure --perfix=/ <br />make all <br />make install <br /><br />5.安装module-init-tools，在 <a href="ftp://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools" target="_blank">ftp://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools</a> 下载 <br />cd /usr/src <br />tar -zxvf module-init-tools-3.2-pre9.tar.gz <br />cd module-init-tools-3.2-pre9 <br />./configure --prefix=/ <br />make moveold <br /><br />ps:"make moveold"将把系统原来的modutils工具程序改名为"*.old"(比如,lsmod.old等,是非常重要的一步! 如果忘记了这一步也不要紧张, 可以按照上面的步骤4重装一遍modutils就可以了. <br /><br />make <br /><br />ps: 用module-init-tools-3.1 编译时会出现 "make: *** [modprobe.conf.5] Error 127" <br /><br />建议用 3.0 或 3.2-pre 版 <br /><br />make install <br />./generate-modprobe.conf /etc/modprobe.conf</span>
		<span class="postbody">
				<br />
				<script type="text/javascript">
						<!--
				google_ad_client = "pub-3152530285624674";
				google_ad_width = 468;
				google_ad_height = 15;
				google_ad_format = "468x15_0ads_al";
				google_ad_channel ="";
				//-->
				</script>
				<span class="postbody">二. 升级内核， <br />在 <a href="ftp://ftp.kernel.org/pub/linux/kernel/" target="_blank"><font color="#002c99">ftp://ftp.kernel.org/pub/linux/kernel/</font></a> 下载 <br />cd /usr/src <br />tar -zxvf linux-2.6.13.3.tar.gz <br />cd linux-2.6.13.3.tar <br />bzip2 -dc patch-2.6.13.3.bz2 | patch -p1 -R ；打补丁 <br />make mrproper ;初次编译可以不运行这一步 <br />make clean ;初次编译不用运行这一步，第2次编译时把上一次编译出来的删除掉 <br />make menuconfig ； 配置内核 <br /><br />ps:另外可以用以下命令代替 <br />1. make config ;基于文本的最为传统的配置界面 <br />2. make oldconfig ;自动保存为旧版的设置 <br />3. make menuconfig ;txt界面下的菜单设置 <br />4. make xconfig ;kernel 2.6 下新图形窗口模式的配置界面需要PQ库的支持 <br />5. make gconfig ;旧的图形窗口模式的配置界面 <br /><br />要点: 1. Device Drivers --&gt;Block devices--〉Initial RAM disk (initrd) support 一定要选上（Y），Default RAM disk size一定要改成16384以上 <br />2. 有SCSI卡(如VMware 中的BusLogic BT946C) 的要把它编译成模块(M) 不然会在make install 出错 <br />3. USB support 选模块(M) USB HID Boot Protocol drivers 中的 Keyboard/Mouse选(M) <br />4. Sound card support 可以选上新支持的模块Advanced Linux Sound Architecture ,至于旧的Open Sound System 模块就不要再选了. <br />关键是把Sound card support 以及 Advanced Linux Sound Architecture 里面的选项选成模块（M） <br />5. 通过lspci 命令查看硬件设备, 如有列出的一定要在 config 时选上 <br /><br />make ；漫长的编译过程，你可以走出去喝茶吃包，回来还没有编译完... <br />ps:在kernel 2.6 下已经省略了 make dep这一步 <br /><br />make modules_install install ; 安装内核及模块。安装完成后可以重启进入新的内核</span>
				<span class="postbody">
						<br />
						<span class="postbody">三. 在新内核里发现有不少的改变,如果要正常运行必须要做一些修改, <br />1.在修改之前先备份以下文件(好的习惯) <br />/etc/rc.sysinit <br />/etc/fstab <br />/etc/rc.d/init.d/halt <br />/etc/modprobe.conf <br /><br />2.新增的文件系统 sysfs <br />1. mkdir /sys <br />2. 在 /etc/rc.sysinit 中 <br />找 mount -f /proc 在其后加上在下面加上 mount -f /sys <br />再顺便把下一行 [ -f /proc/bus/usb/devices ] &amp;&amp; mount -f -t usbdevfs usbdevfs /proc/bus/usb 改成 [ -f /sys/bus/usb/devices ] &amp;&amp; mount -f -t usbfs usbfs /sys/bus/usb <br /><br />找 action $"Mounting proc filesystem: " mount -n -t proc /proc /proc 在其后加上在下面加上 action $"Mounting sysfs filesystem: " mount -n -t sysfs /sys /sys <br />3. 在/etc/fstab中加上一行 none /sys sysfs defaults 0 0 <br />4. 修改 /etc/rc.d/init.d/halt <br />找 awk '$2 ~ /^/$|^\/proc|^\/dev/{next} <br />改成 awk '$2 ~ /^/$|^\/proc|^\/sys|^\/dev/{next} <br />找 [ -f /proc/bus/usb/devices ] &amp;&amp; umount /proc/bus/usb <br />改成 [ -f /sys/bus/usb/devices ] &amp;&amp; umount /sys/bus/usb <br />5.找 rc.sysinit和/etc/rc.d/init.d/halt 中的所有 /proc/bus/usb 改成 /sys/bus/usb <br /><br />2.ps/2鼠标设备从原来的/dev/psaux 改成 /dev/input/mice <br />rm /dev/psaux <br />ln -s /dev/psaux /dev/input/mice <br /><br />3.USB模块名的更改 <br />打开 /etc/rc.sysinit,找 <br />usb=0 <br /><br />if ! LC_ALL=C grep -iq "nousb" /proc/cmdline 2&gt;/dev/null &amp;&amp; ! LC_ALL=C grep -q "usb" /proc/devices 2&gt;/dev/null ; then <br /><br />aliases=`/sbin/modprobe -c | awk '/^alias usb-controller/ { print $3 }'` <br /><br />if [ -n "$aliases" -a "$aliases" != "off" ]; then <br /><br />modprobe usbcore <br /><br />for alias in $aliases ; do <br /><br />[ "$alias" != "off" ] &amp;&amp; action $"Initializing USB controller ($alias): " modprobe $alias <br /><br />done <br /><br />[ $? -eq 0 -a -n "$aliases" ] &amp;&amp; usb=1 <br /><br />fi <br /><br />fi <br /><br /><br /><br />if ! LC_ALL=C grep -iq "nousb" /proc/cmdline 2&gt;/dev/null &amp;&amp; LC_ALL=C grep -q "usb" /proc/devices 2&gt;/dev/null ; then <br /><br />usb=1 <br /><br />fi <br /><br /><br /><br />if [ $usb = 1 -a ! -f /proc/bus/usb/devices ]; then <br /><br />action $"Mounting USB filesystem: " mount -t usbdevfs usbdevfs /proc/bus/usb <br /><br />fi <br /><br /><br /><br />needusbstorage= <br /><br />if [ $usb = "1" ]; then <br /><br />needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /proc/bus/usb/devices 2&gt;/dev/null` <br /><br />LC_ALL=C grep 'hid' /proc/bus/usb/drivers || action $"Initializing USB HID interface: " modprobe hid 2&gt; /dev/null <br /><br />action $"Initializing USB keyboard: " modprobe keybdev 2&gt; /dev/null <br /><br />action $"Initializing USB mouse: " modprobe mousedev 2&gt; /dev/null <br /><br />fi <br /><br />改成 <br /><br />modprobe usbcore <br />action $"Initializing USB controller (uhci-hcd): " modprobe uhci-hcd <br /><br />usb=1 <br /><br /><br /><br />if [ $usb = 1 -a ! -f /sys/bus/usb/devices ]; then <br /><br />action $"Mounting USB filesystem: " mount -t usbfs usbfs /sys/bus/usb <br /><br />fi <br /><br /><br /><br />needusbstorage= <br /><br />if [ $usb = "1" ]; then <br /><br />needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /sys/bus/usb/devices 2&gt;/dev/null` <br /><br />action $"Initializing USB HID interface: " modprobe usbhid 2&gt; /dev/null <br /><br />action $"Initializing USB keyboard: " modprobe usbkbd 2&gt; /dev/null <br /><br />action $"Initializing USB mouse: " modprobe usbmouse 2&gt; /dev/null <br /><br />fi <br /><br />ps: 2.6中模块名已经改了 <br />usb_huic --&gt; uhci-hcd ; uhci-hcd 是通用控制器/ ochi-hcd USB-1.1控制器 / ehci-hcd USB-2.0控制器 <br />hid --&gt; usbhid ;输入模块 <br />keybdev --&gt; usbkbd ;键盘模块 <br />mousedev --&gt; usbmouse ;鼠标模块 <br />4.新增的声卡模块ALSA <br />1). 首先把Sound card support 以及 Advanced Linux Sound Architecture 里面的选项编译成模块(M) <br />2). 把 /etc/modprobe.conf 里有关声卡的选项除了 alias char-major-14-* soundcore 外都删除掉 <br />ps:ALSA是需要soundcore的支持.通过命令modinfo soundcore 可以看到以下信息 <br />description: Core sound module <br />author: Alan Cox <br />license: GPL <br />alias: char-major-14-* <br />vermagic: 2.6.13 PENTIUM4 REGPARM gcc-3.2 <br />depends: <br />srcversion: 6E1C8780DE9ADFFB5BCD439 <br /><br />3). 启动新内核后必须要安装 alsa-lib-1.0.9.tar.bz2 和 alsa-utils-1.0.9.tar.bz2 你可以到官方网站 <a href="http://www.alsa-project.org/" target="_blank"><font color="#002c99">http://www.alsa-project.org/</font></a> 下载。 <br />cd /usr/src <br />tar -jxvf alsa-lib-1.0.9.tar.bz2 <br />tar -jxvf alsa-utils-1.0.9.tar.bz2 <br />cd alsa-lib-1.0.9 <br />./configure;make;make install <br />cd ../alsa-utils-1.0.9 <br />./configure;make;make install <br /><br />4). 装完alsa-lib / alsa-utils 后就可以通过alsaconf来对声卡作设置 <br />5). 用lsmod看到声卡模块被加载 <br />6). 用alsamixer设置声卡音量 <br />7). 测试声卡可以 aplay /usr/share/sounds/alsa/Front_Center.wav，终于能发声了，兴奋ing... <br /><img alt="Cool" src="http://www.linuxfans.org/nuke/modules/Forums/images/smiles/icon_cool.gif" border="0" />. 重启内核后发现声卡模块可能无法正常加载， 可以在 /etc/rc.d/rc.local 加入 modprobe 声卡模块名 让内核启动时自动加载声卡 <br />9). 有关 ALSA 的详细说明请在官方网站 <a href="http://www.alsa-project.org/alsa-doc/" target="_blank"><font color="#002c99">http://www.alsa-project.org/alsa-doc/</font></a> 选上你声卡的型号查看 <br /><br />5.rpm 问题，在新内核起动后，rpm有些功能不能使用，并出现下列错误 <br />rpmdb: unable to join the environment <br />error: db4 error(11) from dbenv-&gt;open: Resource temporarily unavailable <br />error: cannot open Packages index using db3 - Resource temporarily unavailable (11) <br />error: cannot open Packages database in /var/lib/rpm <br />no packages <br /><br />解决方法是，运行 export LD_ASSUME_KERNEL=2.2.5 并把才句加入 /etc/bashrc 里面 <br />再 rpm -q mkinitrd 看一下， 正常了。 <br /><br />6.CD-ROM 模块的改变 <br />1). vi /etc/fstab 把 <br /><br />/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0 <br /><br />改成 <br /><br />/dev/hdc /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0 <br /><br />2). mount /dev/hdc</span>
						<span class="postbody">
								<br />
								<script type="text/javascript">
										<!--
				google_ad_client = "pub-3152530285624674";
				google_ad_width = 468;
				google_ad_height = 15;
				google_ad_format = "468x15_0ads_al";
				google_ad_channel ="";
				//-->
								</script>
								<span class="postbody">spb就只能在R9上装的 <br />并且 mount -t usbdevfs usbdevfs /proc/bus/usb <br />好象不对阿,因该是 <br />mount -t usbfs usbfs /proc/bus/usb <br />并且2.6的usb鼠标需要 <br />modprobe ehci-hcd <br />modprobe ohci-hcd <br />modprobe usbhid <br />modprobe evdev <br />modprobe parport <br />modprobe parport_pc</span>
								<span class="postbody">
										<br />
								</span>
								<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
								</script>
						</span>
				</span>
				<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
				</script>
		</span>
<img src ="http://www.cnitblog.com/zouzheng/aggbug/8190.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2006-03-28 19:46 <a href="http://www.cnitblog.com/zouzheng/articles/8190.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux内核升级到2.6资料（1）</title><link>http://www.cnitblog.com/zouzheng/articles/8189.html</link><dc:creator>zz</dc:creator><author>zz</author><pubDate>Tue, 28 Mar 2006 11:42:00 GMT</pubDate><guid>http://www.cnitblog.com/zouzheng/articles/8189.html</guid><wfw:comment>http://www.cnitblog.com/zouzheng/comments/8189.html</wfw:comment><comments>http://www.cnitblog.com/zouzheng/articles/8189.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/zouzheng/comments/commentRss/8189.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/zouzheng/services/trackbacks/8189.html</trackback:ping><description><![CDATA[一、下载解压并打上内核补丁 <br />　　我以2.6.10为例子，patche以bk4的例子，目的只是让大家知道怎么打patch，其实本人用的是2.6.6的内核，因为在AS3.0上升级到2.6.9以上的内核，mount大的nfs网络硬盘时，df 显示不正确，明明是800G的盘变成4.2G，不过还是能正常用，我升级过nfs和mount的包都没用，/var/log/message里提示是kernel: nfs warning: mount version older than kernel， 还望知道的告知一声，谢 :) BTW:2.6.8的内核没用过 <br />　　<br />　　内核源代码：<a href="http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.10.tar.bz2"><font color="#336699">http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.10.tar.bz2</font></a><br />　　最新内核补丁：<a href="http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.10-bk4.bz2"><font color="#336699">http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.10-bk4.bz2</font></a><br />　　<br />　　cd /usr/src <br />　　rm -rf linux <br />　　tar jxf /download/linux-2.6.10.tar.bz2 <br />　　ln -s linux-2.6.10 linux <br />　　cd linux <br />　　bunzip2 -dv /download/patch-2.6.10-bk4.bz2 |patch -p1 <br />　　如果在/usr/src目录下就用patch -p0 <br />　　<br />　　二、修改内核源代码 (升级2.6就是为了优化，干脆连源代码也改了吧) <br />　　<br />　　1.修改/usr/src/linux/include/linux/posix_types.h <br />　　设置fd_set支持的最大数量 <br />　　#define __FD_SETSIZE 1024 ---&gt; 65536 <br />　　<br />　　2.修改/usr/src/linux/include/linux/fs.h <br />　　设置最大打开文件数量（TCP连接数量） <br />　　#define INR_OPEN 1024 ---&gt; 65536 <br />　　#define NR_FILE 8192 ---&gt; 65536 <br />　　#define NR_RESERVED_FILES 10 ---&gt; 128 <br />　　<br />　　3.修改/usr/src/linux/include/net/tcp.h <br />　　设置TIMEOUT的时间为1秒 <br />　　#define TCP_TIMEWAIT_LEN (60*HZ) 60 ---&gt; 1*HZ <br />　　设置在backlog队列里的半连接的重试次数，每次都会花相应的时间，本质上也是减少重试时间 <br />　　#define TCP_SYNACK_RETRIES 5 ---&gt; 3 <br />　　<br />　　针对RHEL-AS3本来就是稳定+优化的，不过就算你用 RHEL-AS3 自己的内核，那也要修改一下上面的参数才好呀 :) 
<p>　　<br />　　三、安装必要的工具 <br />　　<br />　　1.下载module-init-tools-3.1.tar.bz2 <br />　　<a href="http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.1.tar.bz2"><font color="#336699">http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.1.tar.bz2</font></a><br />　　代码: <br />　　　　./configure --prefix=/ <br />　　　　make moveold <br />　　　　make all install <br />　　　　./generate-modprobe.conf /etc/modprobe.conf <br />　　<br />　　2.下载新的mkinitrd <br />　　<a href="ftp://195.220.108.108/linux/6/fedora/core/3/i386/os/Fedora/RPMS/mkinitrd-4.1.18-2.i386.rpm"><font color="#336699">ftp://195.220.108.108/linux/6/fedora/core/3/i386/os/Fedora/RPMS/mkinitrd-4.1.18-2.i386.rpm</font></a><br />　　它需要lvm2 device-mapper <br />　　<a href="ftp://195.220.108.108/linux/6/fedora/core/3/i386/os/Fedora/RPMS/device-mapper-1.00.19-2.i386.rpm"><font color="#336699">ftp://195.220.108.108/linux/6/fedora/core/3/i386/os/Fedora/RPMS/device-mapper-1.00.19-2.i386.rpm</font></a><br />　　<a href="ftp://195.220.108.108/linux/6/fedora/core/3/i386/os/Fedora/RPMS/lvm2-2.00.25-1.01.i386.rpm"><font color="#336699">ftp://195.220.108.108/linux/6/fedora/core/3/i386/os/Fedora/RPMS/lvm2-2.00.25-1.01.i386.rpm</font></a><br />　　如果不更新这个包在make install时会提示以下错误： <br />　　代码: <br />　　　　No module mptbase found for kernel 2.6.10-bk4， aborting. <br />　　　　mkinitrd failed <br />　　　　make[1]: *** [install] Error 1 <br />　　　　make: *** [install] Error 2 <br />　　<br />　　安装lvm2-2.00.25-1.01.i386.rpm时请用rpm -ivh --nodeps package name </p><p>四、make menuconfig <br />代码: <br />　　01.Code maturity level options　　---&gt; <br />　　　　[*] Prompt for development and/or incomplete code/drivers　　　　　　　　　<br />　　　　[*] Select only drivers expected to compile cleanly　　　　　　　　　　　　　　<br />　　02.General setup　---&gt; <br />　　　　[*] Support for paging of anonymous memory (swap)　　　　　　　　　　　<br />　　　　[*] System V IPC　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[*] POSIX Message Queues　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[ ] BSD Process Accounting　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[*] Sysctl support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[ ] Auditing support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[ ] Support for hot-pluggable devices　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[*] Kernel Userspace Events　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[ ] Kernel .config support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[*] Configure standard kernel features (for small systems)　---&gt;　　<br />　　　　 [*] Load all symbols for debugging/kksymoops　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　[ ]　 Do an extra kallsyms pass　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　[*]　 Enable futex support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　[*]　 Enable eventpoll support　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　[ ]　 Optimize for size　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　[*]　 Use full shmem filesystem <br />　　03.Loadable module support　---&gt;　　　　　<br />　　　　[*] Enable loadable module support　　　　　　　　　　　　　　　　　　　　　<br />　　　　[*]　 Module unloading　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[ ]　 Forced module unloading　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[ ]　 Module versioning support (EXPERIMENTAL)　　　　　　　　　　　　　　　　<br />　　　　[ ]　 Source checksum for all modules　　　　　　　　　　　　　　　　　　　　<br />　　　　[*]　 Automatic kernel module loading <br />　　04.Processor type and features　---&gt;　<br />　　　　　 Subarchitecture Type (PC-compatible)　---&gt;　　<br />　　　　　 Processor family (Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon)　---&gt;　　<br />　　　 [*] Generic x86 support　　　　　　　　　　　　　　　　　　<br />　　　 [ ] HPET Timer Support　　　　　　　　　　　　　　　　　　　<br />　　　 [*] Symmetric multi-processing support　　　多CPU　　　　　　　　<br />　　　 (8)　 Maximum number of CPUs (2-255)　　　　　　　　　　　　<br />　　　 [*]　 SMT (Hyperthreading) scheduler support　　　　　　　　<br />　　　 [*] Preemptible Kernel　　　　　　　　　　 抢占式内核，请选上它　　<br />　　　 [ ] Machine Check Exception　　　　　　　　　　　　　　　　<br />　　　 &lt; &gt; Toshiba Laptop support　　　　　　　　　　　　　　　　　<br />　　　 &lt; &gt; Dell laptop support　　　　　　　　　　　　　　　　　　<br />　　　 &lt; &gt; /dev/cpu/microcode - Intel IA32 CPU microcode support　<br />　　　 &lt; &gt; /dev/cpu/*/msr - Model-specific register support　　　　<br />　　　 &lt; &gt; /dev/cpu/*/cpuid - CPU information support　　　　　　　<br />　　　　　 Firmware Drivers　---&gt;　　　　　　　　　　　　　　　　　<br />　　　　　 High Memory Support (4GB)　---&gt;　　　　 高内存　　　　　　　<br />　　　 [ ] Allocate 3rd-level pagetables from highmem　　　　　　　<br />　　　 [ ] Math emulation　　　　　　　　　　　　　　　　　　　　　<br />　　　 [*] MTRR (Memory Type Range Register) support　　　　　　　<br />　　　 [*] Enable kernel irq balancing　　　　　　　　　　　　　　<br />　　　 [ ] Use register arguments (EXPERIMENTAL)　　　　<br />　　05.Power management options (ACPI， APM)　---&gt;　　电源管理 自定 (偶没选) <br />　　06.Bus options (PCI， PCMCIA， EISA， MCA， ISA)　---&gt; 板卡支持　自定 <br />　　　　[*] PCI support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　PCI access mode (Any)　---&gt;　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[ ] Message Signaled Interrupts (MSI and MSI-X)　　　　　　　　　　　　　　　　<br />　　　　[*] Legacy /proc/pci interface　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[*] PCI device name database　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[ ] ISA support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[ ] MCA support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　&lt; &gt; NatSemi SCx200 support <br />　　07.Executable file formats　---&gt; <br />　　　　[*] Kernel support for ELF binaries　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　&lt;M&gt; Kernel support for a.out and ECOFF binaries　　　　　　　　　　　　　　　　　<br />　　　　&lt;M&gt; Kernel support for MISC binaries　　　　<br />　　08.Device Drivers　---&gt;　 设备驱动及网络支持 <br />　　　　 Generic Driver Options　---&gt;　默认 <br />　　　　　　[*] Select only drivers that don't need compile-time external firmware　　　　　　　　　　<br />　　　　　　[*] Prevent firmware from being built　　　　　　　　　　　　　　　　　　　<br />　　　　 Memory Technology Devices (MTD)　---&gt;　不选 <br />　　　　 Parallel port support　---&gt;　　并行端口　 自定(偶没选)　　　　<br />　　　　 Plug and Play support　---&gt;　　支持热插拔 自定(偶没选) <br />　　　　 Block devices　---&gt; <br />　　　　　　&lt;*&gt; Normal floppy disk support　　　　　　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt; Compaq SMART2 support　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt; Compaq Smart Array 5xxx support　　　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt; Mylex DAC960/DAC1100 PCI RAID Controller support　　　　　　　　<br />　　　　　　&lt; &gt; Micro Memory MM5415 Battery Backed RAM support (EXPERIMENTAL)　<br />　　　　　　&lt;M&gt; Loopback device support　　　　　　　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt; Cryptoloop Support　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　&lt;M&gt; Network block device support　　　　　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt; Promise SATA SX8 support　　　　　　　　　　　　　　　　　　　　<br />　　　　　　&lt;M&gt; RAM disk support　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　(16) Default number of RAM disks　　　　　　　　　　　　　　　　　<br />　　　　　　(4096) Default RAM disk size (kbytes)　　　　　　　　　　　　　　　<br />　　　　　　()　Source directory of cpio_list　　　　　　　　　　　　　　　　　<br />　　　　　　[ ] Support for Large Block Devices　　　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt; Packet writing on CD/DVD media　　　　　　　　　　　　　　　　　<br />　　　　　　　　 IO Schedulers　---&gt;　 IO调度器，都选上吧 可以在grub.conf指定用IO调度哪种方式，后面会讲的　　　　　　　　<br />　　　　　　　　　　 &lt;*&gt; Anticipatory I/O scheduler　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt;*&gt; Deadline I/O scheduler　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt;*&gt; CFQ I/O scheduler　　　　　　<br />　　　　 ATA/ATAPI/MFM/RLL support　---&gt;　 ATA设备 自定 (偶没选) <br />　　　　 SCSI device support　---&gt;　　　 SCSI设备 自定我有scsi的设备所以有以下选项 <br />　　　　　　&lt;*&gt; SCSI device support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　[*]　 legacy /proc/scsi/ support　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　---　 SCSI support type (disk， tape， CD-ROM)　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　&lt;*&gt;　 SCSI disk support　　　　　　　　　　　　　　　　<br />　　　　 因为偶式MPT的SCSI，所以以下都没选，省略之 <br />　　　　 Multi-device support (RAID and LVM)　---&gt;　支持RAID和LVM(逻辑卷)　自定 <br />　　　　　　[*] Multiple devices driver support (RAID and LVM)　　　　<br />　　　　　　&lt;*&gt;　 RAID support　　　　　　　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt;　　 Linear (append) mode　　　　　　　　　　　　　　　<br />　　　　　　&lt;*&gt;　　 RAID-0 (striping) mode　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt;　　 RAID-1 (mirroring) mode　　　　　　　　　　　　　<br />　　　　　　&lt; &gt;　　 RAID-10 (mirrored striping) mode (EXPERIMENTAL)　<br />　　　　　　&lt;*&gt;　　 RAID-4/RAID-5 mode　　　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt;　　 RAID-6 mode (EXPERIMENTAL)　　　　　　　　　　　　<br />　　　　　　&lt;*&gt;　　 Multipath I/O support　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt;　　 Faulty test module for MD　　　　　　　　　　　　<br />　　　　　　&lt;*&gt;　 Device mapper support　　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt;　　 Crypt target support　　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt;　　 Snapshot target (EXPERIMENTAL)　　　　　　　　　　<br />　　　　　　&lt; &gt;　　 Mirror target (EXPERIMENTAL)　　　　　　　　　　　<br />　　　　　　&lt; &gt;　　 Zero target (EXPERIMENTAL)　　　　　　　　　<br />　　　　 Fusion MPT device support　---&gt;　　偶的SCSI是这个，所以选了 还是自定　　　　　　　　<br />　　　　　　　　　&lt;*&gt; Fusion MPT (base + ScsiHost) drivers　　　　　　　　　　　　　　　　　<br />　　　　　　(40)　Maximum number of scatter gather entries　　　　　　　　　　　　　　　<br />　　　　　　&lt;*&gt;　 Fusion MPT misc device (ioctl) driver　　<br />　　　　 IEEE 1394 (FireWire) support　---&gt;　自定　(偶没选) <br />　　　　 I2O device support　---&gt;　　 自定　(偶没选) <br />　　　　 Networking support　---&gt;　　 网络选项 <br />　　　　　　　 [*] Networking support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　 Networking options　---&gt;　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　　　　　　&lt;*&gt; Packet socket　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 [ ]　 Packet socket: mmapped IO　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt; Netlink device emulation　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt;*&gt; Unix domain sockets　　　　如果你有网络就选　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt; PF_KEY sockets　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 [*] TCP/IP networking　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 [ ]　 IP: multicasting　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 [ ]　 IP: advanced router　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 [ ]　 IP: kernel level autoconfiguration　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt;　 IP: tunneling　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt;　 IP: GRE tunnels over IP　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 [ ] IP: ARP daemon support (EXPERIMENTAL)　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 [*] IP: TCP syncookie support (disabled per default)　　 能防DOS攻击，但会降低一点性能，总的说性价比不错　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt; IP: AH transformation　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt; IP: ESP transformation　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt; IP: IPComp transformation　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt; IP: tunnel transformation　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt;*&gt; IP: TCP socket monitoring interface　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　　IP: Virtual Server Configuration　---&gt;　　　　　　　　　 lvs 支持　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt; The IPv6 protocol (EXPERIMENTAL)　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 [*] Network packet filtering (replaces ipchains)　---&gt;　　包过滤省略(知道的自己选，不熟悉的都选上)　<br />　　　　　　　　　　　　　　　　　　　　　 以下都没选，省略 <br />　　　　　　　　[ ] Amateur Radio support　---&gt;　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt; IrDA (infrared) subsystem support　---&gt;　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt; Bluetooth subsystem support　---&gt;　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　[*] Network device support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt;　 Dummy net driver support　　　　　　　　这个是nis服务器的吧，不大清楚，没用过　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　&lt;*&gt;　 Bonding driver support　　　　　　　　　双网卡绑定的　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt;　 EQL (serial line load balancing) support　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　&lt; &gt;　 Universal TUN/TAP device driver support　　　　　　　　　　　<br />　　　　　　　　 ARCnet devices　---&gt;　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　 Ethernet (10 or 100Mbit)　---&gt;　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　 Ethernet (1000 Mbit)　---&gt;　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt; Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit support　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt; D-Link DL2000-based Gigabit Ethernet support　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt; Intel(R) PRO/1000 Gigabit Ethernet support　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt; National Semiconduct DP83820 support　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt; Packet Engines Hamachi GNIC-II support　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt; Packet Engines Yellowfin Gigabit-NIC support (EXPERIMENTAL)　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt; Realtek 8169 gigabit ethernet support　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt; &gt; Marvell Yukon Chipset / SysKonnect SK-98xx Support　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　　　 &lt;*&gt; Broadcom Tigon3 support　　<br />　　　　　　　　以下都没选，省略　　<br />　　　　ISDN subsystem　---&gt;　　　　　　　　　　　　　　　　　　　　　<br />　　　　Telephony Support　---&gt; <br />　　　　Input device support　---&gt;　　　　　　　　　　　　　　　　　　　　　<br />　　　　 Character devices　---&gt;　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　I2C support　---&gt;　　　　　　　<br />　　　　Dallas's 1-wire bus　---&gt;　　　<br />　　　　Misc devices　---&gt;　　　　　　　<br />　　　　Multimedia devices　---&gt;　　　　<br />　　　　Graphics support　---&gt;　　　　　<br />　　　　Sound　---&gt;　　　　　　　　　　<br />　　　　USB support　---&gt;　　　　　　　<br />　　　　MMC/SD Card support　---&gt;　　以上都没选，需要的自己选 <br />　　09.File systems　---&gt;　　　　文件系统　　　<br />　　　　&lt; &gt; Second extended fs support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　&lt;*&gt; Ext3 journalling file system support　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[ ]　 Ext3 extended attributes　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[*] JBD (ext3) debugging support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　&lt; &gt; Reiserfs support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　&lt; &gt; JFS filesystem support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　&lt; &gt; XFS filesystem support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　&lt; &gt; Minix fs support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　&lt; &gt; ROM file system support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　[ ] Quota support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　&lt; &gt; Kernel automounter support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　&lt;*&gt; Kernel automounter version 4 support (also supports v3)　　　　　　　　　　　　　　　　<br />　　　　　　CD-ROM/DVD Filesystems　---&gt;　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　&lt;*&gt; ISO 9660 CDROM file system support　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　[ ]　 Microsoft Joliet CDROM extensions　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　[ ]　 Transparent decompression extension　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　&lt; &gt; UDF file system support　<br />　　　　　　DOS/FAT/NT Filesystems　---&gt;　　　　　　 floppy要用到的文件格式 <br />　　　　　　　　&lt;*&gt; MSDOS fs support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　&lt;*&gt; VFAT (Windows-95) fs support　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　(437) Default codepage for FAT (NEW)　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　(iso8859-1) Default iocharset for FAT (NEW)　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　&lt; &gt; NTFS file system support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　Pseudo filesystems　---&gt; <br />　　　　　　　　[*] /proc file system support　　　　　　　　　　　　　　 proc文件系统支持　　　　　　　　　　　　　　　<br />　　　　　　　　[ ]　 /proc/kcore support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　[ ] /dev file system support (OBSOLETE)　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　[ ] /dev/pts Extended Attributes　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　[*] Virtual memory file system support (former shm fs)　　 虚拟内存支持　　　　　　　　　　　　　　　<br />　　　　　　　　[ ]　 tmpfs Extended Attributes　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　[ ] HugeTLB file system support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　Miscellaneous filesystems　---&gt;　　　　　　　　　　　　　　　　　　　<br />　　　　　　Network File Systems　---&gt;　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　&lt;*&gt; NFS file system support　　　　　　　　　　　nfs客户端支持　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　[*]　 Provide NFSv3 client support　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　[ ]　 Provide NFSv4 client support (EXPERIMENTAL)　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　[ ]　 Allow direct I/O on NFS files (EXPERIMENTAL)　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　&lt; &gt; NFS server support　　　　　　　　　　　　　 nfs服务端支持　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　&lt; &gt; Secure RPC: Kerberos V mechanism (EXPERIMENTAL)　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　&lt; &gt; Secure RPC: SPKM3 mechanism (EXPERIMENTAL)　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　&lt; &gt; SMB file system support (to mount Windows shares etc.)　　　 samba支持　　　　　　　　　　　　　　　　<br />　　　　　　　　&lt; &gt; CIFS support (advanced network filesystem for Samba， Window and other CIFS compliant servers)　　　　<br />　　　　　　　　&lt; &gt; NCP file system support (to mount NetWare volumes)　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　&lt; &gt; Coda file system support (advanced network fs)　　　　　　　　　　　　　　　　　　　　　　　　　　　　<br />　　　　　　　　&lt; &gt; Andrew File System support (AFS) (Experimental)　　　　　　　　　　<br />　　　　　　Partition Types　---&gt;　　　　<br />　　　　　　Native Language Support　---&gt;　　　　　　　　 自己选　　　<br />　　10.Profiling support　---&gt;　　　　　　　　　　　　　　 没选　　　　　　　　　　　　　　　　　　　　　　　<br />　　11.Kernel hacking　---&gt;　　　　　　　　　　　　　　　　没选　　　　　　　　　　　　　　<br />　　12.Security options　---&gt;　　　　　　　　　　　　　　　没选 <br />　　13.Cryptographic options　---&gt;　　　　　　　　　　　　 没选　　<br />　　14.Library routines　---&gt;　　　　　　　　　　　　　　　　　　　　<br />　　　　 &lt; &gt; CRC-CCITT functions　　　　　　　　　　　　　　　　<br />　　　　 &lt;*&gt; CRC32 functions　　　　　　　　　　　　　　　　　　<br />　　　　 &lt;M&gt; CRC32c (Castagnoli， et al) Cyclic Redundancy-Check </p><p><br />　　五、编译安装 <br />　　步骤:make -jn(n代表同时编译的进程，可以加快编译速度，n由你的配置决定，我的配置用15-25) <br />　　make modules_install <br />　　make install <br />　　<br />　　六、grub的设置 <br />　　设置之前先介绍一下2.6的I/O调度器 <br />　　2.6包含的四个I/O调度器分别是No-op I/O scheduler、Anticipatory I/O scheduler、Deadline I/O scheduler与CFQ I/O scheduler。 <br />　　在后文中分别简称为ns、as、ds与cfq。 <br />　　<br />　　ns是一个简化的调度程序它只作最基本的合并与排序。与桌面系统的关系不是很大，主要用在一些特殊的软件 <br />　　与硬件环境下，这些软件与硬件一般都拥有自己的调度机制对内核支持的要求很小，这很适合一些嵌入式系统环境。作为桌面用户我们一般不会选择它。 <br />　　<br />　　as是当前内核中默认的I/O调度器。它拥有非常好的性能，在2.5中它就相当引人注意。在与2.4内核进行的对比测试中，在2.4中多项以分钟为单位 <br />　　完成的任务，它则是以秒为单位来完成的。正因为如此它成为目前2.6测试版中默认的I/O调度器。但它也存在着弱点，它本身是比较庞大与复杂的， <br />　　在一些特殊的情况下，特别是在数据吞吐量非常大的数据库系统中它会变的比较缓慢。 <br />　　<br />　　ds就是针对as的缺点进行改善而来的，还处于测试阶段，但已经很稳定了。目前表现出的性能几乎与as一样好。加之比as更加小巧， <br />　　是相当有前途的调度器，值得一试：) <br />　　<br />　　cfq为系统内的所有任务分配相同的带宽，提供一个公平的工作环境，它比较适合桌面环境。事实上在测试中它也有不错的表现， <br />　　mplayer xmms等多媒体播放器与它配合的相当好，回放平滑几乎没有因访问磁盘而出现的跳帧现象。对于喜欢在Linux下听音乐看电影的朋友不妨尝试一下。 <br />　　<br />　　好了，下面说说怎么设置：参数的格式为elevator=调度器名 <br />　　<br />　　修改/boot/grub/grub.conf，在kernel那行后门加入elevator=deadline <br />　　例如：kernel /boot/vmlinuz-2.6.10-bk4 ro root=/dev/你的根分区 elevator=deadline <br />　　<br />　　七、reboot</p><img src ="http://www.cnitblog.com/zouzheng/aggbug/8189.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/zouzheng/" target="_blank">zz</a> 2006-03-28 19:42 <a href="http://www.cnitblog.com/zouzheng/articles/8189.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>