´ÙÀ½ ÀÌÀü Â÷·Ê

4. ÄÄÆÄÀÏ È¯°æ ¼³Á¤ ¸í·É

ÀÌ ¹®¼­´Â IBM PC ½ºÅ¸ÀÏÀÇ ½Ã½ºÅÛÀ» °¡Áø ÀÏ¹Ý »ç¿ëÀÚ¸¦ À§ÇÑ ÄÄÆÄÀÏ È¯°æÀ» Á¶¾ðÇÕ´Ï´Ù. ¾ËÆÄ ½Ã½ºÅÛÀ̳ª ¼± ¸Ó½ÅÀ» °¡Áö°í ÀÖ´Ù¸é ÇÑ±Û ¸®´ª½º ¹®¼­ ÇÁ·ÎÁ§Æ® ÆÀÀÇ È¨ÆäÀÌÁö¸¦ ã¾Æ°¡ º¾´Ï´Ù.

http://KLDP.org

4.1 ¹Ì¸® ¾Ë°í ÀÖÀ¸¸é ÁÁÀº °Íµé

ÄÄÆÄÀÏ È¯°æ ¼³Á¤À» À§ÇØ Çϵå¿þ¾î ±¸¼º Á¤º¸¸¦ ±â·ÏÇصӴϴÙ. »ç¿îµå Ä«µå, ³×Æ®¿öÅ© µð¹ÙÀ̽º µîÀÇ IRQ, I/O port, DMA addreSS, ±×¸®°í ºñµð¿À Ä«µå µî ÀåÄ¡ÀÇ Æ¯¼ºÀ» ¾Ë°í ÀÖ¾î¾ß ÇÕ´Ï´Ù.

¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡ ¾î¶² ÀåÄ¡¿Í Ĩ¼ÂÀÌ µé¾îÀÖ´ÂÁö ¾Ë¾Æº¸·Á¸é /proc/pci, /proc/sound, /proc/scsi/scsi µî ÆÄÀÏÀ» ¿­¾îº¾´Ï´Ù. ´ÙÀ½Àº ÀÌ ±ÛÀ» ¾²°íÀÖ´Â ¸®´ª½º ¹Ú½ºÀÔ´Ï´Ù. PCI ¹ö½º¸¦ Áö¿øÇϴ Ĩ¼Â°ú ÀåÄ¡ ¸î °¡Áö¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù:

 # cat /proc/pci 
PCI devices found:
Bus  0, device   0, function  0:
  Host bridge: VIA Technologies VT 82C598 Apollo MVP3 (rev 4).
    Medium devsel. Fast back-to-back capable. Master Capable. Latency=16. 
    Prefetchable 32 bit memory at 0xe0000000 [0xe0000008].
Bus  0, device   1, function  0:
  PCI bridge: VIA Technologies VT 82C598 Apollo MVP3 AGP (rev 0).
    Medium devsel. Master Capable. No bursts. Min Gnt=12.
Bus  0, device   7, function  0:
  ISA bridge: VIA Technologies VT 82C586 Apollo ISA (rev 71).
    Medium devsel. Master Capable. No bursts. 
Bus  0, device   7, function  1:
  IDE interface: VIA Technologies VT 82C586 Apollo IDE (rev 6).
    Medium devsel. Fast back-to-back capable. Master Capable. Latency=32. 
    I/O at 0x6400 [0x6401].
Bus  0, device   7, function  2:
  USB Controller: VIA Technologies VT 82C586 Apollo USB (rev 2).
    Medium devsel. IRQ 9. Master Capable. Latency=32. 
    I/O at 0x6800 [0x6801].
Bus  0, device   7, function  3:
  Host bridge: VIA Technologies VT 82C586B Apollo ACPI (rev 16).
    Medium devsel. Fast back-to-back capable. 
Bus  0, device  11, function  0:
  Ethernet controller: AMD Unknown device (rev 82).
    Vendor id=1022. Device id=2001.
    Medium devsel. Fast back-to-back capable. IRQ 11. Master Capable. Latency=32. Min Gnt=24.Max Lat=24.
    I/O at 0x6c00 [0x6c01].
    Non-prefetchable 32 bit memory at 0xed001000 [0xed001000].
