内核技术 - 编译内核实践篇
编译内核实践篇
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