<FONT color=#f70909>作者:killua 来源:http://www.chinaunix.net/</FONT> ) o* ?3 `, d1 c<>序 5 U2 U7 t7 _ u9 I0 }6 B" X
做一件事情,首先要知道自己在干什么,而不是盲目得升级内核,现在升级内核有点泛滥,sigh ( a+ s5 F5 J3 [4 }6 b首先让我们先了解一下2.6内核的新特性 </P>0 T6 W. j9 i o; [6 p
<>一、01.模块子系统(Module Subsystem)、统一设备模型(Unified Device Model)和 PnP 支持 S1 G. f9 i3 b, i0 m0 a9 B模块子系统发生了重大变化。 </P> 1 R3 M% c- Y; ?1 t* r# D( G: M! q( H<>02.稳定性有所提高 8 {3 s5 a" [2 q% |9 R; t+ R
为了彻底避免内核加载或者导出正在被使用的内核模块,或者至少为了减少加载或者卸载模块的同时使用该模块的可能性 " i' Q Y3 F1 x6 n" C p+ A/ t(这有时会导致系统崩溃),内核加载和导出内核模块的过程都得到了改进。 </P> / B& s; P0 n c0 }+ w2 b<>03.统一设备模型 5 e" S! g0 A6 o统一设备模型的创建是 2.6 内核最重要的变化之一。它促进了模块接口的标准化,其目的是更好地控制和管理设备,例如: </P> , P4 k/ ~, f3 I' E1 B, ]<>更准确地确定系统设备。 / Z4 p8 |$ D! Y- G; z
电源管理和设备电源状态。 7 ]" j8 @ Z' L; |, l/ M3 n改进的系统总线结构管理。 </P> ; q+ h: F: Z/ |! t& i<>04.即插即用(PnP)支持 + J0 o7 s; G! w. C! g3 k1.1.1 和 1.1.2 小节中提及的变化使得运行 2.6 内核的 Linux 成为一个真正即插即用的 OS。 - n- H2 g: m8 \! ]" [) T
例如,对 ISA PnP 扩展、遗留 MCA 和 EISA 总线以及热插拔设备的 PnP 支持。 </P>/ }+ j4 C! z8 N7 a$ Q" W
<>05.内核基础设施的变化 8 \4 ]; d$ @& K4 g: P* L% L
为了区别以 .o 为扩展名的常规对象文件,内核模块现在使用的扩展名是 .ko。 % Z4 x, l9 P# @; _创建了新的 sysfs 文件系统,当内核发现设备树时就会描述它。 6 h5 d- e( n' y) |
内存支持,NUMA 支持 0 V+ z7 Z4 h" Y Y支持更大数量的 RAM ( f; B0 ~8 b0 Q6 D! ^
2.6 内核支持更大数量的 RAM,在分页模式下最高可达 64GB。 </P> ; L& D( V: x- Z; h<>06.NUMA 0 E9 }2 Z. g9 `0 a* o
对非一致内核访问(Non-Uniform Memory Access - NUMA)系统的支持是 2.6 内核中新出现的。 </P>! @$ G! L* a A+ R; v/ J. z
<>07.线程模型,NPTL ) r! m! W8 R5 I
相对于 v2.4 的 LinuxThreads,在版本 2.6 中新出现的是 NPTL(Native POSIX Threading Library)。 % s- Z, w3 F1 u1 X1 z" q
NPTL 为 Linux 带来了<a href="http://hackbase.com/job" target="_blank" >企业</A>级线程支持,提供的性能远远超过了 LinuxThreads。它所基于的用户与内核线程的比率是 1:1。 </P>5 _8 T' B9 y* m$ Z" f4 m) X
<>在 2003 年 10 月,GNU C 程序库 glibc 中融入了 NPTL 支持,Red Hat 率先在 Red Hat Linux 9 和 3 c5 U" C W. ]0 x3 Q
Red Hat Enterprise Linux 中使用定制的 v2.4 内核实现了 NPTL。 </P> # J3 k& j" }, z* O) C- o) H<>08.性能改进 $ Z- N0 f0 V h# l. j+ i新的调度器算法 / {4 F; q' {% e+ v7 M2.6 Linux 内核引入了新的 O(1) 算法。在高负载情况下它运行得特别好。新的调度器基于每个 CPU 来分布时间片, / ~# a. y; j% a3 ]+ ^5 n& x |这样就消除了全局同步和重新分配循环,从而提高了性能。 </P>5 }% f; \: [* t
<>内核抢占(Kernel Preemption) 2 h7 P/ w9 x/ c; N
新的 2.6 内核是抢占式的。这将显著地提高交互式和多媒体应用程序的性能。 </P> " K) d: p$ [& Y, }5 l, ^% ^<>I/O 性能改进 . o$ z1 P+ C3 _# a; r
Linux 的 I/O 子系统也发生了重大的变化,通过修改 I/O 调度器来确保不会有进程驻留在队列中过长时间等待进行输入/输出操作, 9 R. G4 k$ X& W/ m) q* `1 d
这样就使得 I/O 操作的响应更为迅速。 </P>" T8 a" Q; n$ |' R* ~
<>快速用户空间互斥(Fast User-Space Mutexes) 5 p. v5 C/ a3 F% E @) L; W, j
“futexes”(快速用户空间互斥)可以使线程串行化以避免竞态条件,引入它也提高了响应速度。 ' {( f# N. ]7 U3 p" l" L( b1 t
通过在内核空间中部分实现“futexes”以允许基于竞争设置等待任务的优先级而实现改进。 </P> 5 M5 M" z$ F" q<>09.扩展性改进 ( L' C3 S' y# p, j# ]: N) s处理器数目更多 3 h' U0 |: P' F/ ^& |) }- i+ X, C- r
Linux 内核 2.6 最多可以支持 64 个 CPU。支持更大的内存,归功于 PAE(物理地址扩展,Physical Address Extensions),在 32-位系统上分页模式下所支持的内存增加到了 64GB。 </P>4 Q; e. ~0 l8 o" Z/ B5 r, w3 z$ {) h
<>用户和组 - I4 K7 B9 f5 D( q/ f$ K
惟一用户和组的数量从 65,000 增至 40 多亿,也就是从 16-位增加到了 32-位。 </P> $ h' p4 v) T6 s4 g<>ID 的数量 ( c: i' z* G+ H4 Y
PID 的最大数量从 32,000 增至 10 亿。 </P> 2 y7 w, G. C! ] E<>打开文件描述符的数量 + L' [9 S' J- g" c打开文件描述符的数量没有增加,但是不再需要事先设置该参数,它将自行调节。 </P> & x& i" g' ^7 f8 N& R9 N. v<>10.支持更多的设备 k4 g9 c0 z/ X" D在 Linux 内核 2.6 之前,内核中有可以约束大型系统的限制,比如每条链 256 个设备。v2.6 内核彻底地打破了这些限制, : f' Y* A" `& @! ^
不但可以支持更多类型的设备,而且支持更多同类型的设备。在 Linux 2.6 系统中,可以支持 4095 种主要的设备类型, T, n) w6 H6 X. E# T- o0 E2 P0 G每一个单独的类型可以有超过一百万个子设备。 4 v. b2 h: D' ^" R- v, B
文件系统大小 / k$ d2 {+ B$ l" Q" M$ xLinux 内核 2.6 所允许的可寻址文件系统大小最大为 16 TB。 </P> - y7 @$ x" B$ Q* ~$ K. a<>11.文件系统 # E0 @& a7 h: q) ?6 d2 G* o+ Gext2、ext3 和 ReiserFS 等传统 Linux 文件系统得到了显著的改进。最值得注意的改进是扩展属性(或文件元数据)的引入。 8 m& o0 ?0 |( f& D O) ?/ Z7 \
最重要的是 POSIX ACL 的实现,这是对普通 UNIX 权限的扩展,可以支持更细化的用户访问控制。 </P> 5 l$ J/ \; Z* K9 f. A& Q<>12.除了对传统 Linux 文件系统的改进支持以外,新的内核完全支持在 Linux 中相对较新的 XFS 文件系统。 ' Y, a' b- i P; I$ W' \
Linux 2.6 内核现在还引入了对 NTFS 文件系统的改进的支持,现在允许以读/写模式安装 NTFS 文件系统。 </P>2 ~ S7 a: W1 _
<>基于以上2.6的新特性,我决定用2.6的内核,我的系统为Red Hat Enterprise Linux AS release 3 (Taroon Update 3) 4 `5 b1 ?' u# F8 G7 D: \
硬件环境为DELL 2850 </P># R5 o! J" s6 U' }+ U
<>一、下载解压并打上内核补丁 7 e0 o) q. Z) O0 r/ V& W# q8 H# T& p我以2.6.10为例子,patche以bk4的例子,目的只是让大家知道怎么打patch, / q; _3 O2 S$ i# r0 Z' P, v/ ^其实本人用的是2.6.6的内核,因为在AS3.0上升级到2.6.9以上的内核, ! M+ {; `4 z7 {$ ^7 f+ V
mount大的nfs网络硬盘时,df 显示不正确,明明是800G的盘变成4.2G, 2 I3 j" I! x% @: {# o+ Y不过还是能正常用,我升级过nfs和mount的包都没用,/var/log/message里 ! H$ m2 }- l; e$ _
提示是kernel: nfs warning: mount version older than kernel, 2 M7 a1 j- ]0 B* o. q- k3 W还望知道的 告知一声,谢 BTW:2.6.8的内核没用过 </P> 2 h7 N% y N; |" C) e5 a4 ~<>内核源<a href="http://hackbase.com/hacker" target="_blank" >代码</A>:<a href="http://www.kernel.org/pub/<a%20href=" target="_blank" >linux</A>/kernel/v2.6/<a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>-2.6.10.tar.bz2">http://www.kernel.org/pub/<a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>/kernel/v2.6/<a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>-2.6.10.tar.bz2</A> * n* D" ~" J4 j. a R8 q) D$ Y$ G最新内核补丁:<a href="http://www.kernel.org/pub/<a%20href=" target="_blank" >linux</A>/kernel/v2.6/snapshots/patch-2.6.10-bk4.bz2">http://www.kernel.org/pub/<a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>/kernel/v2.6/snapshots/patch-2.6.10-bk4.bz2</A> </P>; m! ~" A+ [ |
<>cd /usr/src " c" K: V4 r# w
rm -rf <a href="http://hackbase.com/skill/linux" target="_blank" >linux</A> 5 F8 a; m& k3 Z) c4 M4 S
tar jxf /download/<a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>-2.6.10.tar.bz2 - t! |* p/ a9 `& s
ln -s <a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>-2.6.10 <a href="http://hackbase.com/skill/linux" target="_blank" >linux</A> # L- O/ |2 g2 a/ L: ^6 n) fcd <a href="http://hackbase.com/skill/linux" target="_blank" >linux</A> 6 l; r8 O$ J. A6 e& d
bunzip2 -dv /download/patch-2.6.10-bk4.bz2 |patch -p1 . [4 l# y7 N0 w8 _0 n a' ^8 n如果在/usr/src目录下就用patch -p0 </P>+ B5 ~! q# P- V( m5 H
<>二、修改内核源<a href="http://hackbase.com/hacker" target="_blank" >代码</A> (升级2.6就是为了优化,干脆连源<a href="http://hackbase.com/hacker" target="_blank" >代码</A>也改了吧) </P> a" Q' G5 s) h6 k# \
<>1.修改/usr/src/<a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>/include/<a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>/posix<a href="http://www1.hackbase.com/skill/linux/200501209624.htm#" target="_blank" >_</A>types.h 9 k- R3 i) J3 Z0 j9 W设置fd<a href="http://www1.hackbase.com/skill/linux/200501209624.htm#" target="_blank" >_</A>set支持的最大数量 $ {9 h' m9 h& e8 j( p2 h
#define <a href="http://www1.hackbase.com/skill/linux/200501209624.htm#" target="_blank" >_</A><a href="http://www1.hackbase.com/skill/linux/200501209624.htm#" target="_blank" >_</A>FD<a href="http://www1.hackbase.com/skill/linux/200501209624.htm#" target="_blank" >_</A>SETSIZE 1024 ---> 65536 </P>$ F) U+ ]- \2 ?: R1 E, R
<>2.修改/usr/src/<a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>/include/<a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>/fs.h 3 `: P( f" G2 ]* e
设置最大打开文件数量(TCP连接数量) 6 p: B9 Y+ r' v#define INR<a href="http://www1.hackbase.com/skill/linux/200501209624.htm#" target="_blank" >_</A>OPEN 1024 ---> 65536 ( \* J6 F j1 b5 f* x3 N( {
#define NR<a href="http://www1.hackbase.com/skill/linux/200501209624.htm#" target="_blank" >_</A>FILE 8192 ---> 65536 2 A1 ^( o& c2 N" }8 Z7 }
#define NR<a href="http://www1.hackbase.com/skill/linux/200501209624.htm#" target="_blank" >_</A>RESERVED<a href="http://www1.hackbase.com/skill/linux/200501209624.htm#" target="_blank" >_</A>FILES 10 ---> 128 </P>) z) J+ [2 S# R& r& ?1 \# |& t
<>3.修改/usr/src/<a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>/include/net/tcp.h 3 G0 R6 B. P3 j4 R设置TIMEOUT的时间为1秒 $ r( M! w( C4 Y3 n- A. Y! T
#define TCP<a href="http://www1.hackbase.com/skill/linux/200501209624.htm#" target="_blank" >_</A>TIMEWAIT<a href="http://www1.hackbase.com/skill/linux/200501209624.htm#" target="_blank" >_</A>LEN (60*HZ) 60 ---> 1*HZ * i' l' V% c% _2 E9 A+ w0 N
设置在backlog队列里的半连接的重试次数,每次都会花相应的时间,本质上 也是减少重试时间 ( U- l" I( B B' j* ]
#define TCP<a href="http://www1.hackbase.com/skill/linux/200501209624.htm#" target="_blank" >_</A>SYNACK<a href="http://www1.hackbase.com/skill/linux/200501209624.htm#" target="_blank" >_</A>RETRIES 5 ---> 3 </P> ; q1 c- r6 V/ ]3 o( X<P>针对RHEL-AS3本来就是稳定+优化的,不过就算你用 RHEL-AS3 自己的内核,那也要修改一下上面的参数才好呀 </P> . Q$ [. c, z0 M' n$ _- Z. h<P>三、安装必要的<a href="http://hackbase.com/hacker/tool" target="_blank" >工具</A> </P> . q2 I% R& g& k+ R<P>1.下载module-init-tools-3.1.tar.bz2 3 N( g6 o' Q( a" T! a4 c$ _$ i9 ?3 ^<a href="http://www.kernel.org/pub/<a%20href=" target="_blank" >linux</A>/utils/kernel/module-init-tools/module-init-tools-3.1.tar.bz2">http://www.kernel.org/pub/<a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>/utils/kernel/module-init-tools/module-init-tools-3.1.tar.bz2</A> * Y: c. ~! ~7 S# v<a href="http://hackbase.com/hacker" target="_blank" >代码</A>: / h( l5 p1 A: b# V: H" K, Q ./configure --prefix=/ . ]5 C+ [! D' H) y$ | @ make moveold 4 h+ ]4 t) G! _# y* [. b make all install ; x* c# P1 M! G+ T7 [
./generate-modprobe.conf /etc/modprobe.conf </P>* t9 a; \$ P2 O6 H, I. r7 ?' f
<P>2.下载新的mkinitrd H v" j& K! J1 Z- j<a href="ftp://195.220.108.108/<a%20href=" target="_blank" >linux</A>/6/fedora/core/3/i386/os/Fedora/RPMS/mkinitrd-4.1.18-2.i386.rpm">ftp://195.220.108.108/<a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>/6/fedora/core/3/i386/os/Fedora/RPMS/mkinitrd-4.1.18-2.i386.rpm</A> $ h" W% J* K7 t8 x' k. G- f/ _3 v* C
它需要lvm2 device-mapper ; V( ~2 }& S% B0 F+ p2 _; @" \<a href="ftp://195.220.108.108/<a%20href=" target="_blank" >linux</A>/6/fedora/core/3/i386/os/Fedora/RPMS/device-mapper-1.00.19-2.i386.rpm">ftp://195.220.108.108/<a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>/6/fedora/core/3/i386/os/Fedora/RPMS/device-mapper-1.00.19-2.i386.rpm</A> ; Y, D3 I2 J' O- R; A7 b
<a href="ftp://195.220.108.108/<a%20href=" target="_blank" >linux</A>/6/fedora/core/3/i386/os/Fedora/RPMS/lvm2-2.00.25-1.01.i386.rpm">ftp://195.220.108.108/<a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>/6/fedora/core/3/i386/os/Fedora/RPMS/lvm2-2.00.25-1.01.i386.rpm</A> ; {% W B {6 t; Q, t$ x0 r3 t如果不更新这个包在make install时会提示以下错误: ' i E' s# l0 X6 ]: P9 I
<a href="http://hackbase.com/hacker" target="_blank" >代码</A>: $ w" Q5 {( D, f3 l' `9 h) n No module mptbase found for kernel 2.6.10-bk4, aborting. & S+ s) t1 m# N2 ?7 m, M8 V+ R
mkinitrd failed : T, ^3 a* Y$ u9 V
make[1]: *** [install] Error 1 ' G; `7 r" q, S8 A
make: *** [install] Error 2 </P>, m/ {- { d* ]( i
<P>安装lvm2-2.00.25-1.01.i386.rpm时请用rpm -ivh --nodeps package name </P> % a* j' h. Q* z6 Y4 q6 ?<P>四、make menuconfig , J# O2 v4 |+ y- A6 g
<a href="http://hackbase.com/hacker" target="_blank" >代码</A>: & N# |5 R' ]5 ?7 S" F, y
01.Code maturity level options ---> ( S+ l, S# L8 R) n6 Z
Prompt for development and/or incomplete code/drivers 0 e$ Y2 J6 a' Z0 E% n( S
Select only drivers expected to compile cleanly ) L. Q& g9 ?& B1 r' R3 Q
02.General setup ---> , W- }# o. u0 M8 E
Support for paging of anonymous memory (swap) ! u$ Q1 E) _5 J5 [: Y% h/ U6 P. \
System V IPC . x7 G% G$ c/ n- @9 M! o
POSIX Message Queues $ N y' q0 W( ^, Y& k [ ] BSD Process Accounting 3 y) y& b# m" ~+ W+ g
Sysctl support 3 z d! T; ^, Q* Z; y" c& [8 \2 {5 z8 q [ ] Auditing support 7 L. Y0 V4 d2 p9 t [ ] Support for hot-pluggable devices / x. A! |4 U k& O$ w8 U: `1 C
PCI support 7 `3 J' B E: h PCI access mode (Any) ---> " n2 |$ S9 p* ?. Y2 f0 `, j2 X! B [ ] Message Signaled Interrupts (MSI and MSI-X) ' E' ?8 c" W3 N4 [) k; O' z: H
Legacy /proc/pci interface 6 s- u. S* o$ {8 ~
PCI device name database ) d7 c, b" ?. _' b
[ ] ISA support 2 }+ ]$ V1 b- A6 P6 O6 ~( N' y. s [ ] MCA support * \" S1 e0 \4 N( u& ?
< > NatSemi SCx200 support + y, m- l$ V5 b1 A0 W
07.Executable file formats ---> % p. m7 i5 t, W
Kernel support for ELF binaries 9 C: u4 K2 F+ }0 g <M> Kernel support for a.out and ECOFF binaries ! ?' B# [/ ?" k$ } <M> Kernel support for MISC binaries </P>
08.Device Drivers ---> 设备驱动及网络支持 7 q' c6 @6 `! ?5 b7 N5 l# t. _% @ Generic Driver Options ---> 默认 - X; v( e. Z s+ }
Select only drivers that don't need compile-time external firmware & v4 b# K7 c$ q. j( d
Prevent firmware from being built + P% \: |: Q: `9 D
Memory Technology Devices (MTD) ---> 不选 5 p- w% G# G1 {0 G3 Z
Parallel port support ---> 并行端口 自定(偶没选) 5 V6 x* }- R7 q- ~1 g9 b( A Plug and Play support ---> 支持热插拔 自定(偶没选) & }( |( T t& ~. r8 ?
Block devices ---> `4 L* `+ \- l9 N9 f
<*> Normal floppy disk support 6 x+ q! a3 I) I: C8 [
< > Compaq SMART2 support ( y1 b9 f. b( L& q! _* }. B
< > Compaq Smart Array 5xxx support # q- ]; _9 [ a) e" F: ?
< > Mylex DAC960/DAC1100 PCI RAID Controller support % P% v# P0 g G < > Micro Memory MM5415 Battery Backed RAM support (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL) ' x, F4 E( Q* T$ g$ P
<M> Loopback device support ( [; x; I x2 ~8 \4 Q$ Y, X9 ] < > Cryptoloop Support - w) i0 N) _4 N. x
<M> Network block device support . \4 D/ c2 J2 s0 j- {1 k
< > Promise SATA SX8 support / P# \) ?; m( { o
<M> RAM disk support : l0 H6 c' c+ o- N. A4 x (16) Default number of RAM disks 1 m2 x- a9 @$ Q# ?: L: H1 y4 X! ` (4096) Default RAM disk size (kbytes) ! F( ?. l3 E$ T; ?
() Source directory of cpio<a href="http://www1.hackbase.com/skill/linux/200501209624_1.htm#" target="_blank" >_</A>list $ ~9 c1 v" s: h& z& G
[ ] Support for Large Block Devices 4 L: c/ G% z' A" {( t* o
< > Packet writing on CD/DVD media 5 P4 a) P8 F( w1 k# T5 }6 x IO Schedulers ---> IO调度器,都选上吧 可以在grub.conf指定用IO调度哪种方式,后面会讲的 " u3 C5 B) t+ |+ Y9 d
<*> Anticipatory I/O scheduler : @) t( Q5 s+ b( S9 v
<*> Deadline I/O scheduler D7 F9 P6 B8 A2 `
<*> CFQ I/O scheduler \! K- h0 J0 o5 ~
ATA/ATAPI/MFM/RLL support ---> ATA设备 自定 (偶没选) 5 y; ?* b6 H9 i6 U$ V
SCSI device support ---> SCSI设备 自定我有scsi的设备所以有以下选项 5 ^% q- X/ {8 M
<*> SCSI device support 7 b$ E4 U. b8 o3 ^( G
legacy /proc/scsi/ support : b2 l. F% P# d) T" O
--- SCSI support type (disk, tape, CD-ROM) 0 Y6 {$ s' K" y P% \- a
<*> SCSI disk support : u; X, N; |! S3 J* M* p 因为偶式MPT的SCSI,所以以下都没选,省略之 # C! [( {( c: \/ V9 F' a" { Multi-device support (RAID and LVM) ---> 支持RAID和LVM(逻辑卷) 自定 0 { p7 i% B, K) d0 l
Multiple devices driver support (RAID and LVM) ; c4 X/ V' h, V% Y! N- V
<*> RAID support ) S# n x) e& i$ {. \* r, U < > Linear (append) mode * u" [7 j" J X2 n
<*> RAID-0 (striping) mode 5 g: ]6 l/ ~3 f
< > RAID-1 (mirroring) mode ' E: W( i2 c) Z) w0 W3 H < > RAID-10 (mirrored striping) mode (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL) ; `7 G( O& d, @$ _) {- n! u
<*> RAID-4/RAID-5 mode 3 z3 j5 O0 Q! S U < > RAID-6 mode (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL) # o& c: @) R% v# I+ ^2 ~% K5 M <*> Multipath I/O support + X$ _5 D6 Z/ |$ q' Q; A
< > Faulty test module for MD : q6 H2 A8 t* ^$ l$ d. V
<*> Device mapper support % C1 @" h0 X* Z < > Crypt target support * c+ _3 [4 V+ W# k) n
< > Snapshot target (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL) 0 O5 i8 A! ~2 Q% r3 b
< > Mirror target (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL) ; ]3 o+ L' Q( U$ k/ u% T
< > Zero target (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL) ; O" }" B" h- H Fusion MPT device support ---> 偶的SCSI是这个,所以选了 还是自定 3 t& o1 L+ \2 G8 r" G* }
<*> Fusion MPT (base + ScsiHost) drivers 9 t Y% a s/ v( R9 r
(40) Maximum number of scatter gather entries 1 W# ~: l1 [" ]& Z9 w2 A, W3 F; g; h
<*> Fusion MPT misc device (ioctl) driver 6 v9 ~" \; g' N1 Z. S
IEEE 1394 (FireWire) support ---> 自定 (偶没选) + Z7 v' G. [3 o* y% ]1 \8 v
I2O device support ---> 自定 (偶没选) + q2 x) i" y5 E0 e Networking support ---> 网络选项 $ A7 b1 ~* l ]