Bus  0, device  12, function  0:
  Ethernet controller: DEC DC21140 (rev 34).
    Medium devsel. Fast back-to-back capable. IRQ 10. Master Capable. Latency=32. Min Gnt=20.Max Lat=40.
    I/O at 0x7000 [0x7001].
    Non-prefetchable 32 bit memory at 0xed000000 [0xed000000].
Bus  1, device   0, function  0:
  VGA compatible controller: NVidia Unknown device (rev 21).
    Vendor id=10de. Device id=2c.
    Medium devsel. Fast back-to-back capable. IRQ 10. Master Capable. Latency=32. Min Gnt=5.Max Lat=1.
    Non-prefetchable 32 bit memory at 0xe8000000 [0xe8000000].
    Prefetchable 32 bit memory at 0xea000000 [0xea000008].

4.2 ȯ°æ¼³Á¤ ÀÎÅÍÆäÀ̽º

ȯ°æ ¼³Á¤À» À§ÇÑ ÀÎÅÍÆäÀ̽º´Â make config, make menuconfig, make xconfig ¼¼ °¡Áö°¡ ÀÖ½À´Ï´Ù(ÀÌÀü ¼³Á¤ Á¤º¸´Â ±×´ë·Î µÐ ä »õ·Î¿î ¿É¼Çµé¿¡ ´ëÇؼ­¸¸ ¹°¾îº¸´Â make oldconfigµµ ÀÖ½À´Ï´Ù).

make´Â "makefile"¿¡ ¼­¼úµÈ±ÔÄ¢À» ÀÌ¿ëÇÏ¿© ¼Ò½ºÄÚµå ÆÄÀϵéÀ» °ü¸®ÇÕ´Ï´Ù. ÃÖ±Ù º¯°æÀ» Àû¿ëÇÏ¿© ¼Ò½ºÄڵ带 ¿ÀºêÁ§Æ® ÆÄÀÏ·Î ÄÄÆÄÀÏÇÏ°í ¶óÀ̺귯¸® ÆÄÀÏ°ú ¸µÅ©ÇÏ¿© ½ÇÇà °¡´ÉÇÑ ÆÄÀÏ·Î ÄÄÆÄÀÏ ÇÏ´Â °úÁ¤µéÀ» ÀÚµ¿À¸·Î ó¸®ÇÕ´Ï´Ù.

make config ¶Ç´Â make oldconfig

Çà ´ÜÀ§·Î ȯ°æ ¼³Á¤À» ÇÏ´Â make config´Â bash³ª csh¿¡¼­ ½ÇÇàµË´Ï´Ù. ¼¼ºÎÀûÀÎ ¼³Á¤À» ÇÒ ¼ö ÀÖÁö¸¸ °¡Àå ºÒÆíÇÑ ÀÎÅÍÆäÀ̽º·Î Àß ¾²ÀÌÁö ¾Ê½À´Ï´Ù. ±×·¯³ª make oldconfig´Â ²Ï ¾µ¸¸ÇÕ´Ï´Ù.

make menuconfig

¾Æ·¡´Â ¸Þ´º½Ä ¼³Á¤È­¸éÀÇ ÇÑ ¿¹ÀÔ´Ï´Ù.

Linux Kernel v2.4.2 Configuration
---------------------------------------------------------------------------- 
+---------------------------- Console drivers ----------------------------+
|  Arrow keys navigate the menu. <Enter> selects submenus --->.           |   
|  Highlighted letters are hotkeys. Pressing <Y> includes, <N> excludes,  |   
|  <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help.     |
|  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable     |   
| +---------------------------------------------------------------------+ |   
| |         [*] VGA text console                                        | |   
| |         [ ] Video mode selection support                            | |   
| |         <M> MDA text console (dual-headed) (EXPERIMENTAL)           | |   
| |         Frame-buffer support  --->                                  | |   
| |                                                                     | |   
| |                                                                     | |   
| |                                                                     | |   
| |                                                                     | |   
| |                                                                     | |   
| |                                                                     | |   
| +---------------------------------------------------------------------+ |   
+-------------------------------------------------------------------------+   
|                    <Select>    < Exit >    < Help >                     |   
+-------------------------------------------------------------------------+   

