数学建模社区-数学中国

标题: linux-2.6内核升级文档(全) [打印本页]

作者: 韩冰    时间: 2005-1-20 14:35
标题: linux-2.6内核升级文档(全)
<FONT color=#f70909>作者:killua   来源:http://www.chinaunix.net/</FONT>
) H/ |% R: V9 {! U; V* m! l! g<>序 ( w( }6 x" v2 S1 i$ E
做一件事情,首先要知道自己在干什么,而不是盲目得升级内核,现在升级内核有点泛滥,sigh
! n# T+ h1 V3 j/ s" a/ {# ^6 o% t/ }/ U4 o首先让我们先了解一下2.6内核的新特性 </P>  e) D, R4 f/ R9 z1 ~/ D1 R* e
<>一、01.模块子系统(Module Subsystem)、统一设备模型(Unified Device Model)和 PnP 支持 & x3 e1 N  e! n- y
模块子系统发生了重大变化。 </P>
- L2 ?0 w" \2 n$ J! A9 ^, m( Y<>02.稳定性有所提高
) r; L3 F% d+ b, Y# r0 U& R5 q为了彻底避免内核加载或者导出正在被使用的内核模块,或者至少为了减少加载或者卸载模块的同时使用该模块的可能性
0 A1 k$ t3 A+ m" E8 c1 M$ h( l6 b(这有时会导致系统崩溃),内核加载和导出内核模块的过程都得到了改进。 </P>
7 F- r2 ~- f) w% W+ Y<>03.统一设备模型 , q& s2 w3 ~7 m4 v9 p
统一设备模型的创建是 2.6 内核最重要的变化之一。它促进了模块接口的标准化,其目的是更好地控制和管理设备,例如: </P>
2 O2 a( K0 y8 ~; t& E3 u# i$ V6 b9 e2 J<>更准确地确定系统设备。 ( D; ?, ^# Y" y) Z
电源管理和设备电源状态。
6 ?" @/ \  _/ D; b/ C1 j8 O5 F改进的系统总线结构管理。 </P>
/ E+ X+ Q0 I- P6 p' ]<>04.即插即用(PnP)支持
9 {- _) @! G% b1 J1.1.1 和 1.1.2 小节中提及的变化使得运行 2.6 内核的 Linux 成为一个真正即插即用的 OS。
  p4 A8 x6 v5 K7 j$ \9 J例如,对 ISA PnP 扩展、遗留 MCA 和 EISA 总线以及热插拔设备的 PnP 支持。 </P>% T  v: {2 R( ]4 T8 A" R
<>05.内核基础设施的变化
8 r4 f9 G' o+ u* W$ s8 f为了区别以 .o 为扩展名的常规对象文件,内核模块现在使用的扩展名是 .ko。
, F" }, ^" g; |. l创建了新的 sysfs 文件系统,当内核发现设备树时就会描述它。
8 c1 f! Y5 c. x: L) d内存支持,NUMA 支持 + D0 l7 t) q1 T/ u( y
支持更大数量的 RAM & m% o) ]! q  N: F9 S# j
2.6 内核支持更大数量的 RAM,在分页模式下最高可达 64GB。 </P>3 T) G" {; c( C' E5 x( j
<>06.NUMA 5 E' k6 x4 m! E1 T8 T' \5 S
对非一致内核访问(Non-Uniform Memory Access - NUMA)系统的支持是 2.6 内核中新出现的。 </P>% {& @& S( ~& F" I. R
<>07.线程模型,NPTL
) V9 T8 ~7 k' x6 l相对于 v2.4 的 LinuxThreads,在版本 2.6 中新出现的是 NPTL(Native POSIX Threading Library)。
+ l3 v! x: P, ~( ?5 Z+ g0 ~5 a* dNPTL 为 Linux 带来了<a href="http://hackbase.com/job" target="_blank" >企业</A>级线程支持,提供的性能远远超过了 LinuxThreads。它所基于的用户与内核线程的比率是 1:1。 </P>
) U2 g3 f' A8 L9 r, K  A<>在 2003 年 10 月,GNU C 程序库 glibc 中融入了 NPTL 支持,Red Hat 率先在 Red Hat Linux 9 和 0 @5 O# }- ^7 ^3 m: l* k
Red Hat Enterprise Linux 中使用定制的 v2.4 内核实现了 NPTL。 </P>
. A6 L  m+ ^  U+ m3 m" R<>08.性能改进
5 u4 ^* W4 c, z! Z新的调度器算法
' M1 v& `! c" E2.6 Linux 内核引入了新的 O(1) 算法。在高负载情况下它运行得特别好。新的调度器基于每个 CPU 来分布时间片, & V! x* e) T2 o$ w3 Q( J: w
这样就消除了全局同步和重新分配循环,从而提高了性能。 </P>4 n! H* Q( o& N( l* ^8 k$ Z# E2 o
<>内核抢占(Kernel Preemption) 5 u) `) f1 d8 M" i5 h
新的 2.6 内核是抢占式的。这将显著地提高交互式和多媒体应用程序的性能。 </P>1 r5 f: d$ j2 E
<>I/O 性能改进   A3 f' }4 l: Z; `) }
Linux 的 I/O 子系统也发生了重大的变化,通过修改 I/O 调度器来确保不会有进程驻留在队列中过长时间等待进行输入/输出操作, ) I- G* }9 N) v- n
这样就使得 I/O 操作的响应更为迅速。 </P>0 h6 e) K6 i  M  \. q
<>快速用户空间互斥(Fast User-Space Mutexes)
! {9 x) j+ F: M# W& q" P“futexes”(快速用户空间互斥)可以使线程串行化以避免竞态条件,引入它也提高了响应速度。 4 y3 m- Z  n$ n$ M7 D9 i! E
通过在内核空间中部分实现“futexes”以允许基于竞争设置等待任务的优先级而实现改进。 </P>3 l3 c- `8 t! p1 b, `+ N4 M& u% V
<>09.扩展性改进
$ G- U6 l* B: F( U1 C/ z处理器数目更多
$ N1 ]- }/ v/ ?9 z6 n0 MLinux 内核 2.6 最多可以支持 64 个 CPU。支持更大的内存,归功于 PAE(物理地址扩展,Physical Address Extensions),在 32-位系统上分页模式下所支持的内存增加到了 64GB。 </P>
& e- c. K; Q1 i3 s/ o7 M, Z<>用户和组
8 d& v9 C" V4 g3 e$ h惟一用户和组的数量从 65,000 增至 40 多亿,也就是从 16-位增加到了 32-位。 </P>/ X6 H. D  I* a& ^
<>ID 的数量
' }% v/ A' }% d& X: YPID 的最大数量从 32,000 增至 10 亿。 </P>3 r) ^6 K/ U" S  A, D
<>打开文件描述符的数量 $ p0 ~" L; c. F5 [
打开文件描述符的数量没有增加,但是不再需要事先设置该参数,它将自行调节。 </P>3 @( [2 D" U/ X* m- c
<>10.支持更多的设备
9 ?) h6 W7 _% O- j& w在 Linux 内核 2.6 之前,内核中有可以约束大型系统的限制,比如每条链 256 个设备。v2.6 内核彻底地打破了这些限制,
! q; |0 F& l* }  x6 g: z' j/ `不但可以支持更多类型的设备,而且支持更多同类型的设备。在 Linux 2.6 系统中,可以支持 4095 种主要的设备类型,
8 W4 x2 t$ @$ G/ I每一个单独的类型可以有超过一百万个子设备。 3 k* U# S$ D  W6 _5 m. r
文件系统大小
) [. U9 f/ h" R0 F7 ?Linux 内核 2.6 所允许的可寻址文件系统大小最大为 16 TB。 </P>+ y' z2 x/ z' j5 x$ Z+ U) V+ a
<>11.文件系统 $ f; D+ `/ Z) Z1 r1 v
ext2、ext3 和 ReiserFS 等传统 Linux 文件系统得到了显著的改进。最值得注意的改进是扩展属性(或文件元数据)的引入。
! J- \- R; S+ \9 ?% X0 W, r最重要的是 POSIX ACL 的实现,这是对普通 UNIX 权限的扩展,可以支持更细化的用户访问控制。 </P>
0 m" H0 X% G! B2 [<>12.除了对传统 Linux 文件系统的改进支持以外,新的内核完全支持在 Linux 中相对较新的 XFS 文件系统。 ( J: z: J  t7 r: _% E# D2 m4 P
Linux 2.6 内核现在还引入了对 NTFS 文件系统的改进的支持,现在允许以读/写模式安装 NTFS 文件系统。 </P>
7 f6 P2 V# f) h! Y# N- K<>基于以上2.6的新特性,我决定用2.6的内核,我的系统为Red Hat Enterprise Linux AS release 3 (Taroon Update 3) - K# i' S5 Z8 \0 I
硬件环境为DELL 2850 </P>3 Q2 K  I' [3 O* o! @0 a  l
<>一、下载解压并打上内核补丁 9 u! E9 D' o9 U1 n1 W# o
我以2.6.10为例子,patche以bk4的例子,目的只是让大家知道怎么打patch,
, {7 B' s$ e. L/ c$ `5 V4 e其实本人用的是2.6.6的内核,因为在AS3.0上升级到2.6.9以上的内核,
* M6 e3 w7 s6 Qmount大的nfs网络硬盘时,df 显示不正确,明明是800G的盘变成4.2G, 0 X& n( U2 k7 V, G8 u
不过还是能正常用,我升级过nfs和mount的包都没用,/var/log/message里 - L( A5 ?" k' ]9 W0 L$ D
提示是kernel: nfs warning: mount version older than kernel, % n6 V  Q% T4 K
还望知道的 告知一声,谢 BTW:2.6.8的内核没用过 </P>3 C. s' h1 |) m# }7 m) {  r) w0 A
<>内核源<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"&gt;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>
3 W4 G3 Y% E9 f. d' n" _最新内核补丁:<a href="http://www.kernel.org/pub/<a%20href=" target="_blank" >linux</A>/kernel/v2.6/snapshots/patch-2.6.10-bk4.bz2"&gt;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># {, y3 \* ^. X$ l3 x, `* G7 Q+ ~' |
<>cd /usr/src
7 E1 `5 {# L' v5 C4 frm -rf <a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>
6 F/ p9 R5 T  \% ~tar jxf /download/<a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>-2.6.10.tar.bz2
! @0 I; q( M* a! Y, h/ e/ Rln -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> ; p5 |- e( a+ A! O' q" C: i
cd <a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>
. j- p. k$ A& {' N3 }' tbunzip2 -dv /download/patch-2.6.10-bk4.bz2 |patch -p1
6 Z. w9 f' q6 [2 g如果在/usr/src目录下就用patch -p0 </P>
# o! x! k: ^8 j$ H9 R<>二、修改内核源<a href="http://hackbase.com/hacker" target="_blank" >代码</A> (升级2.6就是为了优化,干脆连源<a href="http://hackbase.com/hacker" target="_blank" >代码</A>也改了吧) </P>
6 u/ ?5 Z% G' j; _5 h2 Z- ]- N; ~7 p$ J<>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 5 P0 x+ V2 N2 h0 K- n/ ^
设置fd<a href="http://www1.hackbase.com/skill/linux/200501209624.htm#" target="_blank" >_</A>set支持的最大数量 2 M% U: y4 N6 e$ ~  x- a- t
#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 ---&gt; 65536 </P>& _4 j9 W. p  t" P( \
<>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 V* m! H+ i- Y& C设置最大打开文件数量(TCP连接数量) ! U. ?$ l( t& k9 G8 f
#define INR<a href="http://www1.hackbase.com/skill/linux/200501209624.htm#" target="_blank" >_</A>OPEN 1024 ---&gt; 65536 2 N5 I. n& E# A+ c
#define NR<a href="http://www1.hackbase.com/skill/linux/200501209624.htm#" target="_blank" >_</A>FILE 8192 ---&gt; 65536
7 j& ?# X6 A  P1 F7 D4 O#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 ---&gt; 128 </P>
- d, ]2 y3 B( U- E' p) E5 m<>3.修改/usr/src/<a href="http://hackbase.com/skill/linux" target="_blank" >linux</A>/include/net/tcp.h 3 A% v, U* c4 c# z+ h. c8 \! Y0 ~
设置TIMEOUT的时间为1秒
7 p7 y* T, R3 O#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 ---&gt; 1*HZ . z6 J" l* f' X- G8 J, Y
设置在backlog队列里的半连接的重试次数,每次都会花相应的时间,本质上 也是减少重试时间 - E- b1 Q2 b- }, e! g1 f
#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 ---&gt; 3 </P>9 |$ W! \0 R( U
<P>针对RHEL-AS3本来就是稳定+优化的,不过就算你用 RHEL-AS3 自己的内核,那也要修改一下上面的参数才好呀 </P>! Z# C9 r  w4 I
<P>三、安装必要的<a href="http://hackbase.com/hacker/tool" target="_blank" >工具</A> </P>
+ q* L# G3 N# v# I4 v<P>1.下载module-init-tools-3.1.tar.bz2 0 R/ \( g# t) _
<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"&gt;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> 3 [4 X& I, I6 o% L- ]1 `
<a href="http://hackbase.com/hacker" target="_blank" >代码</A>:
+ s# a+ ~# Z! l+ W4 [  T        ./configure --prefix=/ ; |/ g3 v* O6 q" Y$ ]( C! p" l
        make moveold ; O8 ]& d' F" B9 `
        make all install : K, K9 R3 ^3 ~, g4 l
        ./generate-modprobe.conf /etc/modprobe.conf </P>* X; S+ W4 G5 L, j- a1 Q. r
<P>2.下载新的mkinitrd
) n3 p! ~- ]$ B1 ]$ U5 r<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"&gt;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>
7 P9 F  ]! y( p8 w它需要lvm2 device-mapper
7 ]1 c1 Y$ Y0 y<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"&gt;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> 3 U: u3 @" K! {% R
<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"&gt;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> % a/ A  _7 r1 F/ m8 I+ K
如果不更新这个包在make install时会提示以下错误:
0 r: _& w1 b# C- G+ k<a href="http://hackbase.com/hacker" target="_blank" >代码</A>: . p: S6 j! z& U" A
        No module mptbase found for kernel 2.6.10-bk4, aborting. ' h) A8 G4 r# H8 }' h
        mkinitrd failed
) ^. |5 C' d# Z; {# S6 K        make[1]: *** [install] Error 1
" ]3 n; R, c: p& R* o  J        make: *** [install] Error 2 </P>
7 Y3 v" r  z# ?( v( J- Q<P>安装lvm2-2.00.25-1.01.i386.rpm时请用rpm -ivh --nodeps package name </P>( A4 H% t" C: G7 d4 [; z
<P>四、make menuconfig ! C  B7 D. t4 T% n
<a href="http://hackbase.com/hacker" target="_blank" >代码</A>:
" W8 ?- h+ `# {7 ?: _+ L5 {9 g$ `01.Code maturity level options    ---&gt; ) u$ Q' S, w  X1 P. I$ [
        
  • Prompt for development and/or incomplete code/drivers                  
    ( y' n$ o8 M' k0 o9 ^* Y4 f" t        
  •    Select only drivers expected to compile cleanly                            & U4 W1 Q* M$ Q7 A% \0 `# x2 g; F
        02.General setup  ---&gt;
    3 i! S0 x8 S) p4 p! C  z        
  • Support for paging of anonymous memory (swap)                     
    0 S4 g7 k+ ^4 Q4 S4 u& [/ u- L1 Q: w& @        
  • System V IPC                                                                  ! I/ X( e) \) U% A2 S  U' N3 i+ [
            
  • POSIX Message Queues                                                          + x. `5 c; W# ^, `
            [ ] BSD Process Accounting                                                      % b+ k  A6 \! e7 J5 c) ?& A
            
  • Sysctl support                                                                  
    * x$ U% Y$ p2 m: t  Z6 N        [ ] Auditing support                                                               
    ; \2 I# o' y' _6 t3 X0 T. w9 i" r        [ ] Support for hot-pluggable devices                                                
    7 }' [) J3 K3 T3 B( ]/ J$ T        
  • Kernel Userspace Events                                                        5 \# @* d6 o; x/ K
            [ ] Kernel .config support                                                         
    & V' F3 G# b: d" R! o! |        
  • Configure standard kernel features (for small systems)  ---&gt;    , s- \& Q9 v6 b& V$ d5 a2 J# U* g
             
  •    Load all symbols for debugging/kksymoops                                        / q! F6 j$ L4 g5 a0 Q9 W8 N) S
                  [ ]     Do an extra kallsyms pass                                                      6 z6 q/ k. j1 y$ X: l+ i: x
                  
  •    Enable futex support                                                            7 v+ i& S8 H( w( B
                  
  •    Enable eventpoll support                                                        ) K& ^8 u( G7 a, c& f
                  [ ]   Optimize for size                                                               
    " R0 l/ C1 |  y% J              
  •    Use full shmem filesystem
    ! N" w. S# u6 B' z! U$ r3 ~2 [    03.Loadable module support  ---&gt;          / s5 H, t3 e; D& Z
            
  • Enable loadable module support                                          0 l4 E& L7 ]4 a5 N0 V2 a
            
  •    Module unloading                                                          v" F0 z; s6 t$ e# P5 i, P( k
            [ ]     Forced module unloading                                              # ?% I- \! @% `$ f' v3 i& q
            [ ]   Module versioning support (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL)                                
    # i, R. q4 h1 k- O& e# y        [ ]   Source checksum for all modules                                       
    : V# _# G' Z* {8 U4 R% C. P3 v: p        
  •    Automatic kernel module loading
    2 V* t2 ~5 H% b! \4 u    04.Processor type and features  ---&gt;  8 ^$ P7 h, a, u3 j
               Subarchitecture Type (PC-compatible)  ---&gt;   
    ; M2 O1 v9 n) v3 I2 x           Processor family (Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon)  ---&gt;    " l; J5 v1 }4 M  \( @1 h
          
  • Generic x86 support                                    ' _& g. h$ W- A  f
           [ ] HPET Timer Support                                      
    1 P) W" o9 S1 _6 E& O      
  • Symmetric multi-processing support      多CPU                1 b+ p$ X: A$ x
           (8)   Maximum number of CPUs (2-255)                        
    & B# ]* O% e$ ?" t6 r      
  •    SMT (Hyperthreading) scheduler support                6 a0 l3 L3 M9 f. L
          
  • Preemptible Kernel                     抢占式内核,请选上它   
    * o  t5 }, k6 z- l+ k1 O4 w       [ ] Machine Check Exception                                ( @# f0 o( e" \4 v
           &lt; &gt; Toshiba Laptop support                                  + k3 b  B" C/ Z& l- s* ~
           &lt; &gt; Dell laptop support                                    
    ) c& L( A: {' `+ t0 W, d0 t       &lt; &gt; /dev/cpu/microcode - Intel IA32 CPU microcode support  9 O: o2 P! z% `% g' }, W' n; I7 X
           &lt; &gt; /dev/cpu/*/msr - Model-specific register support        / s* ^( K) M  S; {5 m
           &lt; &gt; /dev/cpu/*/cpuid - CPU information support              
    ; p1 q' ]2 O; d5 M, C           Firmware Drivers  ---&gt;                                 
    / q6 ^4 m( |9 C: J% B- E           High Memory Support (4GB)  ---&gt;         高内存              & N7 t* j2 A6 L$ S* \& M
           [ ] Allocate 3rd-level pagetables from highmem              
    , ?% e' j8 C5 ?& x* l7 C       [ ] Math emulation                                          8 l0 E& |  F" ~" K
          
  • MTRR (Memory Type Range Register) support              ; q" r4 B. |2 h: A9 |0 `( q6 r; z
          
  • Enable kernel irq balancing                           
    % j: O% `9 H: H1 H% {' j& B       [ ] Use register arguments (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL)        
    3 g& D4 `- O( F* B5 G1 v2 C) l8 h. M5 x    05.Power management options (ACPI, APM)  ---&gt;    电源管理 自定 (偶没选)
    ( c) W+ K( }  s0 k) F7 t    06.Bus options (PCI, PCMCIA, EISA, MCA, ISA)  ---&gt; 板卡支持  自定
    , D3 T  G% p9 o9 C: u        
  • PCI support                                                                    
    : j) H: h7 C, W4 h- q7 p        PCI access mode (Any)  ---&gt;                                                / a$ a' E( \5 Q/ B( o
            [ ] Message Signaled Interrupts (MSI and MSI-X)                                
    ( S0 ~* o( h7 T9 n$ R+ E) D( F        
  • Legacy /proc/pci interface                                                    ; v% }8 p  G: V! b* a1 @" ^+ G
            
  • PCI device name database                                                      
    5 I) k- U5 F3 X: A9 l" x        [ ] ISA support                                                                    
    * I8 c- @7 m3 O4 W+ i5 Y1 K! T5 I        [ ] MCA support                                                                    
    ! G, l, q1 `" O/ Q( Z# d( A8 S        &lt; &gt; NatSemi SCx200 support
    : ~/ G) j, C. p% x    07.Executable file formats  ---&gt; ! A! i0 H9 @( {4 u2 u2 U6 C( o, y
            
  • Kernel support for ELF binaries                                                
    ! x# ^, B2 s1 W% e( h        &lt;M&gt; Kernel support for a.out and ECOFF binaries                                    V6 @1 j. \0 p
            &lt;M&gt; Kernel support for MISC binaries  </P>
    作者: 韩冰    时间: 2005-1-20 14:36
    08.Device Drivers  ---&gt;   设备驱动及网络支持 ! H; ^" Y2 i% w0 v, \! I
             Generic Driver Options  ---&gt;  默认
    1 H! j- H& N- P0 F' Q$ b& K            
  • Select only drivers that don't need compile-time external firmware                    
    * r  c% m" O% c# m! z, M( H% p            
  • Prevent firmware from being built                                      
    3 I) [. \, \" k        Memory Technology Devices (MTD)  ---&gt;  不选 8 x5 L/ d( C: C8 c& X) G
             Parallel port support  ---&gt;    并行端口   自定(偶没选)        ; o, w2 o" H7 t6 N- L2 |6 k( p% _' b
            Plug and Play support  ---&gt;    支持热插拔 自定(偶没选)
    0 V( [# p9 b" h         Block devices  ---&gt; , L" \5 @# X0 h$ Q$ x# }
                &lt;*&gt; Normal floppy disk support                                      
    ! ^7 W+ F$ x& v- y7 |0 n0 h: \            &lt; &gt; Compaq SMART2 support                                          
    / B: P& h" m; U) X1 U7 A: L            &lt; &gt; Compaq Smart Array 5xxx support                                % n6 M; P  B- Z4 I6 j8 P
                &lt; &gt; Mylex DAC960/DAC1100 PCI RAID Controller support                ) a, O* {9 [) |: J2 E$ M5 m
                &lt; &gt; Micro Memory MM5415 Battery Backed RAM support (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL)  & g/ }5 }4 F- c- c: x1 O
                &lt;M&gt; Loopback device support                                        2 X! ^  @; K1 f# q4 t
                &lt; &gt;   Cryptoloop Support                                            
    ! }4 d  @/ K! u+ m2 ?5 i            &lt;M&gt; Network block device support                                    6 w# _* s# D4 B: x
                &lt; &gt; Promise SATA SX8 support                                       
    3 J! j$ w5 _3 d            &lt;M&gt; RAM disk support                                                
    , {& W7 @* `# K/ i  F            (16)  Default number of RAM disks                                 
    1 g# {5 f, v+ R+ p! P# j: ]7 Q            (4096) Default RAM disk size (kbytes)                              7 {6 m7 a) [0 d* S- g8 q
                ()  Source directory of cpio<a href="http://www1.hackbase.com/skill/linux/200501209624_1.htm#" target="_blank" >_</A>list                                  " K6 ?  H( i* t& s! a% N; b9 N: _
                [ ] Support for Large Block Devices                                ( i8 C' m' c8 U. {
                &lt; &gt; Packet writing on CD/DVD media                                  0 d( R- h/ _; w" L( y- ]5 B0 |
                     IO Schedulers  ---&gt;   IO调度器,都选上吧 可以在grub.conf指定用IO调度哪种方式,后面会讲的                         & ~; `+ m  g2 N
                         &lt;*&gt; Anticipatory I/O scheduler                              
    8 Q2 V) O" k: b                     &lt;*&gt; Deadline I/O scheduler                                 
    5 G5 A: g, V3 U+ X; S* w( j/ p' X' P                     &lt;*&gt; CFQ I/O scheduler            
    ; D, Z$ s7 \3 F4 K( }, S' }. [. H2 I         ATA/ATAPI/MFM/RLL support  ---&gt;   ATA设备 自定 (偶没选) $ o$ r) l2 o. n8 k; ~
             SCSI device support  ---&gt;       SCSI设备 自定我有scsi的设备所以有以下选项 3 @, G/ P8 |: A
                &lt;*&gt; SCSI device support                                                               
    , T: e. f; J# t/ i! x9 a' a1 @            
  •    legacy /proc/scsi/ support                                                        
    ! J# }2 s% ]) n$ G3 y$ b" U3 H            ---   SCSI support type (disk, tape, CD-ROM)                                            
    5 u% C# a$ J' ]* N            &lt;*&gt;   SCSI disk support                                
    - _* E8 b$ E" J& f, ^0 K         因为偶式MPT的SCSI,所以以下都没选,省略之 % h. I7 [/ w; i2 r2 X$ Q* e3 {
             Multi-device support (RAID and LVM)  ---&gt;  支持RAID和LVM(逻辑卷)  自定
    $ O' K$ e2 i& w0 P4 K            
  • Multiple devices driver support (RAID and LVM)        + q2 `4 \; x/ k) f; U
                &lt;*&gt;   RAID support                                       
    7 A8 M/ ~' B% W& U6 i8 Z            &lt; &gt;     Linear (append) mode                              
    ) q8 |* r, N* \            &lt;*&gt;     RAID-0 (striping) mode                            - c, m  }  Z6 a% D  V
                &lt; &gt;     RAID-1 (mirroring) mode                          ' W4 f/ |% j- G' T* y
                &lt; &gt;     RAID-10 (mirrored striping) mode (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL)  
    5 p/ q' Z: ^  q            &lt;*&gt;     RAID-4/RAID-5 mode                                7 s: N8 o" k* M' H' E: x+ f" i
                &lt; &gt;     RAID-6 mode (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL)                        2 e: v/ y4 P6 \( ~; h
                &lt;*&gt;     Multipath I/O support                           
    1 d$ F3 D2 w' u; I            &lt; &gt;     Faulty test module for MD                        
    7 Z5 Y; W+ g% ^7 v" z8 Z" Q: s" @" |            &lt;*&gt;   Device mapper support                              1 \# x4 J, O. U( }9 l1 Y# i
                &lt; &gt;     Crypt target support                              ) b& ?9 C/ o0 R7 w/ Y1 o, M
                &lt; &gt;     Snapshot target (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL)                    
    / t" e, H" I( H            &lt; &gt;     Mirror target (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL)                      + {3 {7 i1 j  Z  b5 E. h
                &lt; &gt;     Zero target (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL)                  ' X% l! }  F% i5 a
             Fusion MPT device support  ---&gt;    偶的SCSI是这个,所以选了 还是自定                . u3 T: [8 d( A$ P% ~
                      &lt;*&gt; Fusion MPT (base + ScsiHost) drivers                                 
    4 |) W( c# v2 D( ?  P5 i            (40)  Maximum number of scatter gather entries                              
    ( d' z% |4 N, K. y; b1 Z            &lt;*&gt;   Fusion MPT misc device (ioctl) driver    ! v) U. Q; v  f9 y8 Z0 W! |- y
             IEEE 1394 (FireWire) support  ---&gt;  自定  (偶没选)
    , t) x3 x4 k1 Y* P         I2O device support  ---&gt;     自定  (偶没选) - ~* t( L' V9 [) G, h7 c8 Z4 G
             Networking support  ---&gt;     网络选项
    ' m$ K% C" {8 x2 X" O# t( ~9 V               
  • Networking support                                                                  
    " @' K- {" v/ F$ N4 t1 c$ G8 Z                 Networking options  ---&gt;                                       
    6 Q: z+ s# D4 D: b9 O- @                              &lt;*&gt; Packet socket                                                                        ; w! C/ a3 }3 V5 Z$ A$ ^) g
                         [ ]   Packet socket: mmapped IO                                                          + E8 U7 P2 z; z2 B- e. r. c% L
                         &lt; &gt; Netlink device emulation                                                            9 b# ?  j9 d/ }  s
                         &lt;*&gt; Unix domain sockets        如果你有网络就选                                                          8 P! P  a2 @5 }$ G  U' |8 g
                         &lt; &gt; PF<a href="http://www1.hackbase.com/skill/linux/200501209624_1.htm#" target="_blank" >_</A>KEY sockets                                                                      % C. i, y+ ~0 Q# Q0 b( Y; ^
                         
  • <a href="http://hackbase.com/hacker" target="_blank" >TCP/IP</A> networking                                                                    5 f) T9 F1 g( l, ?3 `( y$ w
                         [ ]   IP: multicasting                                                                  , ~# j- L" Q6 N- e( [0 Z' F! |; [
                         [ ]   IP: advanced router                                                                : R2 E. I1 e/ q% R
                         [ ]   IP: kernel level autoconfiguration                                                9 X4 e, v9 P6 S/ ?2 Y
                         &lt; &gt;   IP: tunneling                                                                     
    % F+ G, }4 |0 M9 A                     &lt; &gt;   IP: GRE tunnels over IP                                                            # |( j* A! L( l" ^% W. h3 n6 \
                         [ ] IP: ARP daemon support (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL)                                                
    % ~, d" I& {' h  k& C6 y                     
  • IP: TCP syncookie support (disabled per default)     能防DOS<a href="http://hackbase.com/hacker" target="_blank" >攻击</A>,但会降低一点性能,总的说性价比不错                                
    ; b5 O9 b+ f) B) s                     &lt; &gt; IP: AH transformation                                                                $ d# r  {2 z: i- N# m: X7 x" R
                         &lt; &gt; IP: ESP transformation                                                              1 R4 N" z4 I- q) H
                         &lt; &gt; IP: IPComp transformation                                                            4 H7 V( m/ f2 n
                         &lt; &gt; IP: tunnel transformation                                                            3 S8 P' l. S9 V+ v/ |5 c) R
                         &lt;*&gt; IP: TCP socket monitoring interface                                                  + m, I* Z% \4 ?  B7 J) e
                          IP: Virtual Server Configuration  ---&gt;                   lvs 支持                           
    / L( s6 J; P) N* R  d, L                     &lt; &gt; The IPv6 protocol (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL)                                                    0 a+ c' r8 f* j3 h) p7 H( ~3 }
                         
  • Network packet filtering (replaces ipchains)  ---&gt;    包过滤省略(知道的自己选,不熟悉的都选上)              % P6 G; z' k4 }/ J0 |" v
                                               以下都没选,省略 - M4 D1 d: E' p, G4 ]! a  A
                    [ ] Amateur Radio support  ---&gt;                                                        % V9 ^4 {7 \8 M
                &lt; &gt; IrDA (infrared) subsystem support  ---&gt;                                &amp;n, bsp;           
    & h! S1 I3 R- H' m" {% H            &lt; &gt; Bluetooth subsystem support  ---&gt;                                                  
    ; H  q3 G8 S% \8 x% k            
  • Network device support                                                              $ U1 U/ R& j6 q
                &lt; &gt;   Dummy net driver support                这个是nis<a href="http://vip.hackbase.com/" target="_blank" >服务</A>器的吧,不大清楚,没用过                                          % K, v% d' G4 f; o$ K" e( u
                &lt;*&gt;   Bonding driver support                  双网卡绑定的                                          
    ) E. @" \5 e+ R# y+ Y! \( _            &lt; &gt;   EQL (serial line load balancing) support                                            Q+ P( Y" j9 |5 `7 A6 w
                &lt; &gt;   Universal TUN/TAP device driver support                     
    2 e, o/ C9 N! V                 ARCnet devices  ---&gt;                                                              * r( N& D5 l1 ?% k' |( ?
                     Ethernet (10 or 100Mbit)  ---&gt;                                                    4 T* T1 E( a5 i; S: {, H, R. K
                     Ethernet (1000 Mbit)  ---&gt;                        
    ( y6 f& a+ K( n1 j* {. K) b) y                     &lt; &gt; Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit support                                    # ], n. ]% e, Y1 ?4 S$ j, y
                         &lt; &gt; D-Link DL2000-based Gigabit Ethernet support                                              + c& B! B" p! R) Y% n8 x
                         &lt; &gt; Intel(R) PRO/1000 Gigabit Ethernet support                                                4 Z. {+ V: L5 c% }* R' Q
                         &lt; &gt; National Semiconduct DP83820 support                                                      
    & z( k! o  G; N, w$ q1 Q- b                     &lt; &gt; Packet Engines Hamachi GNIC-II support                                                   
    # ^3 z. J: A$ D                     &lt; &gt; Packet Engines Yellowfin Gigabit-NIC support (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL)                              
    2 P0 ^6 b) M* Z* y+ d. O                     &lt; &gt; Realtek 8169 gigabit ethernet support                                                    5 M9 d7 k- m+ c* \
                         &lt; &gt; Marvell Yukon Chipset / SysKonnect SK-98xx Support                                       
    : C, N, \$ u4 N- z. T1 O  {                     &lt;*&gt; Broadcom Tigon3 support   
    ' B' s* i) X( e                以下都没选,省略   
    # W2 k1 ~! \$ P  w( K. d        ISDN subsystem  ---&gt;                                          9 Y: K, U' [3 l5 _6 @
            Telephony Support  ---&gt; % @5 p6 M3 L8 E/ E" v* h
            Input device support  ---&gt;                                          ; \: t  u6 l4 K7 w5 Q
             Character devices  ---&gt;                                                
    & R+ g0 N; @3 u* u2 j        I2C support  ---&gt;              / X  i' m" X" S* m" o4 K) h  v
            Dallas's 1-wire bus  ---&gt;      ) H2 D8 }" M- x  X9 D7 l- w
            Misc devices  ---&gt;              
    , P" j; M8 |. a/ q        Multimedia devices  ---&gt;        
    4 F7 M7 {5 I4 w: R+ w$ @        Graphics support  ---&gt;          0 ^0 l$ |  I& W! {( K, `8 R  p6 `
            Sound  ---&gt;                    
    ! E4 Z( o0 i( S  J        USB support  ---&gt;              - O0 R6 k& m7 ~6 A
            MMC/SD Card support  ---&gt;    以上都没选,需要的自己选
    % ~' I$ e, G! |. M; S    09.File systems  ---&gt;        文件系统      
    ' i- K; p" O. a" K: X0 Y        &lt; &gt; Second extended fs support                                                               
    & F  d; U, S3 `/ C% ?  d        &lt;*&gt; Ext3 journalling file system support                                                    . p; T, _4 k9 B0 y8 ]
            [ ]   Ext3 extended attributes                                                              ; R8 U1 z3 ~! S! ^9 j
            
  • JBD (ext3) debugging support                                                            
    $ l! b, q/ n$ q/ [        &lt; &gt; Reiserfs support                                                                        5 s( ?4 V& M, J! G
            &lt; &gt; JFS filesystem support                                                                  
    - ?- {9 C8 D" v4 Q! ~        &lt; &gt; XFS filesystem support                                                                  
    - K& j1 o! z( f# k: J) q2 k* a# [        &lt; &gt; Minix fs support                                                                        ( z4 g% f3 j8 V" V7 g" g: c* a
            &lt; &gt; ROM file system support                                                               
    3 @# A, y( t! w) P        [ ] Quota support                                                                          6 \. B2 g: ~  W+ k3 A5 e
            &lt; &gt; Kernel automounter support                                                              
      Z7 U& D5 j# L7 K        &lt;*&gt; Kernel automounter version 4 support (also supports v3)                                $ r8 g3 X/ m, N( C1 n! ^7 e
                CD-ROM/DVD Filesystems  ---&gt;                                              % v/ o$ W9 _* B8 a
                    &lt;*&gt; ISO 9660 CDROM file system support                                              1 m; V0 O/ c1 g) ~! O3 p$ Q6 o
                    [ ]   Microsoft Joliet CDROM extensions                                            , V! C; A; \6 |
                    [ ]   Transparent decompression extension                                          
    1 B, H, z( t) B- `                &lt; &gt; UDF file system support  
    6 k! y' J: l# Z' s# d            DOS/FAT/NT Filesystems  ---&gt;             floppy要用到的文件格式 * d0 h$ I3 R7 z' N
                    &lt;*&gt; MSDOS fs support                                                                                                                    ; P6 I8 H' @+ [0 C5 w
                    &lt;*&gt; VFAT (Windows-95) fs support                                                    ( \1 g( i* a1 d9 Z
                    (437) Default codepage for FAT (NEW)                                                
    : Y8 [7 ]+ h6 p1 U$ G5 e! U# |; e                (iso8859-1) Default iocharset for FAT (NEW)                                        / H& S0 v( I. Y) H6 G2 a
                    &lt; &gt; NTFS file system support                                                          ' j$ V1 g! |4 C; b; j- R2 I. D7 @
                Pseudo filesystems  ---&gt;
    ( \+ H5 K1 [2 `               
  • /proc file system support                             proc文件系统支持                              ' R4 O) |( h2 k: ]
                    [ ]   /proc/kcore support                                                               
    , W0 m  N: `2 ], p# p& J) e3 Z% z4 X  V6 d                [ ] /dev file system support (OBSOLETE)                                                  ! H: q1 d" T( p
                    [ ] /dev/pts Extended Attributes                                                        
    ' O, @7 H' @/ [' Y- ^, J  h2 n: s               
  • Virtual memory file system support (former shm fs)     虚拟内存支持                              
    8 e, X2 Q( x* @: i$ S$ `' F1 A                [ ]   tmpfs Extended Attributes                                                         
    ! Y5 d/ x2 D  {8 C) ^1 h                [ ] HugeTLB file system support                                                              * V% _4 A$ m$ P; [6 A0 k. S. q. J
                Miscellaneous filesystems  ---&gt;                                      ( T  W# e8 `2 w8 }7 z( F
                Network File Systems  ---&gt;                                                          , C8 ~9 j5 p. Y+ J7 G
                    &lt;*&gt; NFS file system support                      nfs客户端支持                                                              1 y$ u5 K: T( [+ B+ X0 m
                   
  •    Provide NFSv3 client support                                                                           
    8 X$ x5 {' |% n6 I9 C1 L) ^                [ ]   Provide NFSv4 client support (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL)                                                              + o- U) h: Z5 Y4 P! H
                    [ ]   Allow direct I/O on NFS files (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL)                                                            6 s- v7 X- F1 ?
                    &lt; &gt; NFS server support                           nfs<a href="http://vip.hackbase.com/" target="_blank" >服务</A>端支持                                                            
    ; x9 X1 O* n! H                &lt; &gt; Secure RPC: Kerberos V mechanism (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL)                                                            ! O0 T6 C! C! d" A! B* F) N7 F7 b
                    &lt; &gt; Secure RPC: SPKM3 mechanism (E<a href="http://hackbase.com/skill/XP" target="_blank" >XP</A>ERIMENTAL)                                                                : G7 h, w/ ^* ~8 H, U( ^
                    &lt; &gt; SMB file system support (to mount Windows shares etc.)       samba支持                                             
    , d7 p4 d/ b9 R& s  G3 C                &lt; &gt; CIFS support (advanced network filesystem for Samba, Window and other CIFS compliant servers)              # t0 ?) S' F5 {+ Y: H
                    &lt; &gt; NCP file system support (to mount NetWare volumes)                                                        
    / ]/ K% Q! X4 W5 D" k  B                &lt; &gt; Coda file system support (advanced network fs)                                                            : J' B4 Q) M8 E- H
                    &lt; &gt; Andrew File System support (AFS) (Experimental)                    / z$ Z' b% R6 U" a( d, ?
                Partition Types  ---&gt;        
    : N! I8 t2 f8 {3 k            Native Language Support  ---&gt;                 自己选      % S* T9 S/ A5 }6 T3 u
        10.Profiling support  ---&gt;                             没选                                             
    5 [  B1 R: p. C8 D    11.Kernel hacking  ---&gt;                                没选                                                                                              . x! y* a3 `0 s( Q$ v  q& |% V
        12.Security options  ---&gt;                              没选
    9 x% O0 y8 g3 R! P$ e' C2 f' D8 ~    13.Cryptographic options  ---&gt;                         没选   
    % O% T: W3 _7 f& ]    14.Library routines  ---&gt;                                       
    . ^( z/ t% w) R, P4 {         &lt; &gt; CRC-CCITT functions                                , K$ z* f! v' E4 p' g, d) Y
             &lt;*&gt; CRC32 functions                                    
    8 c% @$ T  J9 ?/ ~2 F5 a5 H/ j         &lt;M&gt; CRC32c (Castagnoli, et al) Cyclic Redundancy-Check <>, m9 v) ]1 X) }9 r/ t
    五、编译安装 : e* J* m2 r3 L2 k8 |  b
    步骤:make -jn(n代表同时编译的进程,可以加快编译速度,n由你的配置决定,我的配置用15-25)
    4 I& n0 j# ]+ U3 T. f  @' b. Jmake modules<a href="http://www1.hackbase.com/skill/linux/200501209624_1.htm#" target="_blank" >_</A>install
    , \$ d. `2 R2 G  gmake install </P><>六、grub的设置 8 c8 c) P, d$ v8 U. G
    设置之前先介绍一下2.6的I/O调度器
    " l5 Y- u% D3 s8 _( P0 e0 b2.6包含的四个I/O调度器分别是No-op I/O scheduler、Anticipatory I/O scheduler、Deadline I/O scheduler与CFQ I/O scheduler。 ; T5 u  c7 a5 u0 v% w- ^
    在后文中分别简称为ns、as、ds与cfq。 </P><>ns是一个简化的调度程序它只作最基本的合并与排序。与桌面系统的关系不是很大,主要用在一些特殊的<a href="http://down.hackbase.com/" target="_blank" >软件</A>
    ! p1 D$ ]0 F2 S( M) D4 R! J与硬件环境下,这些<a href="http://down.hackbase.com/" target="_blank" >软件</A>与硬件一般都拥有自己的调度机制对内核支持的要求很小,这很适合一些嵌入式系统环境。作为桌面用户我们一般不会选择它。 </P><>as是当前内核中默认的I/O调度器。它拥有非常好的性能,在2.5中它就相当引人注意。在与2.4内核进行的对比测试中,在2.4中多项以分钟为单位 6 s# Y& s$ C$ I6 q, Q. r& \, x
    完成的任务,它则是以秒为单位来完成的。正因为如此它成为目前2.6测试版中默认的I/O调度器。但它也存在着弱点,它本身是比较庞大与复杂的, 9 Y6 s9 \4 r9 a1 H1 P5 |
    在一些特殊的情况下,特别是在数据吞吐量非常大的<a href="http://hackbase.com/hacker" target="_blank" >数据库</A>系统中它会变的比较缓慢。 </P><>ds就是针对as的缺点进行改善而来的,还处于测试阶段,但已经很稳定了。目前表现出的性能几乎与as一样好。加之比as更加小巧, ; K; h* _4 i) j* P% F0 b- W+ L+ x
    是相当有前途的调度器,值得一试:) </P><>cfq为系统内的所有任务分配相同的带宽,提供一个公平的工作环境,它比较适合桌面环境。事实上在测试中它也有不错的表现,
    / \3 `* I7 p7 K9 v/ q- r8 j, |( b9 j6 ~2 mmplayer xmms等多媒体播放器与它配合的相当好,回放平滑几乎没有因访问磁盘而出现的跳帧现象。对于喜欢在Linux下听音乐看电影的朋友不妨尝试一下。 </P><>好了,下面说说怎么设置:参数的格式为elevator=调度器名 </P><>修改/boot/grub/grub.conf,在kernel那行后门加入elevator=deadline </P><>例如:kernel /boot/vmlinuz-2.6.10-bk4 ro root=/dev/你的根分区 elevator=deadline </P><>七、reboot</P>




    欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5