发新话题
打印

VMware下编译Linux内核(2.4.32)全过程

VMware下编译Linux内核(2.4.32)全过程


VMware下编译Linux内核(2.4.32)全过程
; y: y! V9 L6 z; ^: w最近需要编译2.4.32内核,在网上倒是找到了不少关于编译内核的文章,但是都因为 " q2 z- W* {; n( N9 E
某些文件没有讲清楚或者根本没讲,使得像我这样的小鸟不能够正常完成内核编译, # ]+ [# m- l- I3 k. X) w4 e) B
通过自己的摸索,现将在vmware下编译2.4.32内核的详细步骤列出来, 6 ~' s: J$ V4 p3 S9 d
希望能够给和我一样的小鸟们带来近路...
% {5 R4 k( G1 `' ^7 y, g- O% H8 X' T9 `' p. g! ^' F1 J
1 B- N2 T4 a' B

# \& U  ?" A7 b3 H5 W; h3 E! f7 x$ K2 U, N/ D) {4 b5 N" i# ]* W) s
9 Q3 T1 g! H& \3 V
" w  t$ r& R2 r, ~! M, J" p6 W6 ~
1.[root@gliethttp]#make mrproper( f8 Q5 r, Z' u
2.[root@gliethttp]#make clean. G0 c! L# d- J; U8 {. O5 R& G& n- y
3.[root@gliethttp]#make menuconfig3 ]9 D) Q& i0 ]0 M
3.1.选择处理器( X. v* F6 p! P) S% j* t  r4 u
      Processor type and features--->rocessor family--->386
' `3 i9 i% B0 a0 ~( x2 \0 B3.2.Ram Disk驱动
! x+ B/ \) z, m      Block devices---> ' z; l) R+ ^6 a& |8 \3 s
      < * > RAM disk support
& z" v/ `- r& }9 c$ Q* D      (4096) Default RAM disk size (NEW)
* _0 k0 y, o" A7 I5 t1 b" `      < * > Initial RAM disk (initrd) support7 i9 H" {, {' u  g( [. n" t( {) p. \
  3.3.文件系统
5 L; x& C; g8 x8 i      File systems---> % o6 r' D, Q; J; A
      [ * ] Ext3 journalling file system support
/ a! a" S! _: r  Y7 }      [ * ] Ext3 Security Labels + t& t7 K( B: M3 N' y% c- |
      [ * ] JBD (ext3) debugging support * C, e# s* _5 p2 E0 G% I1 b
  3.4.BusLogic驱动
  {9 G; Q, r) E      SCSI support--->
, \) l1 G9 C. |" u) v5 E      SCSI low-level drivers ---> * M1 O. u/ u) H% Z/ [" @
      < M >BusLogic SCSI support
% H/ ~% T3 D- D4.[root@gliethttp]#make dep2 C2 a( }1 F! ^7 m* p
5.[root@gliethttp]#make bzImage: L' h, C# e9 F0 p
6.[root@gliethttp]#make modules
8 ]$ e/ H* `7 I7.[root@gliethttp]#make modules_install
  U8 h( H, V- B4 p* c) I; `: x  (*
. n2 k) x" E6 h8 _    make modules_install将执行如下操作:
' ?3 r$ {- |7 u #cp /usr/src/linux/System.map /boot/System.map-2.4.18
  ?& ?' }& m1 l9 m7 E6 E& l' x6 O #cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.4.18                 
9 D. c  x/ c# \  l# n #cd /boot
0 Z% h  y' k5 ? #rm -f System.map vmlinuz
3 F% g; Y9 k# y6 j; w #ln -s vmlinuz-2.4.18 vmlinuz* C8 ~5 q4 c4 Z6 O6 t
#ln -s System.map-2.4.18 System.map
8 i1 F5 m$ G/ U$ p! m , G5 ?' a) O. G" `2 R
bzImage是压缩的内核映像$ B( Z4 Q) Y% k# o2 m& n; _% i! M
vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。
' K0 G# z9 a0 } initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。
1 y9 L+ X% z% U% f. {% \( ] System.map是一个特定内核的内核符号表。它是你当前运行的内核的System.map的链接。
% t1 a7 l  F* l. o" |) V  *): `* J6 r! r7 ^1 H4 o
8.[root@gliethttp]#make install (生成grub下的menu.lst相关文件和RAM启动盘)
% ~/ U! D+ X: j+ r8 k% t( r9.[root@gliethttp]#reboot (重启计算机)



点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹

TOP

发新话题