���� ���� ����

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}


���� ���� ����