当前位置:Linux教程 - 内核技术 - 内核技术 - 编译内核实践篇

内核技术 - 编译内核实践篇

编译内核实践篇
2004-04-23 15:18 pm
来自:Linux文档
现载:Www.8s8s.coM
地址:无名

从www.kernel.org上下载最新的内核源文件linux-2.4.20.tar.bz2,并于rh8上编译。
1. cp linux-2.4.20.tar.bz2 /usr/src
2. cd /usr/src
3. tar xvfj linux-2.4.20.tar.bz2
4. ln -sf linux-2.4.20 linux
5. cd /usr/src/linux
6. make mrproper
7. cd /usr/include/
9. ln -sf /usr/src/linux/include/asm-i386 asm
10. ln -sf /usr/src/linux/include/linux linux
11. ln -sf /usr/src/linux/include/scsi scsi
12. make menuconfig
13. make dep
14. make clean
15. make bzImage或make zImage
16. make modules
17. make modules_install
18. depmod -a
19. cp /usr/src/linux/System.map /boot/System.map-2.4.20
20. cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.20
21. cd /boot
22. ln -sf vmlinuz-2.4.20 vmlinuz
23. ln -sf System.map-2.4.20 System.map
24. /sbin/mkinitrd /boot/initrd-2.4.20.img 2.4.20
25. vi /etc/rc.sysinit,将keybdev替换成usbkbd,mousedev替换成usbmouse. 25. Grub启动, 在/etc/grub.conf中增加
title Red Hat linux (2.4.20)
root (hd0,0)
kernel /vmlinuz-2.4.20 ro root=/dev/hda2
Grub不需再次调用命令,自动生效。
重启以后就可以用新内核了。

over

make menuconfig的变化
(1) processor type and features
  删去
    symmetric multi-processing support
  增加
    MTTR (memory type range register)support. [*]

(2) general setup   增加
    advanced power management BIOS support <*>, 然后选中以下7项
    parallel port support 中,增加 parallel port support <*>
(3) network devices中,在Ethernet (10 r 100M bit)中,选中3COM cards [*]
3c590/3c900 series <*>
Input Core Support中, 打开所有<*> (除了joystick) (这样就支持USB)
File Systems中,打开Ext3 journalling file system support <*>
DOS FAT fs <*>
MSDOS fs support <*>
vfat (windows-95) fs support <*>
Network File Systems
SMB file system support (to mount windows shares etc.) <*>
Native Language Support
选中
simplified chinese charset <*>
traditional chinese charset <*>
USB support
打开UHCI Alternate Driver (JE) support <*>
打开OHCI (Compaq, iMacs, OPTi, SiS, ALi, ... ) support <M>
USB Human Interface Devices (HID)
打开
USB Human Interface Device (full HID) support <M>
HID input layer support [*]
/dev/hiddev raw HID device support [*]
USB HIDBP Keyboard (basic) support <M>
USB HIDBP Mouse (basic) support <M>


UHCI (Intel PIIX4, VIA, ...) support (NEW) <*>
OHCI (COMPAQ, iMacs, OPTi, SiS, ALi, ...) support <*>



最新一次的改变: 2.4.20 make menuconfig的变化
(0) Code maturity level options
  增加
    [*] Prompt for development and/or incomplete code/drivers

(1) processor type and features
  删除
    symmetric multi-processing support

(1) General Setup
  删除
    [ ] ISA bus support

(1) Plug and Play configuration
  删除
    < > ISA Plug and Play support

(2) Block devices
  增加
    <*> Loopback device support
    <*> Network block device support
<*> RAM disk support
[*] Initial RAM disk (initrd) support

(2) IEEE 1394 (FireWire) support (EXPERIMENTAL)
  增加
    <M> IEEE 1394 (FireWire) support (EXPERIMENTAL) (NEW)
      <M> OHCI-1394 support (NEW)
      <M> Raw IEEE1394 I/O support (NEW)

(3) Network device support
  Ethernet (10 or 100Mbit)
  增加     [*] 3COM cards
<*> 3 c590/3c900 series (592/595/597) "Vortex/Boomerang" support (NEW)
  删除
    [ ] EISA,VLB,PCI and on board controllers
  PCMCIA network device support
  删除
    [ ] PCMCIA network device support

(4) Input core support
  增加
    <*> Input core support
    <*> Keyboard support
    <*> Mouse support

(5) Character devices
  增加
    <M> Enhanced Real Time Clock Support

(6) FILE SYSTEMS
  增加
    <*> Ext3 journalling file system support
    <*> DOS FAT fs support
    <*> MSDOS fs support
    <*> VFAT (Windows-95) fs support
    <*> NTFS file system support
    <*> Network File Systems
      <*> SMB file system support (to mount Windows shares etc.)
        [*] Use a default NLS (NEW)
        将.config中的cp437改为cp936     <*> Native language support
      <*> Simplified Chinese charset (CP936, GB2312) (NEW)

(7) Sound
  增加
    <*> Creative SBLive! (EMU10K1)
  删除
    < > Creative Ensoniq AudioPCI 97 (ES1371)

(8) USB support
  增加
    <*> Preliminary USB device filesystem
    <*> OHCI (Compaq, iMacs, OPTi, Sis, ALi, ...) support
    <M> USB Human Interface Device (full HID) support
      <*> HID input layer support
      <*> /dev/hiddev raw HID device support
    <M> USB HIDBP Keyboard (basic) support
    <M> USB HIDBP Mouse (basic) support