¸Þ´º¹æ½ÄÀÇ È­¸é¿¡¼­ ´ÜÃà ±Û¼è(³ë¶þ°Ô µµµå¶óÁø ±Û¾¾)¿Í ¹æÇâÅ°·Î ¸Þ´º »çÀ̸¦ ¿Å°Ü ´Ù´Ò ¼ö ÀÖ½À´Ï´Ù. "---->" Ç¥½Ã°¡ ÀÖ´Â °÷¿¡¼­ ¿£ÅÍÅ°¸¦ ´©¸£¸é ÇÏÀ§ ¸Þ´º°¡ ¿­¸³´Ï´Ù. <ESC>¸¦ µÎ¹ø ´©¸£°Å³ª <Exit>¸¦ ¼±ÅÃÇÏ¸é »óÀ§ ¸Þ´º·Î ¿Ã¶ó°©´Ï´Ù. <h>¸¦ ´©¸£¸é µµ¿ò¸»À» º¼ ¼ö ÀÖ½À´Ï´Ù. <Tab> Å°¸¦ ´©¸£¸é ÄÁÆ®·Ñ »çÀ̸¦ ¿Å°Ü´Ù´Õ´Ï´Ù.

Áú¹®¿¡ ´ëÇØ Y´Â Ä¿³Î¿¡ Æ÷ÇÔ, NÀº Á¦¿Ü, MÀº ¸ðµâÀ» ¶æÇÕ´Ï´Ù. ¼³Á¤ »óÅ´ [ ] ¶Ç´Â < > ¾È¿¡*(¼±ÅÃ), M(¸ðµâ), ºóÄ­(Á¦¿Ü)·Î Ç¥½ÃµË´Ï´Ù. ¸ðµâ±â´É(M)Àº "< >"À¸·Î Ç¥½ÃµÈ Áú¹®¿¡¸¸ ¾µ ¼ö ÀÖ½À´Ï´Ù.

¼³Á¤ÀÌ ³¡³µ´Ù¸é ¸ÞÀÎ ¸Þ´º¿¡¼­ "Save Configration to an ALternate FiLe"À» ¼±ÅÃÇÏ¿© ¼³Á¤ ³»¿ëÀ» ÆÄÀÏ·Î ÀúÀåÇÕ´Ï´Ù. ÀúÀåµÈ ÆÄÀÏÀ» ÀоîµéÀÏ ¶§¿¡´Â "Load an ALternate Configration FiLe" ¸Þ´º¸¦ ¼±ÅÃÇÕ´Ï´Ù.

make menuconfig´Â ncurses(new-curses) Library¸¦ »ç¿ëÇÕ´Ï´Ù. ncurses´Â È­¸é ÀÔÃâ·Â¿¡ ¾²ÀÌ´Â ¶óÀ̺귯¸®ÀÔ´Ï´Ù. ncurses°¡ ¼³Ä¡µÇÁö ¾Ê¾Ò´Ù¸é ½ÇÇàµÇÁö ¾Ê´Â ÇÁ·Î±×·¥µéÀÌ ¸¹À¸¹Ç·Î ¹Ýµå½Ã ¼³Ä¡ÇÕ´Ï´Ù.

# mount /mnt/cdrom
# rpm -Uvh /mnt/cdrom/RedHat/RPMS/ncurses*

make xconfig

X Å͹̳ο¡¼­¸¸ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç ¸¶¿ì½º¸¦ ÀÌ¿ëÇÏ¿© ¼³Á¤ÇÕ´Ï´Ù. make xconfig¸¦ ¼öÇàÇϱâ À§Çؼ­´Â X À©µµ¿ì¿ÍTcL/Tk ÀÎÅÍÇÁ¸®ÅÍ/ÅøŶ ¶óÀ̺귯¸®°¡ ¹Ýµå½Ã ÇÊ¿äÇÕ´Ï´Ù.

ÁÖ È­¸éÀÇ "Store Configurationto FiLe"Ç׸ñ¿¡¼­ ¼³Á¤ ³»¿ëÀ» ÆÄÀÏ·Î ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. ÄÄÆÄÀÏ È¯°æÀº /usr/src/linux/arch/i386/config.in¿¡ ÀúÀåµÇ¾î ÀÖ½À´Ï´Ù. µðÆúÆ® ¼³Á¤À» Âü°íÇÏ°í ½Í´Ù¸é »çº»À» ¸¸µé¾î µÓ´Ï´Ù:

# cd /usr/src/linux/arch/i386
# cp config.in{,.old}


´ÙÀ½ ÀÌÀü Â÷·Ê