· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/Kernel24_Intro-KLDP

Ä¿³Î 2.4 Intro

Ä¿³Î 2.4 Intro

Á¤¿ø¿µ suni00@kernel.pe.kr

v0.2, 2000³â 8¿ù 30ÀÏ
°³¹ßÄ¿³Î 2.4.0-tset ¹öÀüÀ» ÄÄÆÄÀÏÇϱâÀ§ÇÑ ±âº»ÀûÀÎ ¹è°æÁö½Ä°ú ÀϹÝÀû »ç¾çÀÇ PC¿¡¼­ÀÇ ÄÄÆÄÀÏ ¿É¼Ç¹× ¹æ¹ý ±×¸®°í Ä¿³Î 2.4 ¿¡¼­ ¹«¾ùÀÌ ´Þ¶óÁ³´ÂÁö¸¦ ´Ù·é´Ù. (ÀÌ ±ÛÀ» ¾²´Â ÇöÀç °¡Àå ÃֽŠ°³¹ß Ä¿³ÎÀÎ 2.4.0-test7À» ±âÁØÀ¸·Î ÀÌ·ÐÀûÀÎ¸é º¸´Ü ½ÇÁ¦·Î ¾î¶»°Ô ÇؾßÇÏ´ÂÁö¿¡ ÁßÁ¡À» µÎ¾ú´Ù.)

1. ¹è°æÁö½Ä

1.1 Ä¿³ÎÀ̶õ?

Ä¿³ÎÀ̶õ ¿î¿µÃ¼Á¦(Operating System)¿¡¼­ °¡Àå ÇÙ½ÉÀûÀÎ ¿ªÇÒÀÎ ÀÚ¿ø (¸Þ¸ð¸®, ÇÁ·Î¼¼¼­µî)À» °ü¸®ÇÏ¸ç ½Ã½ºÅÛÀÌ ¿øÈ°È÷ µ¹¾Æ°¥ ¼ö ÀÖµµ·Ï Á¦¾îÇØ ÁØ´Ù. ÇöÀç ¿ì¸®°¡ ¸®´ª½º(OS)¶ó°í Çϴ°͵µ ½ÇÁ¦ÀûÀ¸·Ð ¸®´ª½º¶õ ¿î¿µÃ¼Á¦ÀÇ Ä¿³Î À̸§À» ¸»Çϴ°ÍÀε¥ ÀÌ°ÍÀÌ È®ÀåµÈ Àǹ̷Π»ç¿ëµÇ¾î ÇöÀçÀÇ '¸®´ª½º'¶õ OS¸¦ ÁöĪÇÏ°Ôµµ µÈ°ÍÀÌ´Ù. ±×·¯¹Ç·Î Linux = kernelÀ̶õ µî½ÄÀÌ ¼º¸³ÇÑ´Ù.

1.2 Ä¿³ÎÀº ¾îµð¼­ ±¸Çϳª?

¿ì¼±ÀûÀ¸·Î ¾ÈÁ¤ ¹öÀü°ú °¡Àå ÃֽŠ°³¹ß¹öÀüÀ» ¿øÇÑ´Ù¸é http://kernel.pe.kr ·Î Á¢¼ÓÇÏ¸é µÈ´Ù. ±× ÀÌ¿Ü¿¡´Â ´ÙÀ½ ¹Ì·¯ »çÀÌÆ®¿¡¼­ ±¸ÇÒ¼ö ÀÖ´Ù.

1.3 ÃֽŠĿ³Î ¹öÀüÀº ¾î¶»°Ô ¾Ë¾Æº¸³ª?

SHELL¿¡¼­ finger @finger.kernel.org ¸í·ÉÀ¸·Î ÃֽŠĿ³Î¹öÀüÀ» ¾Ë ¼ö ÀÖ´Ù. ÀÌ ¹®¼­¸¦ ÀÛ¼ºÇÏ´Â ÇöÀç ÃֽŹöÀüÀº ´ÙÀ½°ú °°´Ù.

  • stable version : 2.2.16
  • beta version : 2.4.0-test7
  • prepatch version : 2.4.0-test8/pre1
Ä¿³ÎÀº stable version(¾ÈÁ¤¹öÀü)°ú beta version(°³¹ß¹öÀü)À¸·Î ³ª´©´Âµ¥ ÀÌ 
µÎ ¹öÀüÀÇ Â÷ÀÌ´Â minor number°¡ ¦¼öÀÌ³Ä È¦¼öÀ̳ķΠ±¸ºÐÇÑ´Ù.
(minor number¶õ Ä¿³Î 2.2.16ÀÌ ÀÖ´Ù¸é °¡¿îµ¥ ¼öÀÎ 2°¡ minor numberÀÌ°í
Á¦ÀÏ ¾ÕÀÇ 2´Â major number ÀÌ´Ù. ¸¶Âù°¡Áö·Î 2.3.99¿¡¼± major´Â 2ÀÌ°í minor´Â
3ÀÌ´Ù.)
±×·¸´Ù¸é 2.4.0-test ¹öÀüµéÀº minor number°¡ ¦¼öÀε¥ ¿Ö °³¹ß¹öÀüÀ̶ó°í Çϳª?
±× ÀÌÀ¯´Â 2.3.99ÀÇ ÆÐÄ¡¹öÀüµéÀÌ ÀÌÁ¦ °ÅÀÇ 2.4 ¾ÈÁ¤¹öÀü¿¡ °¡±î¿öÁ³´Ù´Â Àǹ̷Î
Linus°¡ 2.4.0-test¶ó À̸§ ºÙÀΰÍÀÌ´Ù.

1.4 Ä¿³Î ÄÄÆÄÀÏ ¹æ¹ý(Ä¿³Î 2.4.0-test7)

¿©·¯ °¡Áö ¹æ¹ýµéÀÌ ÀÖÁö¸¸ ÀúÀåµÈ Ä¿³Î¿É¼Ç¼³Á¤ ÆÄÀÏÀÌ ÀÖ´Ù¸é oldconfig¸¦ ÀúÀåµÈ ÆÄÀÏÀÌ ¾ø´Ù¸é menuconfig¸¦ ÃßõÇÑ´Ù.

  1. make oldconfig ¶Ç´Â make menucofig
    make oldconfig¸¦ ÇϱâÀ§Çؼ± ´ÙÀ½°ú °°Àº ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù.
    ¿¹Àü¿¡ ¼³Á¤ÇÑ Ä¿³Î¿É¼ÇÀÌ kernel.config ¶õ À̸§À¸·Î ÀúÀåµÇ¾îÀÖ´Ù¸é 
    ÀÌ ÆÄÀÏÀ» »õ ¹öÀüÀÇ Ä¿³ÎÀÌ ÀÖ´Â /usr/src/linux µð·ºÅ丮¿¡ .config¶õ À̸§À¸·Î 
    Ä«ÇÇÇÑ´Ù.
    # cp kernel.config /usr/src/linux/.config
    À§¿Í°°ÀÌ ÇÑÈÄ make oldconfig¸¦ ½ÇÇàÇÏ¸é ¿¹Àü ¿É¼ÇÀ» ±×´ë·Î Àû¿ë½ÃÄÑÁÖ¸ç
    Ȥ½Ã³ª »õ·Î¿î ¿É¼ÇÀÌ ÀÖ´Ù¸é È­¸é¿¡ º¸¿©ÁÖ¸ç ¼±ÅÃÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù.
    
  2. make dep
  3. make clean
  4. make bzlilo
    make bzlilo¶õ ´ÙÀ½°ú °°Àº ¸í·ÉµéÀ» ¼øÂ÷ÀûÀ¸·Î ½ÇÇàÇÑ°Í°ú °°´Ù.
    # make bzImage
    # cp /usr/src/linux/arch/i386/boot/bzImage /vmlinuz
    # /sbin/lilo
    
  5. mv /vmlinuz /boot/vmlinuz-2.4.0-test7
  6. mv /System.map /boot/System-2.4.0-test7
  7. vi /etc/lilo.conf
    ÀϹÝÀûÀ¸·Î ´ÙÀ½°ú °°Àº È­¸éÀ» º¼ ¼ö ÀÖÀ»°ÍÀÌ´Ù.
    boot=/dev/hda
    map=/boot/map
    install=/boot/boot.b
    prompt
    timeout=50
    default=linux
    
    image=/boot/vmlinuz-2.4.0-test7  ---> »õ·Î »ý¼ºÇÑ Ä¿³ÎÀ̹ÌÁö¸¦ linux¶õ ·¹À̺í
            label=linux                   ·Î ºÎÆÃÇÒ ¼ö ÀÖµµ·Ï ÇϱâÀ§ÇØ 
            read-only
            root=/dev/hda1
    
    image=/boot/vmlinuz-2.2.16      ---> ¿¹Àü Ä¿³ÎÀÌ 2.2.16À̶ó°í °¡Á¤ÇßÀ»¶§ 
            label=old                    old¶õ ·¹À̺í·Î Á¤ÀÇÇÑ´Ù.
            read-only
            root=/dev/hda1
    
  8. /sbin/lilo

1.5 ¸ðµâ ÄÄÆÄÀÏ ¹æ¹ý

¸ðµâÀÌ »ý¼ºµÇ´Â µð·ºÅ丮´Â '/lib/modules/2.4.0-test7'ÀÌ°í ¸¸¾à ÇöÀç Ä¿³ÎÀÇ ¸ðµâÀ» ´Ù½Ã »ý¼ºÇÏ·Á°í ÇÑ´Ù¸é ÇöÀç Ä¿³ÎÀÇ ¸ðµâ µð·ºÅ丮¸¦ Áö¿ì°í ´Ù½Ã ÄÄÆÄÀÏ Çϱ⠹ٶõ´Ù. (Ä¿³Î 2.4.0-test ¹öÀü¿¡¼­´Â ¸ðµâÀÇ µð·ºÅ丮±¸Á¶°¡ ¸¹ÀÌ ¹Ù²î¾ú´Ù.)

  1. make modules
  2. make modules_install

2. Ä¿³Î 2.4.0-test ¹öÀü

2.1 ÇÊ¿äÇÑ ÆÐÅ°Áö

RedHat ±â¹Ý 6.1ÀÌ»óÀÇ ¹èÆ÷ÆÇÀ̶ó¸é modutils¸¸ ¾÷±×·¹À̵å ÇÏ¸é µÉ°ÍÀÌ´Ù. (modutils¸¦ ¾÷Çϴµ¥ glibc¹öÀüÀÌ ³·´Ù¸é glibcµµ ¾÷ÇØ¾ß ÇÑ´Ù. glibc´Â ·ÎÄÉÀÏ°ú timezone, ¿©·¯ ¶óÀ̺귯¸®¸¦ Æ÷ÇÔÇؼ­ ÀÇÁ¸¼º ¹®Á¦¿¡ ¸¹Àº ¿µÇâÀ» ³¢Ä¡¹Ç·Î ¾÷±×·¹À̵å Çϴµ¥ ÁÖÀǸ¦ ÇÊ¿ä·Î ÇÑ´Ù. rpm ¹öÀüÀÌ ³·´Ù¸é rpmµµ ¾÷ÇØ¾ß ÇÑ´Ù.) 2.4.0-test Ä¿³ÎÀ» »ç¿ëÇϱâÀ§Çؼ­ ´ÙÀ½ »çÇ×À» È®ÀÎÇ϶ó.

          ÆÐÅ°Áö ¸í                ¹öÀü                    È®Àιæ¹ý
        o  Gnu C                2.7.2.3            # gcc --version
        o  Gnu make             3.77               # make --version
        o  binutils             2.9.1.0.22         # ld -v
        o  util-linux           2.10o              # kbdrate -v
        o  modutils             2.3.13             # insmod -V
        o  e2fsprogs            1.18               # /sbin/tune2fs --version
        o  pcmcia-cs            3.1.19             # cardmgr -V
        o  PPP                  2.4.0              # pppd --version
        o  isdn4k-utils         3.1beta7           # isdnctrl 2>&1|grep version

2.2 Ä¿³Î 2.4¿¡¼­ ´Þ¶óÁø°Í°ú »õ·Î¿î °Íµé

  • Bogo Mips°¡ µÎ ¹è·Î ¿Ã¶ó°£´Ù.(AMD-K6 ¿Í È®ÀÎ ¸øÇÑ Processor Á¦¿Ü)
    $ cat /proc/cpuinfo ¸¦ Çغ¸¸é È®ÀÎÇÒ ¼ö ÀÖ´Ù.
    Bogo(bogos : °¡Â¥)À̹ǷΠ½Å·ÚÇÒ¼ø ¾øÁö¸¸ ±âºÐ¸¸Àº ÁÁÁö¾ÊÀº°¡?
    
  • modutils ¾÷±×·¹À̵å½Ã ¹Ù²î´Â °Íµé
    ¸¸¾à modutils ¹öÀüÀÌ ¾Õ¿¡¼­ ¸í½ÃÇÑ ¹öÀüº¸´Ù ³·Àºµ¥ ¸ðµâ ÄÄÆÄÀÏÀ» ÇÑ´Ù¸é
    ¿¡·¯°¡ ³­´Ù. ²À modutils¸¦ ¾÷ ÇØ¾ß ¸ðµâ ÄÄÆÄÀÏÀ» ÇÒ ¼ö ÀÖ´Ù.
    modutils¸¦ ¾÷ÇÏ¸é ¿¹ÀüÀÇ /etc/conf.modules°¡ /etc/modules.conf·Î ¹Ù²î°í
    USB ¸ðµâµµ ÀÚµ¿·ÎµùÀÌ °¡´ÉÇÏ¸ç ¸¹Àº ¿¹¾à¾î¸¦ Áö¿øÇÑ´Ù.
    
    ´ÙÀ½ ftp »çÀÌÆ®¿¡¼­ ±¸ÇÒ¼ö ÀÖ´Ù.
    ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/v2.3/
    
  • ¸ðµâÀÌ À§Ä¡ÇÑ /lib/modules/2.4.0-test7 µð·ºÅ丮 ±¸Á¶
    Ä¿³Î 2.4.0-test6 ÀÌ»óÀÇ ¹öÀüºÎÅÍ ¸ðµâµéÀÌ À§Ä¡ÇÏ´Â '/lib/modules/Ä¿³Î¹öÀü' ÀÇ 
    µð·ºÅ丮 ±¸Á¶°¡ ´õ ¼¼ºÐÈ­ µÇ°í ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î ¹Ù²î¾ú´Ù.
    ÇöÀç ÇÊÀÚÀÇ µð·ºÅ丮 ±¸Á¶ÀÌ´Ù.
    
    [kernel@suni00/lib/modules/2.4.0-test7]$ ls -l
    
    lrwxrwxrwx  1 root  root    26 Sep  4 17:09 build -> /usr/src/linux-2.4.0-test7/
    drwxr-xr-x  6 root  root  1024 Sep  4 17:09 kernel/
    -rw-r--r--  1 root  root  1340 Sep  5 20:33 modules.dep
    -rw-r--r--  1 root  root  3235 Sep  5 20:33 modules.pcimap
    drwxr-xr-x  2 root  root  1024 Sep  4 17:09 pcmcia/
    
    À§ÀÇ kernel µð·ºÅ丮¿¡ µé¾î°¡º¸¸é ´ÙÀ½°ú °°ÀÌ ¼¼ºÐÈ­ µÇ¾îÀÖ´Ù.
    [kernel@suni00/lib/modules/2.4.0-test7/kernel]$ ls -l
    
    drwxr-xr-x   3 root     root         1024 Sep  4 17:09 arch/
    drwxr-xr-x   8 root     root         1024 Sep  4 17:10 drivers/
    drwxr-xr-x   9 root     root         1024 Sep  4 17:09 fs/
    drwxr-xr-x   4 root     root         1024 Sep  4 17:09 net/
    
    drivers µð·ºÅ丮 ±¸Á¶¸¦ º¸¸é ¿¹Àü ¸ðµâµéÀÇ µð·ºÅ丮 ±¸Á¶°¡ ¿©±â·Î ¿Å°Ü ¿ÔÀ½À»
    ¾Ë ¼ö ÀÖ´Ù. 
    [kernel@suni00/lib/modules/2.4.0-test7/kernel/drivers]$ ls -l
    
    drwxr-xr-x   2 root     root         1024 Sep  4 17:09 block/
    drwxr-xr-x   3 root     root         1024 Sep  4 17:09 char/
    drwxr-xr-x   2 root     root         1024 Sep  4 17:09 ide/
    drwxr-xr-x   2 root     root         1024 Sep  4 17:09 net/
    drwxr-xr-x   2 root     root         1024 Sep  4 17:09 sound/
    drwxr-xr-x   2 root     root         1024 Sep  4 17:10 video/
    
  • UID,GID bit°¡ 16bit¿¡¼­ 32bit·Î ¹Ù²î¾ú´Ù.
    2^16Àº 65536À̹ǷΠ»ç¿ëÀÚ¸¦ 65536¸í ±îÁö ¸¸µé¼ö ÀÖÁö¸¸ Ä¿³Î 2.4¿¡¼­´Â 
    2^32 Áï 4294967296¸íÀ» ¸¸µé¼ö ÀÖ´Ù.(½Ã½ºÅÛ ÄÝÀÇ º¯°æµµ ÇÊ¿ä·Î Çϸç
    Çö½ÇÀûÀ¸·Î ÀÌ·¸°Ô ¸¹Àº À¯Àú¸¦ ÇÑ ¼­¹ö¿¡ µÐ´Ù´Â°ÍÀº ¹«¸®ÀÌ´Ù.)
    
  • »ý¼º°¡´ÉÇÑ ÇÁ·Î¼¼½ºÀÇ ¼öÀÇ Á¦ÇÑÀÌ ¾ø¾îÁ³´Ù.
    2.2.x Ä¿³ÎÀÇ ¼Ò½º¸¦ º¸¸é include/linux/tasks.h¿¡¼­ NR_TASKSÀÇ °³¼ö°¡ 512·Î
    Á¤ÀǵǾî ÀÖ´Ù. 512ÀÌ»óÀÇ ÇÁ·Î¼¼½º¸¦ »ý¼ºÇÒ ¼ö ÀÖµµ·Ï ÇÏ·Á¸é ÀÌ °ªÀ» °íÃÄ 
    ÁÖ¾î¾ß Çߴµ¥ x86 machine¿¡¼­´Â GDT(Global Descriptor Table)ÀÇ Á¦ÇѶ§¹®¿¡ 
    4092±îÁö ¹Û¿¡ ÇÒ ¼ö ¾øµµ·Ï µÇ¾îÀÖ¾ú´Ù.
    2.4.0-test ¹öÀü¿¡¼­´Â task ÀڷᱸÁ¶°¡ µ¿ÀûÀ¸·Î ÇÒ´çµÇ¾î NR_TASKS °ªÀÌ
    ¾ø¾îÁ³°í ¸Þ¸ð¸®ÀÇ ÇѰ踸ÀÌ À¯ÀÏÇÑ Á¦¾àÀ¸·Î µû¸¥´Ù.
    
  • °øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇϱâÀ§ÇØ /var/shm(¶Ç´Â /dev/shm)À» ¸¶¿îÆ® ÇؾßÇÑ´Ù.
    Ä¿³Î 2.3 °³¹ß¹öÀüÀ» óÀ½ ÄÄÆÄÀÏÇÏ°í ºÎÆÃÇßÀ»¶§ Á¦ÀÏ Ã³À½ Á÷¸éÇß´ø ¹®Á¦Àε¥
    System V °øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇÏÁö ¸øÇؼ­ ºÎÆýà ÀÚµ¿À¸·Î ¶ß´Â ¾ÆÆÄÄ¡ µ¥¸óÀÌ
    ¶ßÁö ¸øÇÏ´Â ¹®Á¦¿Í ¿©·¯ ÇÁ·Î±×·¥À» ½ÇÇàÇßÀ»¶§ °øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇÏÁö ¸øÇØ
    ¿¡·¯°¡ ³ª´Â ¹®Á¦°¡ ¹ß»ýÇß¾ú´Ù. 2.4-test ¹öÀüÀ» ¾²±âÀ§Çؼ± ²À ÇØÁà¾ß ÇÏ´Â
    ºÎºÐÀÌ´Ù.
    
    # mkdir /var/shm
    
    # vi /etc/fstab
    none            /var/shm           shm         defaults        0 0
    
  • ipchains°¡ iptables·Î ¹Ù²î¾ú´Ù.
    menuconfig ¿É¼Ç¿¡¼­ Networking options  ---> [*] Network packet filtering
    (replaces ipchains) ¸¦ ¼±ÅÃÇÏ°í IP: Netfilter Configuration  --->
    <M> ipchains (2.2-style) support ¸¦ ¼±ÅÃÇϸé Ä¿³Î 2.2.x ¿Í °°Àº 
    ¹æ½ÄÀ¸·Î ¾µ ¼ö ÀÖ´Ù.
    
  • Magic SysRq key ÀÇ º¯È­
    Magic SysRq key¶õ ½Ã½ºÅÛÀÇ Á¦¾î°¡ ºÒ°¡´ÉÇÑ »óÅÂ(ÀϹÝÀûÀ¸·Î '´Ù¿î'µÇ¾ú´Ù°íÇÑ´Ù.)
    ¿¡¼­µµ Á¦¾î¸¦ °¡´ÉÇÏ°Ô ÇØÁֹǷΠĿ³Î ÄÄÆÄÀϽà Kernel hacking  --->
    [*] Magic SysRq key¸¦ üũÇØÁÖÀÚ.
    
    2.4.0-test °³¹ß Ä¿³Î¿¡¼­ Magic SysRq key¸¦ »ç¿ëÇÒ·Á¸é ´ÙÀ½°ú °°ÀÌ 
    /proc/sys/kernel/sysrq °ªÀ» 1·Î ¸¸µé¾î¾ß ÇÑ´Ù.
    
    # echo 1 > /proc/sys/kernel/sysrq
    
    Å° Á¶ÇÕ
         Alt+SysRq+R       use Raw keyboard events
         Alt+SysRq+K       kill current VT in use
         Alt+SysRq+E       tErminate all running processes (except init)
         Alt+SysRq+I       kIll all processes (except init)
         Alt+SysRq+L       kilL all processes (including init)
         Alt+SysRq+B       reBoot
         Alt+SysRq+S       Sync all drives
         Alt+SysRq+U       Umount all filesystems
         Alt+SysRq+O       turn the machine Off
         Alt+SysRq+P       dump Processor's registers
         Alt+SysRq+T       dump current Tasks
         Alt+SysRq+M       dump some Memory info
         Alt+SysRq+[0-9]   set kernel log level and redirect it to console
    
         x86 ¸Ó½Å¿¡¼­´Â Alt¸¦ ´©¸¥»óÅ¿¡¼­ Print Screen(Sys Rq)Å°¸¦ ´©¸£°í 
         °¢ ¾ËÆĺªÅ°¸¦ ´©¸£¸é Àû¿ëµÈ´Ù.     
    
    ¸¸¾à ½Ã½ºÅÛÀÌ ´Ù¿î µÇ¾ú´Ù¸é °°Àº ´ÙÀ½°ú ¼ø¼­ÀÇ Á¶ÇÕÀ¸·Î ½Ã½ºÅÛ¿¡ ¼Õ»óÀ» 
    ÁÖÁö¾Ê°í ¾ÈÀüÇÏ°Ô ÀçºÎÆà ÇÒ ¼ö ÀÖÀ»°ÍÀÌ´Ù.
    
    Alt+SysRq+S : ¹öÆÛ¿¡ÀÖ´Â °ÍµéÀ» µð½ºÅ©·Î sync(µ¿±âÈ­)½ÃŲ´Ù.
    Alt+SysRq+E : init ÇÁ·Î¼¼½º¸¦ Á¦¿ÜÇÑ ¸ðµç ÇÁ·Î¼¼½º¸¦ Á¾·á½ÃŲ´Ù.
    Alt+SysRq+U : ÆÄÀÏ ½Ã½ºÅÛÀ» unmount ½ÃŲ´Ù.
    Alt+SysRq+B : ½Ã½ºÅÛ ÀçºÎÆÃ
    
  • Codepage 949 (UnifiedHangul) Áö¿ø(Ä¿³Î 2.4.0-test5ºÎÅÍ Áö¿øÇÏ¸ç ¾ÈÁ¤¹öÀüÀº 2.2.16¿¡¼­ Áö¿øÇÑ´Ù.)
    ¸®´ª½º¿¡¼­ À©µµ ÆÄƼ¼Ç(vfat)À» ¸¶¿îÆ® ÇßÀ»¶§ ÇѱÛÀÌ '????'ÀÌ·±½ÄÀ¸·Î 
    º¸ÀÌ´Â ¹®Á¦¸¦ ÇØ°áÇØ ÁØ´Ù.
    
  • Devfs(Device Filesystem)
    devfs¶õ /proc¿Í °°Àº °¡»ó ÆÄÀϽýºÅÛÀ¸·Î Richard Gooch¿¡ ÀÇÇØ ÀÛ¾÷µÇ¾ú´Ù.
    devfs¸¦ »ç¿ëÇÒ·Á¸é ´ÙÀ½°ú °°Àº °úÁ¤À» °ÅÃľßÇϸç devfs¸¦ ¾²Áö ¾Ê¾Æµµ 2.4.0-test 
    Ä¿³ÎÀ» »ç¿ëÇϴµ¥ »ó°üÀº ¾ø´Ù.
    devfs¸¦ »ç¿ëÇÏ°íÀÚ ÇÑ´Ù¸é devfs´Â ¸Þ¸ð¸®»ó¿¡ Á¸ÀçÇÏ´Â °¡»ó ÆÄÀϽýºÅÛÀ̹ǷΠ¸¸¾à 
    /dev ¿¡ Ư¼öÇÑ ¸ñÀûÀÇ µð¹ÙÀ̽º ÆÄÀÏ ¶Ç´Â µð·ºÅ丮¸¦ »ý¼ºÇß´Ù¸é ÀçºÎÆýà /dev 
    µð·ºÅ丮¿¡ ¸¸µé¾ú´ø°ÍÀÌ »ç¶óÁú°ÍÀ̹ǷΠÀç ÀÛ¼ºÇØÁà¾ß ÇÑ´Ù.
    ºÎÆÃÇÒ¶§¸¶´Ù mknod ¸í·ÉÀ¸·Î ÇÊ¿äÇÑ µð¹ÙÀ̽º¸¦ ´Ù½Ã ¸¸µå´Â°Í º¸´Ü ¼Ð ½ºÅ©¸³Æ®¸¦
    ÀÛ¼ºÇϴ°ÍÀÌ Æí¸®ÇÒ °ÍÀÌ´Ù.
    ¿¹¸¦µé¾î X-4.0ÀÌ»óÀÇ NVdirver¸¦ ¾´´Ù¸é /dev µð·ºÅ丮¿¡ nvidia0, nvidia1, nvidia2, 
    nvidia3, nvidiactl°ú °°Àº ij¸¯ÅÍ µð¹ÙÀ̽º ÆÄÀÏÀÌ ¸¸µé¾îÁ® ÀÖ¾î¾ß X¸¦ ¶ç¿ï¼ö
    ÀÖÀ¸¹Ç·Î ºÎÆýà ¸¸µé¾îÁú¼ö ÀÖµµ·Ï ¼Ð ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÑ´Ù¸é ¾à°£ÀÇ ¼ö°í¸¦
    ´ú ¼ö ÀÖÀ»°ÍÀÌ´Ù.
    ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î devfs¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
    
    1. Ä¿³Î ÄÄÆÄÀÏ ¿É¼Ç¿¡¼­ ´ÙÀ½ »çÇ×À» üũÇÑ´Ù.
       Code maturity level options  --->
           [*] Prompt for development and/or incomplete code/drivers
    
       File systems  ---> 
           [*] /dev file system support (EXPERIMENTAL)
           [*]   Automatically mount at boot
           [*]   Debug devfs
    
    
    2. devfsd ¼Ò½º ÆÄÀÏÀ» ±¸ÇÑ´Ù.
       http://www.atnf.csiro.au/~rgooch/linux/ ¿¡¼­ devfsd-v1.3.10.tar.gz ÀÌ»óÀÇ 
       ¹öÀüÀ» ´Ù¿î ¹Þ¾Æ ´ÙÀ½ ÀÛ¾÷À» ÇÑ´Ù.
       # tar xvvzf devfsd-v1.3.10.tar.gz     -> Àû´çÇÑ µð·ºÅ丮¿¡ ¾ÐÃàÀ» Ǭ´Ù.
       # make                                -> ÄÄÆÄÀÏÇؼ­ devfsd¶õ ÆÄÀÏÀ» ¾ò´Â´Ù.
       # mv devfsd /sbin/                    -> /sbin µð·ºÅ丮·Î ¿Å±ä´Ù. 
       # cp modules.devfs /etc/              -> modules.devfs¿Í devfsd.conf¸¦
       # cp devfsd.conf /etc/                   /etc µð·ºÅ丮·Î ¿Å±ä´Ù.
    
    
    3. /etc/rc.d/rc.sysinit ½ºÅ©¸³Æ®¿¡ ´ÙÀ½ ºÎºÐÀ» Ãß°¡ÇÑ´Ù.
       # Mount /proc (done here so volume labels can work with fsck)
       action "Starting devfsd" /sbin/devfsd /dev           <--- À̺κÐÀ» Ãß°¡ÇÑ´Ù.
       action "Mounting proc filesystem" mount -n -t proc /proc /proc
    
    
    4. /etc/securetty ÆÄÀÏÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù.
       1
       2
       3
       4                          # tty1 ÀÌ·±½ÄÀ¸·Î µÇ¾îÀÖ´Â°Í ¸ðµÎ tty¸¦ »« 
       5                          # ¼ýÀںκи¸ ³²µµ·Ï ÇØÁØ´Ù. 
       6
       7
       8
    
    
    5. /etc/security/console.perms ¿¡¼­ ´ÙÀ½°ú °°ÀÌ ¹Ù²ãÁØ´Ù.
       <console>=tty[0-9][0-9]* :[0-9]\.[0-9] :[0-9] À» ÁÖ¼®Ã³¸®ÇÏ´øÁö »èÁ¦ÇÏ°í
       <console>=tty[0-9][0-9]* [0-9][0-9]* :[0-9]\.[0-9] :[0-9] À¸·Î ¹Ù²ãÁØ´Ù.
    
    
    6. /etc/lilo.conf ¿¡ ´ÙÀ½À» Ãß°¡
       append = "devfs=mount"
    
       devfs¸¦ ¾²Áö ¾Ê°Ú´Ù¸é append = "devfs=nomount" ÇÏ¸é µÈ´Ù.
    

2.3 Ä¿³Î ¿É¼Ç ¼³Á¤

ÀϹÝÀûÀÎ µ¥½ºÅ©Å¾ PC»ç¾ç(1 CPU, No SCSI)¿¡¼­ ÇÊ¿ä·Î ÇÏ´Â Ä¿³Î¿É¼ÇµéÀ» ¼³¸íÇÏ¸ç ±×´ÙÁö Çʿ伺ÀÌ ¾ø´Â ¿É¼ÇµéÀº Á¦¿Ü½ÃÄ×´Ù.

Code maturity level options --->

  • [*] Prompt for development and/or incomplete code/drivers - °³¹ß ¼öÁØÀÇ ¿É¼Çµéµµ ¼±Åð¡´ÉÇÏ°Ô ÇØÁØ´Ù.

Loadable module support --->

  • [*] Enable loadable module support - ¸ðµâÀ» »ç¿ëÇÒ¼ö ÀÖ°Ô ÇØÁÜ.
  • [*] Kernel module loader - Ä¿³ÎÀÌ ¾Ë¾Æ¼­ ¸ðµâÀ» ¿Ã·ÁÁØ´Ù.

Processor type and features --->

  • (Pentium-Pro/Celeron/Pentium-II) Processor family
    • (X) Pentium-Pro/Celeron/Pentium-II - Å×½ºÆ® PC°¡ Pentium IIÀ̹ǷΠ... ½Ã½ºÅÛ¿¡ ¸Â´Â°É ¼±ÅÃÇÑ´Ù.
  • [*] MTRR (Memory Type Range Register) support - ÇÁ·Î¼¼¼­°¡ ¸Þ¸ð¸® ¿µ¿ª Á¢±ÙÀ» Á¦¾îÇÒ¼ö ÀÖÀ½. ±×·¡ÇÈÀÇ ¾²±â ¼Óµµ Çâ»ó

General setup --->

  • [*] Networking support - ³×Æ®¿öÅ· Áö¿ø
  • [*] PCI support - PCI Áö¿ø
  • (Any) PCI access mode - Ä¿³ÎÀÌ Á÷Á¢ ¾×¼¼½º ½Ãµµ
  • [*] System V IPC - System V IPC¸¦ Áö¿øÇÏ°Ô ÇÔ, Shared Memoryµµ ¿©±â¼­ Áö¿øÇÑ´Ù.
  • [*] BSD Process Accounting - ÇÁ·Î¼¼½º Á¤º¸¸¦ ÆÄÀÏ¿¡ ÀúÀå
  • [*] Sysctl support - ƯÁ¤ Ä¿³ÎÀÇ ÆĶó¹ÌÅÍ¿Í º¯¼öµéÀ» µ¿ÀûÀ¸·Î º¯°æ½Ãų¼ö ÀÖµµ·Ï ÇÔ
  • (ELF) Kernel core (/proc/kcore) format - ELF core Æ÷¸Ë
  • <*> Kernel support for a.out binaries - a.out ¹ÙÀ̳ʸ® Áö¿ø
  • <*> Kernel support for ELF binaries - ELF ¹ÙÀ̳ʸ® Áö¿ø

Plug and Play configuration --->

  • <*> Plug and Play support - Plug and Play Áö¿ø

Block devices --->

  • <*> Normal PC floppy disk support - Ç÷ÎÇÇ µå¶óÀ̹ö ÀåÄ¡ Áö¿ø
  • <M> Loopback device support - ÇÑ ÆÄÀÏÀ» ÇϳªÀÇ ÆÄÀÏ ½Ã½ºÅÛó·³ ÀÎ½Ä ½ÃÅ´

Networking options --->

  • <*> Packet socket - ³×Æ®¿÷ µð¹ÙÀ̽º¿ÍÀÇ Á÷Á¢Åë½ÅÀ» ÇÏ°Ô ÇØÁØ´Ù.
    • <*> Packet socket: mmapped IO - ´õ ºü¸¥ Åë½ÅÀ» ÇÒ ¼öÀÖ°Ô ÇÑ´Ù.
  • <*> Unix domain sockets
  • [*] TCP/IP networking - TCP/IP ³×Æ®¿öÅ· Áö¿ø
    • [*] IP: TCP syncookie support (disabled per default) - ¼­ºñ½º °ÅºÎ °ø°ÝÀ» ¹ÞÀ»¶§ ´ëóÇØÁÜ

ATA/IDE/MFM/RLL support --->

  • <*> ATA/IDE/MFM/RLL support
  • IDE, ATA and ATAPI Block devices --->
    • <*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support - IDE¸¦ »ç¿ëÇÒ¼ö ÀÖµµ·Ï ÇØÁØ´Ù.
      • <*> Include IDE/ATA-2 DISK support - Çϵåµð½ºÅ© »ç¿ë°¡´ÉÇÏ°Ô ÇÔ
      • <*> Include IDE/ATAPI CDROM support - CD-ROM »ç¿ë°¡´ÉÇÏ°Ô ÇÔ
      • <M> Include IDE/ATAPI FLOPPY support - ZIP µå¶óÀ̺êµîÀ» »ç¿ë°¡´ÉÇÏ°Ô ÇÔ
      • --- IDE chipset support/bugfixes
      • <*> Generic PCI IDE chipset support - PCI ¹æ½ÄÀÇ IDE Áö¿ø
        • <*> Sharing PCI IDE interrupts support - IRQ °øÀ¯ Áö¿ø
        • <*> Generic PCI bus-master DMA support - DMA Áö¿ø
          • <*> Use PCI DMA by default when available - VIA VP2 Ĩ¼ÂÀ» »ç¿ëÇÑ´Ù¸é Àý´ë ¼±ÅÃÇÏÁö ¸»°Í
        • <*> HPT366 chipset support - Ultra DMA 66 Áö¿ø

Network device support --->

  • [*] Network device support
  • Ethernet (10 or 100Mbit) --->
    • [*] Ethernet (10 or 100Mbit) - ÀÚ½ÅÀÇ ½Ã½ºÅÛ¿¡ ¸Â´Â°É ¼±Åà (RealTek 8139µîÀ» ¾´´Ù¸é [*]EISA, VLB, PCI and on board controllers¸¦ ¼±ÅÃÇϸé ÇϺΠ¸ñ·ÏÀÌ ³ª¿Â´Ù.)

Character devices --->

  • [*] Virtual terminal - °¡»ó Å͹̳ΠÁö¿ø
    • [*] Support for console on virtual terminal - °¡»óÅ͹̳ÎÀ» ½Ã½ºÅÛ ÄַܼΠ¾µ¼öÀÖ°Ô ÇØÁØ´Ù.
  • [*] Unix98 PTY support - Unix98 °¡»óÅ͹̳ΠÁö¿ø
    • [*] (256) Maximum number of Unix98 PTYs in use (0-2048) Unix98 PTY °³¼öÀÇ ÃÖ´ë°ª
  • Mice --->
    • <*> Mouse Support (not serial and bus mice)
      • [*] PS/2 mouse (aka "auxiliary device") support - PS/2 ¸¶¿ì½º Áö¿ø
  • <M> /dev/agpgart (AGP Support) - AGP Áö¿ø (ÇϺθ޴ºÁß ÀÚ½ÅÀÇ º¸µå¿¡ ¸Â´Â°Å ¼±ÅÃ)

File systems --->

  • <*> Kernel automounter support - ¿ø°Ý ÆÄÀÏ ½Ã½ºÅÛÀ» ÀÚµ¿À¸·Î ¸¶¿îÆ® ÇØÁØ´Ù.(NFSµîÀ» »ç¿ëÇÒ¶§) NÀ»¼±ÅÃÇصµ »ó°ü¾ø´Ù.
  • <M> DOS FAT fs support - FAT ±â¹ÝÀÇ ÆÄÀÏ ½Ã½ºÅÛ Áö¿ø
    • <M> MSDOS fs support - MSDOS ÆÄƼ¼Ç ¸¶¿îÆ® Áö¿ø
    • <M> VFAT (Windows-95) fs support - À©µµÁî ÆÄƼ¼Ç Áö¿ø
  • <M> ISO 9660 CDROM file system support - CD-ROM ÆÄÀÏ ½Ã½ºÅÛ Áö¿ø
    • [*] Microsoft Joliet CDROM extensions - Joliet CDROMÀ» ÀÐÀ» ¼ö ÀÖ°Ô ÇÑ´Ù.
  • [*] /proc file system support - ÇÁ·Î¼¼½º¸¦ À§ÇÑ °¡»ó ÆÄÀÏ ½Ã½ºÅÛ
  • [*] /dev/pts file system for Unix98 PTYs - À§¿¡¼­ [*] Unix98 PTY support ¸¦ ¼±ÅÃÇß´Ù¸é ¼±ÅÃÇØ¾ß ÇÑ´Ù.
  • <*> Second extended fs support - ÇöÀç ¸®´ª½º ÆÄÀÏ ½Ã½ºÅÛ
  • Network File Systems --->
    • <M> NFS file system support - ³×Æ®¿÷ ÆÄÀÏ ½Ã½ºÅÛ Áö¿ø
    • <M> SMB file system support (to mount Windows shares etc.) - À©µµÁîÀÇ ³×Æ®¿÷ ±â´ÉµéÀ» °øÀ¯ÇÒ¼ö ÀÖ°Ô ÇØÁØ´Ù.
  • Native Language Support --->
    • Default NLS Option: "cp949" - µðÆúÆ®·Î ÇѱÛÀÌ ¼±Åõǵµ·Ï ÇÑ´Ù.
    • <*> Codepage 437 (United States, Canada)
    • <*> Codepage 949 (UnifiedHangul) - À©µµÆÄƼ¼ÇÀ» ¸¶¿îÆ® ÇßÀ»¶§ ÇѱÛÀ» º¼¼öÀÖµµ·Ï ÇØÁØ´Ù.
    • <*> NLS ISO 8859-1 (Latin 1; Western European Languages)

Console drivers --->

  • [*] VGA text console - VGA Ç¥ÁØ µð½ºÇ÷¹À̸¦ ÅëÇØ ÅؽºÆ® ¸ðµå¿¡¼­ »ç¿ë°¡´ÉÇÏ°Ô ÇÑ´Ù.

Sound ---> ½Ã½ºÅÛ¿¡ ¸Â´Â°É ¼±ÅÃÇÑ´Ù

Kernel hacking --->

  • [*] Magic SysRq key - ½Ã½ºÅÛÀÌ ´Ù¿îµÇ´õ¶óµµ Á¦¾îÇÒ ¼öÀÖµµ·Ï ÇØÁØ´Ù.

2.4 Å×½ºÆ® PC »ç¾ç

Ä¿³Î ÄÄÆÄÀÏÀ» ÇÒ·Á¸é ¾î´ÀÁ¤µµ ÀÚ½ÅÀÇ ½Ã½ºÅÛ¿¡ °üÇÑ Çϵå¿þ¾îÀû Áö½ÄÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ±×·¡ÇÈ Ä«µå, ºñµð¿À Ä«µå, »ç¿îµå Ä«µå, ³×Æ®¿÷ Ä«µåµîÀº Ä¿³Î ÄÄÆÄÀϽà °¢°¢¿¡ ¸Â´Â°ÍÀ» ¼±ÅÃÇÏ°í ¾ÕÀÇ ¿É¼ÇÀ» Âü°íÇÑ´Ù¸é ¹«¸®¾øÀÌ ÄÄÆÄÀÏ °¡´ÉÇÒ°ÍÀÌ´Ù.

  • CPU : Intel Pentium II 350 (Deschutes)
  • Memory : 128MB
  • Main Board : MS-6119 Á¡ÆÛ
    MS-6119 Award Bios ¹öÀüÀÌ 2.9ÀÌ»óÀÌ ¾Æ´Ï¶ó¸é ¸Þ¸ð¸®¸¦ 64MB ¹Û¿¡ 
    ÀνÄÇÏÁö ¸øÇÏ´Â ¹®Á¦°¡ ÀÖÀ¸¹Ç·Î ¹ÙÀÌ¿À½º¸¦ ¾÷µ¥ÀÌÆ® ÇÏ´øÁö 
    /etc/lilo.conf¿¡ append="mem=128M" ÀÌ·¸°Ô Ãß°¡ÇØ¾ß ÇÑ´Ù.
    
  • Hard Disk : QUANTUM FIREBALL 8.4GB
  • CD-ROM : SAMSUNG 40x
  • Network : 3Com PCI 3c905b
  • Video : RIVA TNT (16MB)
  • Sound : SoundBlaster 64PCI (es1370À¸·Î ÀâÀ¸¸é µÈ´Ù.)

3. ±× ¹ÛÀÇ °Íµé

´ÙÀ½Àº Ä¿³Î ÇÁ·ÎÁ§Æ® ȨÀ¸·Î ¹®ÀÇÇÑ Áú¹®µéÁß ¸î°¡Áö¸¦ Ãß·Áº¸¾Ò´Ù. Á¤¸» Àâ´ÙÇÑ °ÍÀ̶ó ¼Ò°³Çϱ⠺βô·¯¿î°Íµµ ÀÖ°í ¾Ë¾ÆµÎ¸é À¯¿ëÇÑ °ÍµµÀÖÀ¸´Ï Âü°íÇϱ⠹ٶõ´Ù.

3.1 Ä¿³Î ¼Ò½ºÀÇ Å©±â´Â ¾ó¸¶³ª µÇ³ª?

Ãʱ⠸®´ª½º Ä¿³Î 0.01ÀÇ Å©±â°¡ 470KB¹Û¿¡ µÇÁö ¾Ê¾Ò´Âµ¥ ÇöÀç ÃֽŠ°³¹ß Ä¿³Î 2.4.0-test5ÀÇ Å©±â´Â 103MB³ª µÈ´Ù. ³î¶øÁö ¾ÊÀº°¡?

3.2 ¿Ö Ä¿³Î À̹ÌÁö¸¦ ¾ÐÃàÇϴ°¡?

¿ì¸®´Â Ä¿³Î ÄÄÆÄÀÏÀ» ÇÒ ¶§ make zImage, make bzImage ÀÌ·± ½ÄÀ¸·Î Ä¿³Î À̹ÌÁö¸¦ ¾ÐÃàÇÑ´Ù.( make zlilo, zdisk, bzlilo ¸ðµÎ ¸¶Âù°¡Áö...) ¾Æ¹«·± Àǹ® ¾øÀÌ ¹«ÀǽÄÀûÀ¸·Î ´ç¿¬È÷ ÀÌ·¸°Ô ¾²°í ÀÖ´Ù.

¿©±â¿¡´Â ¾à°£ÀÇ ¹è°æÁö½ÄÀÌ ÇÊ¿äÇѵ¥ °£·«È÷ ¼³¸íÇÏ°Ú´Ù.

¿ì¸®°¡ ÈçÈ÷ ¾Æ´Â ¸ÅŲÅä½ÃÀÇ M68°è¿­ processor´Â 8bitȯ°æ¿¡¼­ 32bitȯ°æÀ¸·Î ¹ßÀüµÇ¾úÁö¸¸ ÀÎÅÚÀÇ 8086°è¿­Àº DOSÀÇ ´ëÁß¼º ¶§¹®¿¡ ¹Ù·Î 32bit ȯ°æÀ¸·Î °¡Áö ¸øÇÏ°í 16bit ȯ°æÀ» °¡Áö°Ô µÇ¾ú´Ù. ´ëÁßÀûÀ¸·Î ¸¹ÀÌ ¾²ÀÌ°í ÀÖ´Â DOS¸¦ °è¼Ó ¾µ ¼ö ÀÖµµ·Ï Çϱâ À§Çؼ­¿´´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯ ¶§¹®¿¡ ¸®¾ó¸ðµå, º¸È£¸ðµå, °¡»ó86¸ðµå°¡ »ý°å´Ù.

¸®¾ó¸ðµå, º¸È£¸ðµå, °¡»ó86¸ðµå ¸ðµÎ ¼¼±×¸ÕÆ®·¹Áö½ºÅÍ¿Í ¿ÀÇÁ¼Â ·¹Áö½ºÅ͸¦ ÀÌ¿ëÇÏ¿© ÁÖ¼Ò¸¦ ÁöÁ¤Çϴµ¥ ÀÌµé ·¹Áö½ºÅÍÀÇ »ç¿ë¹æ¹ýÀÌ ´Ù¸£´Ù.

¸®¾ó¸ðµå´Â ¼¼±×¸ÕÆ®x10h + ¿ÀÇÁ¼ÂÀ¸·Î ÁÖ¼Ò¸¦ ¸¸µå´Âµ¥ 16bit¿¡¼­ ¼¼±×¸ÕÆ®¿Í ¿ÀÇÁ¼ÂÀÇ ÃÖ´ë °ªÀº FFFFÀÌ´Ù. ±×·¯¹Ç·Î ÃÖ´ë·Î ÁöÁ¤ÇÒ¼ö ÀÖ´Â ÁÖ¼Ò´Â FFFF0 + FFFF°¡ µÈ´Ù. ÀÌ°É °è»êÇϸé 1MB + 64KB°¡ µÈ´Ù.

º¸È£¸ðµå¿¡¼± ÁÖ¼ÒÁöÁ¤ ¹æ½ÄÀÌ ¸®¾ó¸ðµå¿Í´Â ¸¹ÀÌ ´Ù¸£¸ç ÆäÀÌ¡ µîÀ» ÀÌ¿ëÇÏ¿© 32bit ¸ðµÎ ÁÖ¼Ò °ªÀ» ¸¸µé ¼ö ÀÖÀ¸¹Ç·Î ÀÌ·ÐÀûÀ¸·Ð 4GBÀÇ ¸Þ¸ð¸®¸¦ ÀÌ¿ëÇÒ ¼öÀÖÀ¸¸ç °¡»ó86¸ðµå ¶ÇÇÑ ¼±ÇüÁÖ¼Ò¸¦ ¸¸µé¾î³»´Â °úÁ¤¸¸ ´Ù¸£¹Ç·Î ±âº» ¸ÅÄ¿´ÏÁòÀº º¸È£¸ðµå¿Í °°´Ù. (º¸È£¸ðµå¿Í °¡»ó86¸ðµåÀÇ ÁÖ¼Ò »ý¼º ¹ýÀº »ý·«ÇÑ´Ù.)

ÇÁ·Î±×·¥Àº code ºÎºÐ°ú dataºÎºÐÀ¸·Î ³ª´©¾îÁö´Âµ¥ ¸®¾ó¸ðµå¿¡¼­ ÇÁ·Î±×·¥ÀÇ codeºÎºÐÀº ¹Ýµå½Ã À§ ÃÖ´ë ÁÖ¼Ò ÁöÁ¤¿µ¿ª ³»¿¡ ÀÖ¾î¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. ¸®¾ó¸ðµå¿¡¼­´Â ¿©·¯ °³ÀÇ ÇÁ·Î±×·¥ÀÌ ¸Þ¸ð¸®¿¡ ¿Ã¶ó¿Í¼­ ¼öÇàµÉ ¼ö ¾øÀ¸¸ç (¸¸¾à ¿©·¯ °³ÀÇ ÇÁ·Î±×·¥ÀÌ ¸Þ¸ð¸®¿¡¼­ ¼öÇàµÈ´Ù¸é ´Ù¸¥ ÇÁ·Î±×·¥¿µ¿ªÀ» ħ¹ü ÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù.) interrupt¸¦ ÀÌ¿ëÇÏ´Â RAM»óÁÖ ÇÁ·Î±×·¥¸¸ÀÌ ¸Þ¸ð¸®¸¦ °°ÀÌ Â÷ÁöÇÒ ¼ö ÀÖ´Ù.

À§¿¡¼­ ¼³¸íÇÑ ¸®¾ó¸ðµåÀÇ ¾à 1MBÁ¤µµÀÇ ¿µ¿ª Áß Coventional Memory°¡ 640KB¸¦ Â÷ÁöÇÏ°í ³ª¸ÓÁö´Â ºñµð¿À·¥ À̳ª ±âŸ µð¹ÙÀ̽º°¡ Â÷ÁöÇÑ´Ù.

±×·¯¹Ç·Î Ä¿³Î À̹ÌÁö´Â Coventional Memory Áï 640KB³»¿¡ µé¾î°¡¾ß ÇϹǷΠĿ³Î À̹ÌÁöÀÇ Å©±â°¡ 640KBº¸³ª ÀÛ¾Æ¾ß ÇÑ´Ù. Ä¿³Î À̹ÌÁöÀÇ ¾ÐÃàÀ¸·Î ÀÌ·¯ÇÑ Á¦¾àÀ» ºÎºÐÀûÀ¸·Î ±Øº¹ÇÏ¿´À¸³ª 640KBÀÇ ÀϺδ ¿©·¯ °¡Áö ¹öÆÛ(DMA buffer)³ª ƯÁ¤ ÁÖ¼Ò°¡ ½Ã½ºÅÛ¿¡ ¿¹¾àµÇ¾î ÀÖÀ¸¹Ç·Î 640KBº¸´Ù ´õ ÀÛÀº Å©±âÀÇ Ä¿³ÎÀÌ ¿ä±¸µÈ´Ù. ÀÌ·¯ÇÑ ¹®Á¦ÀÇ ´ë¾ÈÀ¸·Î Ä¿³ÎÀ» Extended Memory¿¡ ÀûÀçÇÏ´Â ¹æ¹ýÀ» »ý°¢ÇØ º¼ ¼ö ÀÖ´Ù. Extended Memory ¿µ¿ª¿¡ ÀÚÀ¯·ÎÀÌ ÀûÀçÇϱâ À§Çؼ­´Â º¸È£¸ðµå¸¦ »ç¿ëÇؾßÇϴµ¥ º¸È£¸ðµå¿¡¼­´Â BIOS¿Í °°ÀÌ ½Ã½ºÅÛÀÌ ¿ÏÀüÈ÷ ÁغñµÇ±â ÀüÀÇ ±âº»ÀûÀÎ ±â´ÉµéÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. ÀÌ·² °æ¿ì µð½ºÅ©¸¦ ¾×¼¼½ºÇÏ´Â ÀÚüÀûÀÎ ÇÔ¼ö¸¦ ÁغñÇÏ¿© Ä¿³ÎÀ» Extended Memory ¿¡ ÀûÀçÇϰųª ¾Æ´Ï¸é Ä¿³ÎÀ» ÁÙÀÌ´Â ¼ö¹Û¿¡ ¾ø´Â °ÍÀÌ´Ù.

3.3 LILO¿¡¼­ ÃÖ´ë Ä¿³Î À̹ÌÁö °³¼ö

¿©±â¿¡ ´ëÇؼ± ÀüÇô ¸ð¸£°í ÀÖ¾ú´Âµ¥ ¾î´À ³¯ 2.4.0-test1-ac18 ¹öÀüÀ» ´õ´õ¿í ÃÖÀûÈ­Çϱâ À§ÇØ Ä¿³Î ÄÄÆÄÀÏÀ» ÇÏ°í lilo.conf¿¡ À̹ÌÁö¸¦ µî·Ï½ÃÅ°°í lilo¶õ ¸í·ÉÀ¸·Î Ä¿³Î À̹ÌÁö¸¦ writeÇϴµ¥ ´ÙÀ½°ú °°Àº ¸Þ¼¼Áö°¡ ³ª¿Ô´Ù.

     Only 19 image names can be defined
±×¶§±îÁö ³ªÀÇ lilo.conf¿¡´Â 19°³ÀÇ Ä¿³Î À̹ÌÁö°¡ Á¤ÀǵǾîÀÖ¾ú´Âµ¥ Çϳª ´õ Ãß°¡Çؼ­ 20°³ °¡ µÇÀÚ À§¿Í °°Àº ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÑ °ÍÀ̾ú´Ù. Ä¿³Î À̹ÌÁö¸¦ 20°³ ÀÌ»ó µî·Ï(?)ÇÏÁö ¾Ê¾Ò´Ù¸é ¾Æ¸¶ ¸ô¶úÀ» °ÍÀÌ´Ù.

3.4 ½º¿ÒÆÄÀϵµ Àִµ¥ ½º¿Ò ÆÄƼ¼ÇÀ» ¾²´ÂÀÌÀ¯?

°á·ÐÀûÀ¸·Ð ¼Óµµ ¶§¹®ÀÌ´Ù. ½º¿ÒÆÄÀÏÀ» ¾´´Ù¸é ÆÄÀÏ¿¡ Á¢±ÙÇϱâÀ§ÇØ VFS¿Í ÆÄÀÏ ½Ã½ºÅÛ µå¶óÀ̹ö ±×¸®°í ÆÄÀÏÁ¤º¸¸¦ ´ã°íÀÖ´Â ¿©·¯ °¡Áö¸¦ Àоî¿À°í ¾µ¶§µµ ÀÏ¹Ý ÆÄÀÏÀÌ writing µÇ´Â °æ·Î¸¦ °ÅÄ¥ °ÍÀÌ´Ù. ½º¿Ò ÆÄƼ¼Ç¿¡¼­´Â À§ÀÇ °úÁ¤¾øÀÌ Æ¯Á¤ ºí·°¿¡ ¹Ù·Î Á¢±ÞÇÒ ¼ö ÀÖÀ¸¹Ç·Î ºÒ ÇÊ¿äÇÑ ¿À¹öÇìµå°¡ ¹ß»ýÇÏÁö ¾Ê¾Æ ¼Óµµ°¡ ´õ ºü¸£±â ¶§¹®ÀÌ´Ù.

3.5 ¼­ºê µð·ºÅ丮¸¦ 60000°³ ÀÌ»ó ¸¸µé°í ½Í´Ù.

ÇöÀç ¸®´ª½ºÀÇ ±âº» ÆÄÀÏ ½Ã½ºÅÛÀº ext2ÀÌ´Ù. (SuSE´Â Reiser ÆÄÀϽýºÅÛÀÌ´Ù.) ext2¶õ Second Extended File SystemÀÇ ¾à¾îÀ̸ç Ãʱ⠸®´ª½º ÆÄÀÏ ½Ã½ºÅÛÀ̾ú´ø MINIX¿¡¼­´Â ÃÖ´ë ÆÄÀÏÀ̸§ 14¹®ÀÚ, ÃÖ´ë ÆÄƼ¼Ç 64MB¹Û¿¡ µÇÁö ¾Ê¾Ò°í ÀÌ·± ¿©·¯ °¡Áö ¹®Á¦·Î ÆÄÀÏ ½Ã½ºÅÛÀÌ ¿À´Ã³¯ÀÇ ext2±îÁö ¹ßÀüÇÏ¿´´Ù. ext2¿¡¼­´Â 255¹®ÀÚÀÇ ÆÄÀϸí, ÃÖ´ë 2GBÀÇ ÆÄÀÏ, 4TBÀÇ µð½ºÅ© ¿ë·®À» Áö¿øÇÏ¸ç ¼­ºêµð·ºÅ丮´Â Å×½ºÆ®Çغ»°á°ú 32000°³±îÁö¸¸ ¸¸µé¾îÁ³´Ù. ´ÙÀ½À» Âü°íÇ϶ó.


#!/bin/sh
count=70000
i=1
while [ $i -lt $count ]
do
  mkdir $i && echo "$i"
  i=$(($i+1))
done

À§´Â ¼­ºê µð·ºÅ丮¸¦ ¸¸µé¾îÁÖ´Â shell scriptÀÌ¸ç ¼­ºê µð·ºÅ丮 À̸§Àº 1¹øºÎÅÍ count·Î ÁöÁ¤ÇÑ °ª¸¸Å­ ¸¸µé¾î ÁØ´Ù.

  • ext2 ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­ÀÇ ¼­ºê µð·ºÅ丮 »ý¼º
    Ä¿³Î ¹öÀü : 2.2.14-5.0
    
    $ ls -l 
    drwxrwxr-x  32000 suni00   suni00     475136  7¿ù 12 15:41 tmp/
    
    $du -sh
    128M    .
    
    µð·ºÅ丮 ¸µÅ©ÀÇ inode ¶§¹®¿¡ ./¿Í ../¸¦ Æ÷ÇÔÇÏ¿© 32000 ±îÁö ¹Û¿¡ »ý¼ºµÇÁö 
    ¾Ê´Â°É ¾Ë ¼ö ÀÖ´Ù.
    ¶Ç ext2ÀÇ ºí·° »çÀÌÁî´Â 4KBÀ̹ǷΠ»ý¼ºµð·ºÅ丮µéÀÇ ÃÑ ¿ë·®ÀÌ 128MB³ª
    Â÷ÁöÇÏ¿´½À´Ï´Ù.
    
  • Reiser ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­ÀÇ ¼­ºê µð·ºÅ丮 »ý¼º
    Ä¿³Î ¹öÀü : 2.2.16°ú 2.4.0-test1-ac18
    
    $ls -l
    drwxrwxr-x 64535 suni00   suni00    1548888 Jul 12 15:48 tmp/
    
    $du -sh
    30M    .
    
    À§¿¡¼­ º¸´Ù½ÃÇÇ 64535°³°¡ »ý¼ºµÇ¾ú°í µð·ºÅ丮µéÀÇ ¿ë·®Àº ext2º¸´Ù ÈξÀ ÀûÀº 
    30MB ¹Û¿¡ Â÷ÁöÇÏÁö ¾Ê´Â°É ¾Ë ¼ö ÀÖ´Ù.
    (Reiser ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­ÀÇ ºó µð·ºÅ丮ÀÇ »çÀÌÁî´Â 48Byte¸¦ Â÷ÁöÇß´Ù.)
    

µð·ºÅ丮 ¸µÅ©°¡ µÑ ´Ù 2Byte ¹üÀ§±îÁö Ç¥ÇöÇÒ ¼ö ÀÖ´Â °Í °°Àºµ¥ ÆÄÀÏ ½Ã½ºÅÛ¿¡ µû¶ó À§¿Í °°Àº Â÷ÀÌ°¡ ³µ´Ù.

3.6 Reiser ÆÄÀϽýºÅÛ ¸¸µé±â

ÇöÀç ¸®´ª½ºÀÇ ±âº» ÆÄÀÏ ½Ã½ºÅÛÀÎ ext2´Â ½Å·Ú¼º, Ãæµ¹ º¹±¸ µîÀÇ ¹®Á¦°¡ Àִµ¥ ÀÌ·± ºÎºÐµéÀ» ÇØ°á ÇÒ ¼ö ÀÖ´Â °ÍÀÌ Àú³Î¸µ ÆÄÀÏ ½Ã½ºÅÛÀÌ´Ù. Reiser ÆÄÀÏ ½Ã½ºÅÛ ¶ÇÇÑ ÀÌ·± Àú³Î¸µ ÆÄÀÏ ½Ã½ºÅÛÀÇ ÀÏÁ¾À¸·Î ÀÌ¹Ì SuSE¿¡¼­´Â ±âº» ÆÄÀÏ ½Ã½ºÅÛÀ¸·Î Reiser¸¦ ¼±ÅÃÇÏ°í ÀÖ´Ù. ¸ÓÁö¾Ê¾Æ ¸®´ª½ºÀÇ ±âº» ÆÄÀÏ ½Ã½ºÅÛµµ Àú³Î¸µ ÆÄÀÏ ½Ã½ºÅÛÀ¸·Î ¹Ù²ð °ÍÀÌ´Ù.

  1. ÆÐÄ¡ÆÄÀÏ ¹Þ¾Æ¿À±â
    
    
    http://devlinux.com/projects/reiserfs/ ¶Ç´Â 
    http://kernel.pe.kr/data.php ¿¡¼­ ÀÚ½ÅÀÇ ¹öÀü¿¡ ¸Â´Â ÆÐÄ¡¸¦ ¹Þ¾Æ¿Â´Ù.
  2. ÆÐÄ¡¸¦ Àû¿ë½ÃŲ´Ù.(/usr/src/linux ¿¡¼­ ÆÐÄ¡ÇÑ´Ù.)
    # patch -p1 < ÆÐÄ¡ÆÄÀϸí (¾ÐÃàÀ» Ç®¾úÀ»¶§)
    ¶Ç´Â 
    # gzip -cd ÆÐÄ¡ÆÄÀϸí.gz | patch -p1
    
  3. Ä¿³Î¿É¼Ç ¼±ÅÃ
    Code maturity level options  --->
       [*] Prompt for development and/or incomplete code/drivers ¸¦ ¼±ÅÃÇÏ°í
    File systems  ---> <*> Reiserfs support ¼±ÅÃÇÑ´Ù.
    
  4. Ä¿³Î ÄÄÆÄÀÏ¹× ¸ðµâ ÄÄÆÄÀÏ, lilo Á¤º¸µµ °íÃÄÁØ´Ù.
  5. ReiserFS À¯Æ¿ ÄÄÆÄÀÏ(mkreiserfsÀ» ¸¸µé±âÀ§ÇØ)
    # cd /usr/src/linux/fs/reiserfs/utils/
    # make
    # make install
    
  6. ReiserFS°¡ Àû¿ëµÈ Ä¿³Î À̹ÌÁö·Î ÀçºÎÆÃÇÑ´Ù.
  7. ReiserFS ¸¸µé±â
    (/dev/hdb1 ¿¡ ¸¸µç´Ù°í °¡Á¤ÇÏ¸ç ±âÁ¸ ext2 ÆÄÀϽýºÅÛÀÇ
     µ¥ÀÌÅÍ´Â Áö¿öÁö¹Ç·Î ¹é¾÷ÇÏ´øÁö ¾Æ´Ô »õ Çϵ带 ´Þ¾Ò´Ù°í °¡Á¤ÇÑ´Ù.)
    
    # umount /dev/hdb1 (mount µÇ¾îÀÖÁö ¾Ê´Ù¸é ÀÌ°Ç ÇÊ¿ä¾ø´Ù.)
    # mkreiserfs /dev/hdb1
    # mount /dev/hdb1 /TEST(mount ½Ãų µð·ºÅ丮´Â °¢ÀÚ ¾Ë¾Æ¼­..)
    
  8. /etc/fstab ¼öÁ¤Çϱâ
    /dev/hdb1            /TEST             reiserfs    defaults        1 2
    ext2¸¦ reiserfs·Î ¹Ù²Ù¸é µÈ´Ù.
    
  9. È®ÀÎÇϱâ
    $ mount
    ...
    /dev/hdb1 on /TEST type reiserfs (rw)
    ...
    À§¿Í °°ÀÌ reiserfs ¶ó°í ³ª¿À¸é ¼º°ø
    

Reiser ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé°í ¸¶¿îÆ® ½ÃÅ°¸é ±âº»À¸·Î 32MBÀÇ ¿ë·®À» Àâ¾Æ¸Ô´Â´Ù. ÀÌ °ø°£¿¡´Ù°¡ ÀÚüÀûÀÎ Á¤º¸¸¦ ±â·ÏÇϹǷΠReiser ÆÄÀÏ ½Ã½ºÅÛÀ» À§Çؼ± ÃÖ¼Ò 32MBÀÌ»óÀÇ ÆÄƼ¼ÇÀ» ÇÊ¿ä·Î ÇÑ´Ù.(³ªÀÇ /boot ÆÄƼ¼ÇÀº 16MB¿©¼­ reiserfs¸¦ Àû¿ë½ÃÅ°Áö ¸øÇÏ¿´´Ù.)

3.7 Ä¿³Î 2.4.0-test¹öÀü¿¡¼­ X 4.0À» ¾²°í½Í´Ù.(RIVA TNT)

ÇöÀç nVidia¿¡¼­ ³ª¿À´Â X 4.0 µå¶óÀ̹öµéÀº Ä¿³Î 2.2.xÀÇ ¾ÈÁ¤¹öÀü¿¡¸¸ Àû¿ëµÈ´Ù. °³¹ß¹öÀü¿¡ Àû¿ë½Ãų·Á¸é http://www.darkrock.co.uk/nv/¿¡¼­ NVIDIA_kernel-0.9-2.3.x.tar.gz¸¦ ¹Þ¾Æ ÄÄÆÄÀÏ ÇؾßÇÑ´Ù.(Å×½ºÆ®Çغ» °á°ú Ä¿³Î 2.4.0-test1-ac18±îÁö¸¸ Àû¿ëµÈ´Ù.)

3.8 Ä¿³Î ¹öÀüÀ» ¾î¶»°Ô ¹Ù²Ù´Â°¡?

¾î¶² Çб³ÀÇ Àü»ê°ü·Ã °ú¸ñ ¸®Æ÷Æ®ÀÎÁö ÀÌ·± Áú¹®À» ¸¹ÀÌ ¹Þ¾Ò´Ù. Ä¿³Î ¹öÀü¸¸À» °¡Â¥·Î ¹Ù²Ü·Á´Â ÀÌÀ¯¸¦ ¸ð¸£°Ú´Ù.


# vi /usr/src/linux/Makefile

        VERSION = 2
        PATCHLEVEL = 4
        SUBLEVEL = 0
        EXTRAVERSION = -test1-ac18


# vi /usr/src/linux/include/linux/version.h

        #define UTS_RELEASE "2.4.0-test1-ac18"
        #define LINUX_VERSION_CODE 132096
        #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

À§ÀÇ Makefile¿¡¼­ ¹öÀü Á¤º¸¸¦ °íÃÆ´Ù¸é ÄÄÆÄÀÏÇÒ¶§ version.h´Â ÀÚµ¿À¸·Î ¹Ù²ï´Ù.

ÀÌ µÎ ÆÄÀϵéÀ» ¿øÇÏ´Â ¹öÀüÀ¸·Î ¹Ù²Ù°í ÄÄÆÄÀÏ ÇÏ¸é µÈ´Ù. À߸ø ¹Ù²Ù¾î¼­ Ä¿³Î ¹öÀüÀÌ ¸ÂÁö ¾ÊÀ» °æ¿ì System.map¿¡¼­ ¹öÀüÀÌ Æ²¸®´Ù°í ¸Þ¼¼Áö¸¦ º¸³¾ °ÍÀÌ´Ù. ±×·² °æ¿ì ÇØ´ç Ä¿³Î À̹ÌÁöÀÇ System.mapÀ» ¾ø¾Ö¹ö·Áµµ ¹«°üÇÏ´Ù. (System.mapÀÌ ¾ø´Ù¸é ¾îµð¼­ ¹®Á¦°¡ ¹ß»ýÇß´ÂÁö ¾Ë ¼ö ¾øÀ» °ÍÀÌ´Ù.)

3.9 CPUÀÇ Á¤º¸¸¦ ¹Ù²Ù°í ½Í´Ù, Bogo Mips¸¦ ³ôÀÌ°í ½Í´Ù

ÀÌ°Ç ±×³É ³»°¡ ÇÏ°í ½Í¾î¼­ ÇغôÙ.

# vi /usr/src/linux/arch/i386/kernel/setup.c
        $ cat /proc/cpuinfo Á¤º¸¸¦ °íÃÄÁØ´Ù.

# vi /usr/src/linux/init/main.c
        $ dmesg ÀÇ º¸°í ¹Ó½º¸¦ °íÃÄÁØ´Ù.
À§ µÎ ÆÄÀÏÀ» ¿øÇÏ´Â ´ë·Î °íÄ¡¸é µÈ´Ù. ¾à°£ÀÇ C ÇÁ·Î±×·¡¹Ö¸¸ ÇÒ ¼ö ÀÖ´Ù¸é ½±°Ô ¿øÇϴ´ë·Î ¹Ù²Ü ¼ö ÀÖÀ»°ÍÀÌ´Ù.

3.10 KERNEL32.DLL¿¡¼­ À߸øµÈ ¿¬»ê¼öÇà!?

À§¿Í °°Àº Áú¹®À» ÇϽô ºÐµéÀÌ °¡²û °è½Åµ¥ MS-WINDOWS Ä¿³ÎÀ» ¾î¶»°Ô ¼Õº¼ ¼ö Àְڴ°¡? (°Ë»ö¿£Áø¿¡¼­ kernel·Î °Ë»öÇؼ­ Ä¿³Î ÇÁ·ÎÁ§Æ® ȨÀ¸·Î µé¾î¿Ô´Ù´õ±º¿ä.) ¼ºÀÇ´Â ´ë´ÜÇϳª ´ÜÁö ¼Õ»ó ¾ÈµÈ ´Ù¸¥ KERNEL32.DLLÀ» Ä«ÇÇÇ϶ó°í ÇÒ ¼ö¹Û¿¡...

Ä¿³Î 2.4 Intro

Ä¿³Î 2.4 Intro

Á¤¿ø¿µ suni00@kernel.pe.kr

v0.2, 2000³â 8¿ù 30ÀÏ
°³¹ßÄ¿³Î 2.4.0-tset ¹öÀüÀ» ÄÄÆÄÀÏÇϱâÀ§ÇÑ ±âº»ÀûÀÎ ¹è°æÁö½Ä°ú ÀϹÝÀû »ç¾çÀÇ PC¿¡¼­ÀÇ ÄÄÆÄÀÏ ¿É¼Ç¹× ¹æ¹ý ±×¸®°í Ä¿³Î 2.4 ¿¡¼­ ¹«¾ùÀÌ ´Þ¶óÁ³´ÂÁö¸¦ ´Ù·é´Ù. (ÀÌ ±ÛÀ» ¾²´Â ÇöÀç °¡Àå ÃֽŠ°³¹ß Ä¿³ÎÀÎ 2.4.0-test7À» ±âÁØÀ¸·Î ÀÌ·ÐÀûÀÎ¸é º¸´Ü ½ÇÁ¦·Î ¾î¶»°Ô ÇؾßÇÏ´ÂÁö¿¡ ÁßÁ¡À» µÎ¾ú´Ù.)

1. ¹è°æÁö½Ä

1.1 Ä¿³ÎÀ̶õ?

Ä¿³ÎÀ̶õ ¿î¿µÃ¼Á¦(Operating System)¿¡¼­ °¡Àå ÇÙ½ÉÀûÀÎ ¿ªÇÒÀÎ ÀÚ¿ø (¸Þ¸ð¸®, ÇÁ·Î¼¼¼­µî)À» °ü¸®ÇÏ¸ç ½Ã½ºÅÛÀÌ ¿øÈ°È÷ µ¹¾Æ°¥ ¼ö ÀÖµµ·Ï Á¦¾îÇØ ÁØ´Ù. ÇöÀç ¿ì¸®°¡ ¸®´ª½º(OS)¶ó°í Çϴ°͵µ ½ÇÁ¦ÀûÀ¸·Ð ¸®´ª½º¶õ ¿î¿µÃ¼Á¦ÀÇ Ä¿³Î À̸§À» ¸»Çϴ°ÍÀε¥ ÀÌ°ÍÀÌ È®ÀåµÈ Àǹ̷Π»ç¿ëµÇ¾î ÇöÀçÀÇ '¸®´ª½º'¶õ OS¸¦ ÁöĪÇÏ°Ôµµ µÈ°ÍÀÌ´Ù. ±×·¯¹Ç·Î Linux = kernelÀ̶õ µî½ÄÀÌ ¼º¸³ÇÑ´Ù.

1.2 Ä¿³ÎÀº ¾îµð¼­ ±¸Çϳª?

¿ì¼±ÀûÀ¸·Î ¾ÈÁ¤ ¹öÀü°ú °¡Àå ÃֽŠ°³¹ß¹öÀüÀ» ¿øÇÑ´Ù¸é http://kernel.pe.kr ·Î Á¢¼ÓÇÏ¸é µÈ´Ù. ±× ÀÌ¿Ü¿¡´Â ´ÙÀ½ ¹Ì·¯ »çÀÌÆ®¿¡¼­ ±¸ÇÒ¼ö ÀÖ´Ù.

1.3 ÃֽŠĿ³Î ¹öÀüÀº ¾î¶»°Ô ¾Ë¾Æº¸³ª?

SHELL¿¡¼­ finger @finger.kernel.org ¸í·ÉÀ¸·Î ÃֽŠĿ³Î¹öÀüÀ» ¾Ë ¼ö ÀÖ´Ù. ÀÌ ¹®¼­¸¦ ÀÛ¼ºÇÏ´Â ÇöÀç ÃֽŹöÀüÀº ´ÙÀ½°ú °°´Ù.

  • stable version : 2.2.16
  • beta version : 2.4.0-test7
  • prepatch version : 2.4.0-test8/pre1
Ä¿³ÎÀº stable version(¾ÈÁ¤¹öÀü)°ú beta version(°³¹ß¹öÀü)À¸·Î ³ª´©´Âµ¥ ÀÌ 
µÎ ¹öÀüÀÇ Â÷ÀÌ´Â minor number°¡ ¦¼öÀÌ³Ä È¦¼öÀ̳ķΠ±¸ºÐÇÑ´Ù.
(minor number¶õ Ä¿³Î 2.2.16ÀÌ ÀÖ´Ù¸é °¡¿îµ¥ ¼öÀÎ 2°¡ minor numberÀÌ°í
Á¦ÀÏ ¾ÕÀÇ 2´Â major number ÀÌ´Ù. ¸¶Âù°¡Áö·Î 2.3.99¿¡¼± major´Â 2ÀÌ°í minor´Â
3ÀÌ´Ù.)
±×·¸´Ù¸é 2.4.0-test ¹öÀüµéÀº minor number°¡ ¦¼öÀε¥ ¿Ö °³¹ß¹öÀüÀ̶ó°í Çϳª?
±× ÀÌÀ¯´Â 2.3.99ÀÇ ÆÐÄ¡¹öÀüµéÀÌ ÀÌÁ¦ °ÅÀÇ 2.4 ¾ÈÁ¤¹öÀü¿¡ °¡±î¿öÁ³´Ù´Â Àǹ̷Î
Linus°¡ 2.4.0-test¶ó À̸§ ºÙÀΰÍÀÌ´Ù.

1.4 Ä¿³Î ÄÄÆÄÀÏ ¹æ¹ý(Ä¿³Î 2.4.0-test7)

¿©·¯ °¡Áö ¹æ¹ýµéÀÌ ÀÖÁö¸¸ ÀúÀåµÈ Ä¿³Î¿É¼Ç¼³Á¤ ÆÄÀÏÀÌ ÀÖ´Ù¸é oldconfig¸¦ ÀúÀåµÈ ÆÄÀÏÀÌ ¾ø´Ù¸é menuconfig¸¦ ÃßõÇÑ´Ù.

  1. make oldconfig ¶Ç´Â make menucofig
    make oldconfig¸¦ ÇϱâÀ§Çؼ± ´ÙÀ½°ú °°Àº ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù.
    ¿¹Àü¿¡ ¼³Á¤ÇÑ Ä¿³Î¿É¼ÇÀÌ kernel.config ¶õ À̸§À¸·Î ÀúÀåµÇ¾îÀÖ´Ù¸é 
    ÀÌ ÆÄÀÏÀ» »õ ¹öÀüÀÇ Ä¿³ÎÀÌ ÀÖ´Â /usr/src/linux µð·ºÅ丮¿¡ .config¶õ À̸§À¸·Î 
    Ä«ÇÇÇÑ´Ù.
    # cp kernel.config /usr/src/linux/.config
    À§¿Í°°ÀÌ ÇÑÈÄ make oldconfig¸¦ ½ÇÇàÇÏ¸é ¿¹Àü ¿É¼ÇÀ» ±×´ë·Î Àû¿ë½ÃÄÑÁÖ¸ç
    Ȥ½Ã³ª »õ·Î¿î ¿É¼ÇÀÌ ÀÖ´Ù¸é È­¸é¿¡ º¸¿©ÁÖ¸ç ¼±ÅÃÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù.
    
  2. make dep
  3. make clean
  4. make bzlilo
    make bzlilo¶õ ´ÙÀ½°ú °°Àº ¸í·ÉµéÀ» ¼øÂ÷ÀûÀ¸·Î ½ÇÇàÇÑ°Í°ú °°´Ù.
    # make bzImage
    # cp /usr/src/linux/arch/i386/boot/bzImage /vmlinuz
    # /sbin/lilo
    
  5. mv /vmlinuz /boot/vmlinuz-2.4.0-test7
  6. mv /System.map /boot/System-2.4.0-test7
  7. vi /etc/lilo.conf
    ÀϹÝÀûÀ¸·Î ´ÙÀ½°ú °°Àº È­¸éÀ» º¼ ¼ö ÀÖÀ»°ÍÀÌ´Ù.
    boot=/dev/hda
    map=/boot/map
    install=/boot/boot.b
    prompt
    timeout=50
    default=linux
    
    image=/boot/vmlinuz-2.4.0-test7  ---> »õ·Î »ý¼ºÇÑ Ä¿³ÎÀ̹ÌÁö¸¦ linux¶õ ·¹À̺í
            label=linux                   ·Î ºÎÆÃÇÒ ¼ö ÀÖµµ·Ï ÇϱâÀ§ÇØ 
            read-only
            root=/dev/hda1
    
    image=/boot/vmlinuz-2.2.16      ---> ¿¹Àü Ä¿³ÎÀÌ 2.2.16À̶ó°í °¡Á¤ÇßÀ»¶§ 
            label=old                    old¶õ ·¹À̺í·Î Á¤ÀÇÇÑ´Ù.
            read-only
            root=/dev/hda1
    
  8. /sbin/lilo

1.5 ¸ðµâ ÄÄÆÄÀÏ ¹æ¹ý

¸ðµâÀÌ »ý¼ºµÇ´Â µð·ºÅ丮´Â '/lib/modules/2.4.0-test7'ÀÌ°í ¸¸¾à ÇöÀç Ä¿³ÎÀÇ ¸ðµâÀ» ´Ù½Ã »ý¼ºÇÏ·Á°í ÇÑ´Ù¸é ÇöÀç Ä¿³ÎÀÇ ¸ðµâ µð·ºÅ丮¸¦ Áö¿ì°í ´Ù½Ã ÄÄÆÄÀÏ Çϱ⠹ٶõ´Ù. (Ä¿³Î 2.4.0-test ¹öÀü¿¡¼­´Â ¸ðµâÀÇ µð·ºÅ丮±¸Á¶°¡ ¸¹ÀÌ ¹Ù²î¾ú´Ù.)

  1. make modules
  2. make modules_install

2. Ä¿³Î 2.4.0-test ¹öÀü

2.1 ÇÊ¿äÇÑ ÆÐÅ°Áö

RedHat ±â¹Ý 6.1ÀÌ»óÀÇ ¹èÆ÷ÆÇÀ̶ó¸é modutils¸¸ ¾÷±×·¹À̵å ÇÏ¸é µÉ°ÍÀÌ´Ù. (modutils¸¦ ¾÷Çϴµ¥ glibc¹öÀüÀÌ ³·´Ù¸é glibcµµ ¾÷ÇØ¾ß ÇÑ´Ù. glibc´Â ·ÎÄÉÀÏ°ú timezone, ¿©·¯ ¶óÀ̺귯¸®¸¦ Æ÷ÇÔÇؼ­ ÀÇÁ¸¼º ¹®Á¦¿¡ ¸¹Àº ¿µÇâÀ» ³¢Ä¡¹Ç·Î ¾÷±×·¹À̵å Çϴµ¥ ÁÖÀǸ¦ ÇÊ¿ä·Î ÇÑ´Ù. rpm ¹öÀüÀÌ ³·´Ù¸é rpmµµ ¾÷ÇØ¾ß ÇÑ´Ù.) 2.4.0-test Ä¿³ÎÀ» »ç¿ëÇϱâÀ§Çؼ­ ´ÙÀ½ »çÇ×À» È®ÀÎÇ϶ó.

          ÆÐÅ°Áö ¸í                ¹öÀü                    È®Àιæ¹ý
        o  Gnu C                2.7.2.3            # gcc --version
        o  Gnu make             3.77               # make --version
        o  binutils             2.9.1.0.22         # ld -v
        o  util-linux           2.10o              # kbdrate -v
        o  modutils             2.3.13             # insmod -V
        o  e2fsprogs            1.18               # /sbin/tune2fs --version
        o  pcmcia-cs            3.1.19             # cardmgr -V
        o  PPP                  2.4.0              # pppd --version
        o  isdn4k-utils         3.1beta7           # isdnctrl 2>&1|grep version

2.2 Ä¿³Î 2.4¿¡¼­ ´Þ¶óÁø°Í°ú »õ·Î¿î °Íµé

  • Bogo Mips°¡ µÎ ¹è·Î ¿Ã¶ó°£´Ù.(AMD-K6 ¿Í È®ÀÎ ¸øÇÑ Processor Á¦¿Ü)
    $ cat /proc/cpuinfo ¸¦ Çغ¸¸é È®ÀÎÇÒ ¼ö ÀÖ´Ù.
    Bogo(bogos : °¡Â¥)À̹ǷΠ½Å·ÚÇÒ¼ø ¾øÁö¸¸ ±âºÐ¸¸Àº ÁÁÁö¾ÊÀº°¡?
    
  • modutils ¾÷±×·¹À̵å½Ã ¹Ù²î´Â °Íµé
    ¸¸¾à modutils ¹öÀüÀÌ ¾Õ¿¡¼­ ¸í½ÃÇÑ ¹öÀüº¸´Ù ³·Àºµ¥ ¸ðµâ ÄÄÆÄÀÏÀ» ÇÑ´Ù¸é
    ¿¡·¯°¡ ³­´Ù. ²À modutils¸¦ ¾÷ ÇØ¾ß ¸ðµâ ÄÄÆÄÀÏÀ» ÇÒ ¼ö ÀÖ´Ù.
    modutils¸¦ ¾÷ÇÏ¸é ¿¹ÀüÀÇ /etc/conf.modules°¡ /etc/modules.conf·Î ¹Ù²î°í
    USB ¸ðµâµµ ÀÚµ¿·ÎµùÀÌ °¡´ÉÇÏ¸ç ¸¹Àº ¿¹¾à¾î¸¦ Áö¿øÇÑ´Ù.
    
    ´ÙÀ½ ftp »çÀÌÆ®¿¡¼­ ±¸ÇÒ¼ö ÀÖ´Ù.
    ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/v2.3/
    
  • ¸ðµâÀÌ À§Ä¡ÇÑ /lib/modules/2.4.0-test7 µð·ºÅ丮 ±¸Á¶
    Ä¿³Î 2.4.0-test6 ÀÌ»óÀÇ ¹öÀüºÎÅÍ ¸ðµâµéÀÌ À§Ä¡ÇÏ´Â '/lib/modules/Ä¿³Î¹öÀü' ÀÇ 
    µð·ºÅ丮 ±¸Á¶°¡ ´õ ¼¼ºÐÈ­ µÇ°í ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î ¹Ù²î¾ú´Ù.
    ÇöÀç ÇÊÀÚÀÇ µð·ºÅ丮 ±¸Á¶ÀÌ´Ù.
    
    [kernel@suni00/lib/modules/2.4.0-test7]$ ls -l
    
    lrwxrwxrwx  1 root  root    26 Sep  4 17:09 build -> /usr/src/linux-2.4.0-test7/
    drwxr-xr-x  6 root  root  1024 Sep  4 17:09 kernel/
    -rw-r--r--  1 root  root  1340 Sep  5 20:33 modules.dep
    -rw-r--r--  1 root  root  3235 Sep  5 20:33 modules.pcimap
    drwxr-xr-x  2 root  root  1024 Sep  4 17:09 pcmcia/
    
    À§ÀÇ kernel µð·ºÅ丮¿¡ µé¾î°¡º¸¸é ´ÙÀ½°ú °°ÀÌ ¼¼ºÐÈ­ µÇ¾îÀÖ´Ù.
    [kernel@suni00/lib/modules/2.4.0-test7/kernel]$ ls -l
    
    drwxr-xr-x   3 root     root         1024 Sep  4 17:09 arch/
    drwxr-xr-x   8 root     root         1024 Sep  4 17:10 drivers/
    drwxr-xr-x   9 root     root         1024 Sep  4 17:09 fs/
    drwxr-xr-x   4 root     root         1024 Sep  4 17:09 net/
    
    drivers µð·ºÅ丮 ±¸Á¶¸¦ º¸¸é ¿¹Àü ¸ðµâµéÀÇ µð·ºÅ丮 ±¸Á¶°¡ ¿©±â·Î ¿Å°Ü ¿ÔÀ½À»
    ¾Ë ¼ö ÀÖ´Ù. 
    [kernel@suni00/lib/modules/2.4.0-test7/kernel/drivers]$ ls -l
    
    drwxr-xr-x   2 root     root         1024 Sep  4 17:09 block/
    drwxr-xr-x   3 root     root         1024 Sep  4 17:09 char/
    drwxr-xr-x   2 root     root         1024 Sep  4 17:09 ide/
    drwxr-xr-x   2 root     root         1024 Sep  4 17:09 net/
    drwxr-xr-x   2 root     root         1024 Sep  4 17:09 sound/
    drwxr-xr-x   2 root     root         1024 Sep  4 17:10 video/
    
  • UID,GID bit°¡ 16bit¿¡¼­ 32bit·Î ¹Ù²î¾ú´Ù.
    2^16Àº 65536À̹ǷΠ»ç¿ëÀÚ¸¦ 65536¸í ±îÁö ¸¸µé¼ö ÀÖÁö¸¸ Ä¿³Î 2.4¿¡¼­´Â 
    2^32 Áï 4294967296¸íÀ» ¸¸µé¼ö ÀÖ´Ù.(½Ã½ºÅÛ ÄÝÀÇ º¯°æµµ ÇÊ¿ä·Î Çϸç
    Çö½ÇÀûÀ¸·Î ÀÌ·¸°Ô ¸¹Àº À¯Àú¸¦ ÇÑ ¼­¹ö¿¡ µÐ´Ù´Â°ÍÀº ¹«¸®ÀÌ´Ù.)
    
  • »ý¼º°¡´ÉÇÑ ÇÁ·Î¼¼½ºÀÇ ¼öÀÇ Á¦ÇÑÀÌ ¾ø¾îÁ³´Ù.
    2.2.x Ä¿³ÎÀÇ ¼Ò½º¸¦ º¸¸é include/linux/tasks.h¿¡¼­ NR_TASKSÀÇ °³¼ö°¡ 512·Î
    Á¤ÀǵǾî ÀÖ´Ù. 512ÀÌ»óÀÇ ÇÁ·Î¼¼½º¸¦ »ý¼ºÇÒ ¼ö ÀÖµµ·Ï ÇÏ·Á¸é ÀÌ °ªÀ» °íÃÄ 
    ÁÖ¾î¾ß Çߴµ¥ x86 machine¿¡¼­´Â GDT(Global Descriptor Table)ÀÇ Á¦ÇѶ§¹®¿¡ 
    4092±îÁö ¹Û¿¡ ÇÒ ¼ö ¾øµµ·Ï µÇ¾îÀÖ¾ú´Ù.
    2.4.0-test ¹öÀü¿¡¼­´Â task ÀڷᱸÁ¶°¡ µ¿ÀûÀ¸·Î ÇÒ´çµÇ¾î NR_TASKS °ªÀÌ
    ¾ø¾îÁ³°í ¸Þ¸ð¸®ÀÇ ÇѰ踸ÀÌ À¯ÀÏÇÑ Á¦¾àÀ¸·Î µû¸¥´Ù.
    
  • °øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇϱâÀ§ÇØ /var/shm(¶Ç´Â /dev/shm)À» ¸¶¿îÆ® ÇؾßÇÑ´Ù.
    Ä¿³Î 2.3 °³¹ß¹öÀüÀ» óÀ½ ÄÄÆÄÀÏÇÏ°í ºÎÆÃÇßÀ»¶§ Á¦ÀÏ Ã³À½ Á÷¸éÇß´ø ¹®Á¦Àε¥
    System V °øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇÏÁö ¸øÇؼ­ ºÎÆýà ÀÚµ¿À¸·Î ¶ß´Â ¾ÆÆÄÄ¡ µ¥¸óÀÌ
    ¶ßÁö ¸øÇÏ´Â ¹®Á¦¿Í ¿©·¯ ÇÁ·Î±×·¥À» ½ÇÇàÇßÀ»¶§ °øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇÏÁö ¸øÇØ
    ¿¡·¯°¡ ³ª´Â ¹®Á¦°¡ ¹ß»ýÇß¾ú´Ù. 2.4-test ¹öÀüÀ» ¾²±âÀ§Çؼ± ²À ÇØÁà¾ß ÇÏ´Â
    ºÎºÐÀÌ´Ù.
    
    # mkdir /var/shm
    
    # vi /etc/fstab
    none            /var/shm           shm         defaults        0 0
    
  • ipchains°¡ iptables·Î ¹Ù²î¾ú´Ù.
    menuconfig ¿É¼Ç¿¡¼­ Networking options  ---> [*] Network packet filtering
    (replaces ipchains) ¸¦ ¼±ÅÃÇÏ°í IP: Netfilter Configuration  --->
    <M> ipchains (2.2-style) support ¸¦ ¼±ÅÃÇϸé Ä¿³Î 2.2.x ¿Í °°Àº 
    ¹æ½ÄÀ¸·Î ¾µ ¼ö ÀÖ´Ù.
    
  • Magic SysRq key ÀÇ º¯È­
    Magic SysRq key¶õ ½Ã½ºÅÛÀÇ Á¦¾î°¡ ºÒ°¡´ÉÇÑ »óÅÂ(ÀϹÝÀûÀ¸·Î '´Ù¿î'µÇ¾ú´Ù°íÇÑ´Ù.)
    ¿¡¼­µµ Á¦¾î¸¦ °¡´ÉÇÏ°Ô ÇØÁֹǷΠĿ³Î ÄÄÆÄÀϽà Kernel hacking  --->
    [*] Magic SysRq key¸¦ üũÇØÁÖÀÚ.
    
    2.4.0-test °³¹ß Ä¿³Î¿¡¼­ Magic SysRq key¸¦ »ç¿ëÇÒ·Á¸é ´ÙÀ½°ú °°ÀÌ 
    /proc/sys/kernel/sysrq °ªÀ» 1·Î ¸¸µé¾î¾ß ÇÑ´Ù.
    
    # echo 1 > /proc/sys/kernel/sysrq
    
    Å° Á¶ÇÕ
         Alt+SysRq+R       use Raw keyboard events
         Alt+SysRq+K       kill current VT in use
         Alt+SysRq+E       tErminate all running processes (except init)
         Alt+SysRq+I       kIll all processes (except init)
         Alt+SysRq+L       kilL all processes (including init)
         Alt+SysRq+B       reBoot
         Alt+SysRq+S       Sync all drives
         Alt+SysRq+U       Umount all filesystems
         Alt+SysRq+O       turn the machine Off
         Alt+SysRq+P       dump Processor's registers
         Alt+SysRq+T       dump current Tasks
         Alt+SysRq+M       dump some Memory info
         Alt+SysRq+[0-9]   set kernel log level and redirect it to console
    
         x86 ¸Ó½Å¿¡¼­´Â Alt¸¦ ´©¸¥»óÅ¿¡¼­ Print Screen(Sys Rq)Å°¸¦ ´©¸£°í 
         °¢ ¾ËÆĺªÅ°¸¦ ´©¸£¸é Àû¿ëµÈ´Ù.     
    
    ¸¸¾à ½Ã½ºÅÛÀÌ ´Ù¿î µÇ¾ú´Ù¸é °°Àº ´ÙÀ½°ú ¼ø¼­ÀÇ Á¶ÇÕÀ¸·Î ½Ã½ºÅÛ¿¡ ¼Õ»óÀ» 
    ÁÖÁö¾Ê°í ¾ÈÀüÇÏ°Ô ÀçºÎÆà ÇÒ ¼ö ÀÖÀ»°ÍÀÌ´Ù.
    
    Alt+SysRq+S : ¹öÆÛ¿¡ÀÖ´Â °ÍµéÀ» µð½ºÅ©·Î sync(µ¿±âÈ­)½ÃŲ´Ù.
    Alt+SysRq+E : init ÇÁ·Î¼¼½º¸¦ Á¦¿ÜÇÑ ¸ðµç ÇÁ·Î¼¼½º¸¦ Á¾·á½ÃŲ´Ù.
    Alt+SysRq+U : ÆÄÀÏ ½Ã½ºÅÛÀ» unmount ½ÃŲ´Ù.
    Alt+SysRq+B : ½Ã½ºÅÛ ÀçºÎÆÃ
    
  • Codepage 949 (UnifiedHangul) Áö¿ø(Ä¿³Î 2.4.0-test5ºÎÅÍ Áö¿øÇÏ¸ç ¾ÈÁ¤¹öÀüÀº 2.2.16¿¡¼­ Áö¿øÇÑ´Ù.)
    ¸®´ª½º¿¡¼­ À©µµ ÆÄƼ¼Ç(vfat)À» ¸¶¿îÆ® ÇßÀ»¶§ ÇѱÛÀÌ '????'ÀÌ·±½ÄÀ¸·Î 
    º¸ÀÌ´Â ¹®Á¦¸¦ ÇØ°áÇØ ÁØ´Ù.
    
  • Devfs(Device Filesystem)
    devfs¶õ /proc¿Í °°Àº °¡»ó ÆÄÀϽýºÅÛÀ¸·Î Richard Gooch¿¡ ÀÇÇØ ÀÛ¾÷µÇ¾ú´Ù.
    devfs¸¦ »ç¿ëÇÒ·Á¸é ´ÙÀ½°ú °°Àº °úÁ¤À» °ÅÃľßÇϸç devfs¸¦ ¾²Áö ¾Ê¾Æµµ 2.4.0-test 
    Ä¿³ÎÀ» »ç¿ëÇϴµ¥ »ó°üÀº ¾ø´Ù.
    devfs¸¦ »ç¿ëÇÏ°íÀÚ ÇÑ´Ù¸é devfs´Â ¸Þ¸ð¸®»ó¿¡ Á¸ÀçÇÏ´Â °¡»ó ÆÄÀϽýºÅÛÀ̹ǷΠ¸¸¾à 
    /dev ¿¡ Ư¼öÇÑ ¸ñÀûÀÇ µð¹ÙÀ̽º ÆÄÀÏ ¶Ç´Â µð·ºÅ丮¸¦ »ý¼ºÇß´Ù¸é ÀçºÎÆýà /dev 
    µð·ºÅ丮¿¡ ¸¸µé¾ú´ø°ÍÀÌ »ç¶óÁú°ÍÀ̹ǷΠÀç ÀÛ¼ºÇØÁà¾ß ÇÑ´Ù.
    ºÎÆÃÇÒ¶§¸¶´Ù mknod ¸í·ÉÀ¸·Î ÇÊ¿äÇÑ µð¹ÙÀ̽º¸¦ ´Ù½Ã ¸¸µå´Â°Í º¸´Ü ¼Ð ½ºÅ©¸³Æ®¸¦
    ÀÛ¼ºÇϴ°ÍÀÌ Æí¸®ÇÒ °ÍÀÌ´Ù.
    ¿¹¸¦µé¾î X-4.0ÀÌ»óÀÇ NVdirver¸¦ ¾´´Ù¸é /dev µð·ºÅ丮¿¡ nvidia0, nvidia1, nvidia2, 
    nvidia3, nvidiactl°ú °°Àº ij¸¯ÅÍ µð¹ÙÀ̽º ÆÄÀÏÀÌ ¸¸µé¾îÁ® ÀÖ¾î¾ß X¸¦ ¶ç¿ï¼ö
    ÀÖÀ¸¹Ç·Î ºÎÆýà ¸¸µé¾îÁú¼ö ÀÖµµ·Ï ¼Ð ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÑ´Ù¸é ¾à°£ÀÇ ¼ö°í¸¦
    ´ú ¼ö ÀÖÀ»°ÍÀÌ´Ù.
    ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î devfs¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
    
    1. Ä¿³Î ÄÄÆÄÀÏ ¿É¼Ç¿¡¼­ ´ÙÀ½ »çÇ×À» üũÇÑ´Ù.
       Code maturity level options  --->
           [*] Prompt for development and/or incomplete code/drivers
    
       File systems  ---> 
           [*] /dev file system support (EXPERIMENTAL)
           [*]   Automatically mount at boot
           [*]   Debug devfs
    
    
    2. devfsd ¼Ò½º ÆÄÀÏÀ» ±¸ÇÑ´Ù.
       http://www.atnf.csiro.au/~rgooch/linux/ ¿¡¼­ devfsd-v1.3.10.tar.gz ÀÌ»óÀÇ 
       ¹öÀüÀ» ´Ù¿î ¹Þ¾Æ ´ÙÀ½ ÀÛ¾÷À» ÇÑ´Ù.
       # tar xvvzf devfsd-v1.3.10.tar.gz     -> Àû´çÇÑ µð·ºÅ丮¿¡ ¾ÐÃàÀ» Ǭ´Ù.
       # make                                -> ÄÄÆÄÀÏÇؼ­ devfsd¶õ ÆÄÀÏÀ» ¾ò´Â´Ù.
       # mv devfsd /sbin/                    -> /sbin µð·ºÅ丮·Î ¿Å±ä´Ù. 
       # cp modules.devfs /etc/              -> modules.devfs¿Í devfsd.conf¸¦
       # cp devfsd.conf /etc/                   /etc µð·ºÅ丮·Î ¿Å±ä´Ù.
    
    
    3. /etc/rc.d/rc.sysinit ½ºÅ©¸³Æ®¿¡ ´ÙÀ½ ºÎºÐÀ» Ãß°¡ÇÑ´Ù.
       # Mount /proc (done here so volume labels can work with fsck)
       action "Starting devfsd" /sbin/devfsd /dev           <--- À̺κÐÀ» Ãß°¡ÇÑ´Ù.
       action "Mounting proc filesystem" mount -n -t proc /proc /proc
    
    
    4. /etc/securetty ÆÄÀÏÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù.
       1
       2
       3
       4                          # tty1 ÀÌ·±½ÄÀ¸·Î µÇ¾îÀÖ´Â°Í ¸ðµÎ tty¸¦ »« 
       5                          # ¼ýÀںκи¸ ³²µµ·Ï ÇØÁØ´Ù. 
       6
       7
       8
    
    
    5. /etc/security/console.perms ¿¡¼­ ´ÙÀ½°ú °°ÀÌ ¹Ù²ãÁØ´Ù.
       <console>=tty[0-9][0-9]* :[0-9]\.[0-9] :[0-9] À» ÁÖ¼®Ã³¸®ÇÏ´øÁö »èÁ¦ÇÏ°í
       <console>=tty[0-9][0-9]* [0-9][0-9]* :[0-9]\.[0-9] :[0-9] À¸·Î ¹Ù²ãÁØ´Ù.
    
    
    6. /etc/lilo.conf ¿¡ ´ÙÀ½À» Ãß°¡
       append = "devfs=mount"
    
       devfs¸¦ ¾²Áö ¾Ê°Ú´Ù¸é append = "devfs=nomount" ÇÏ¸é µÈ´Ù.
    

2.3 Ä¿³Î ¿É¼Ç ¼³Á¤

ÀϹÝÀûÀÎ µ¥½ºÅ©Å¾ PC»ç¾ç(1 CPU, No SCSI)¿¡¼­ ÇÊ¿ä·Î ÇÏ´Â Ä¿³Î¿É¼ÇµéÀ» ¼³¸íÇÏ¸ç ±×´ÙÁö Çʿ伺ÀÌ ¾ø´Â ¿É¼ÇµéÀº Á¦¿Ü½ÃÄ×´Ù.

Code maturity level options --->

  • [*] Prompt for development and/or incomplete code/drivers - °³¹ß ¼öÁØÀÇ ¿É¼Çµéµµ ¼±Åð¡´ÉÇÏ°Ô ÇØÁØ´Ù.

Loadable module support --->

  • [*] Enable loadable module support - ¸ðµâÀ» »ç¿ëÇÒ¼ö ÀÖ°Ô ÇØÁÜ.
  • [*] Kernel module loader - Ä¿³ÎÀÌ ¾Ë¾Æ¼­ ¸ðµâÀ» ¿Ã·ÁÁØ´Ù.

Processor type and features --->

  • (Pentium-Pro/Celeron/Pentium-II) Processor family
    • (X) Pentium-Pro/Celeron/Pentium-II - Å×½ºÆ® PC°¡ Pentium IIÀ̹ǷΠ... ½Ã½ºÅÛ¿¡ ¸Â´Â°É ¼±ÅÃÇÑ´Ù.
  • [*] MTRR (Memory Type Range Register) support - ÇÁ·Î¼¼¼­°¡ ¸Þ¸ð¸® ¿µ¿ª Á¢±ÙÀ» Á¦¾îÇÒ¼ö ÀÖÀ½. ±×·¡ÇÈÀÇ ¾²±â ¼Óµµ Çâ»ó

General setup --->

  • [*] Networking support - ³×Æ®¿öÅ· Áö¿ø
  • [*] PCI support - PCI Áö¿ø
  • (Any) PCI access mode - Ä¿³ÎÀÌ Á÷Á¢ ¾×¼¼½º ½Ãµµ
  • [*] System V IPC - System V IPC¸¦ Áö¿øÇÏ°Ô ÇÔ, Shared Memoryµµ ¿©±â¼­ Áö¿øÇÑ´Ù.
  • [*] BSD Process Accounting - ÇÁ·Î¼¼½º Á¤º¸¸¦ ÆÄÀÏ¿¡ ÀúÀå
  • [*] Sysctl support - ƯÁ¤ Ä¿³ÎÀÇ ÆĶó¹ÌÅÍ¿Í º¯¼öµéÀ» µ¿ÀûÀ¸·Î º¯°æ½Ãų¼ö ÀÖµµ·Ï ÇÔ
  • (ELF) Kernel core (/proc/kcore) format - ELF core Æ÷¸Ë
  • <*> Kernel support for a.out binaries - a.out ¹ÙÀ̳ʸ® Áö¿ø
  • <*> Kernel support for ELF binaries - ELF ¹ÙÀ̳ʸ® Áö¿ø

Plug and Play configuration --->

  • <*> Plug and Play support - Plug and Play Áö¿ø

Block devices --->

  • <*> Normal PC floppy disk support - Ç÷ÎÇÇ µå¶óÀ̹ö ÀåÄ¡ Áö¿ø
  • <M> Loopback device support - ÇÑ ÆÄÀÏÀ» ÇϳªÀÇ ÆÄÀÏ ½Ã½ºÅÛó·³ ÀÎ½Ä ½ÃÅ´

Networking options --->

  • <*> Packet socket - ³×Æ®¿÷ µð¹ÙÀ̽º¿ÍÀÇ Á÷Á¢Åë½ÅÀ» ÇÏ°Ô ÇØÁØ´Ù.
    • <*> Packet socket: mmapped IO - ´õ ºü¸¥ Åë½ÅÀ» ÇÒ ¼öÀÖ°Ô ÇÑ´Ù.
  • <*> Unix domain sockets
  • [*] TCP/IP networking - TCP/IP ³×Æ®¿öÅ· Áö¿ø
    • [*] IP: TCP syncookie support (disabled per default) - ¼­ºñ½º °ÅºÎ °ø°ÝÀ» ¹ÞÀ»¶§ ´ëóÇØÁÜ

ATA/IDE/MFM/RLL support --->

  • <*> ATA/IDE/MFM/RLL support
  • IDE, ATA and ATAPI Block devices --->
    • <*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support - IDE¸¦ »ç¿ëÇÒ¼ö ÀÖµµ·Ï ÇØÁØ´Ù.
      • <*> Include IDE/ATA-2 DISK support - Çϵåµð½ºÅ© »ç¿ë°¡´ÉÇÏ°Ô ÇÔ
      • <*> Include IDE/ATAPI CDROM support - CD-ROM »ç¿ë°¡´ÉÇÏ°Ô ÇÔ
      • <M> Include IDE/ATAPI FLOPPY support - ZIP µå¶óÀ̺êµîÀ» »ç¿ë°¡´ÉÇÏ°Ô ÇÔ
      • --- IDE chipset support/bugfixes
      • <*> Generic PCI IDE chipset support - PCI ¹æ½ÄÀÇ IDE Áö¿ø
        • <*> Sharing PCI IDE interrupts support - IRQ °øÀ¯ Áö¿ø
        • <*> Generic PCI bus-master DMA support - DMA Áö¿ø
          • <*> Use PCI DMA by default when available - VIA VP2 Ĩ¼ÂÀ» »ç¿ëÇÑ´Ù¸é Àý´ë ¼±ÅÃÇÏÁö ¸»°Í
        • <*> HPT366 chipset support - Ultra DMA 66 Áö¿ø

Network device support --->

  • [*] Network device support
  • Ethernet (10 or 100Mbit) --->
    • [*] Ethernet (10 or 100Mbit) - ÀÚ½ÅÀÇ ½Ã½ºÅÛ¿¡ ¸Â´Â°É ¼±Åà (RealTek 8139µîÀ» ¾´´Ù¸é [*]EISA, VLB, PCI and on board controllers¸¦ ¼±ÅÃÇϸé ÇϺΠ¸ñ·ÏÀÌ ³ª¿Â´Ù.)

Character devices --->

  • [*] Virtual terminal - °¡»ó Å͹̳ΠÁö¿ø
    • [*] Support for console on virtual terminal - °¡»óÅ͹̳ÎÀ» ½Ã½ºÅÛ ÄַܼΠ¾µ¼öÀÖ°Ô ÇØÁØ´Ù.
  • [*] Unix98 PTY support - Unix98 °¡»óÅ͹̳ΠÁö¿ø
    • [*] (256) Maximum number of Unix98 PTYs in use (0-2048) Unix98 PTY °³¼öÀÇ ÃÖ´ë°ª
  • Mice --->
    • <*> Mouse Support (not serial and bus mice)
      • [*] PS/2 mouse (aka "auxiliary device") support - PS/2 ¸¶¿ì½º Áö¿ø
  • <M> /dev/agpgart (AGP Support) - AGP Áö¿ø (ÇϺθ޴ºÁß ÀÚ½ÅÀÇ º¸µå¿¡ ¸Â´Â°Å ¼±ÅÃ)

File systems --->

  • <*> Kernel automounter support - ¿ø°Ý ÆÄÀÏ ½Ã½ºÅÛÀ» ÀÚµ¿À¸·Î ¸¶¿îÆ® ÇØÁØ´Ù.(NFSµîÀ» »ç¿ëÇÒ¶§) NÀ»¼±ÅÃÇصµ »ó°ü¾ø´Ù.
  • <M> DOS FAT fs support - FAT ±â¹ÝÀÇ ÆÄÀÏ ½Ã½ºÅÛ Áö¿ø
    • <M> MSDOS fs support - MSDOS ÆÄƼ¼Ç ¸¶¿îÆ® Áö¿ø
    • <M> VFAT (Windows-95) fs support - À©µµÁî ÆÄƼ¼Ç Áö¿ø
  • <M> ISO 9660 CDROM file system support - CD-ROM ÆÄÀÏ ½Ã½ºÅÛ Áö¿ø
    • [*] Microsoft Joliet CDROM extensions - Joliet CDROMÀ» ÀÐÀ» ¼ö ÀÖ°Ô ÇÑ´Ù.
  • [*] /proc file system support - ÇÁ·Î¼¼½º¸¦ À§ÇÑ °¡»ó ÆÄÀÏ ½Ã½ºÅÛ
  • [*] /dev/pts file system for Unix98 PTYs - À§¿¡¼­ [*] Unix98 PTY support ¸¦ ¼±ÅÃÇß´Ù¸é ¼±ÅÃÇØ¾ß ÇÑ´Ù.
  • <*> Second extended fs support - ÇöÀç ¸®´ª½º ÆÄÀÏ ½Ã½ºÅÛ
  • Network File Systems --->
    • <M> NFS file system support - ³×Æ®¿÷ ÆÄÀÏ ½Ã½ºÅÛ Áö¿ø
    • <M> SMB file system support (to mount Windows shares etc.) - À©µµÁîÀÇ ³×Æ®¿÷ ±â´ÉµéÀ» °øÀ¯ÇÒ¼ö ÀÖ°Ô ÇØÁØ´Ù.
  • Native Language Support --->
    • Default NLS Option: "cp949" - µðÆúÆ®·Î ÇѱÛÀÌ ¼±Åõǵµ·Ï ÇÑ´Ù.
    • <*> Codepage 437 (United States, Canada)
    • <*> Codepage 949 (UnifiedHangul) - À©µµÆÄƼ¼ÇÀ» ¸¶¿îÆ® ÇßÀ»¶§ ÇѱÛÀ» º¼¼öÀÖµµ·Ï ÇØÁØ´Ù.
    • <*> NLS ISO 8859-1 (Latin 1; Western European Languages)

Console drivers --->

  • [*] VGA text console - VGA Ç¥ÁØ µð½ºÇ÷¹À̸¦ ÅëÇØ ÅؽºÆ® ¸ðµå¿¡¼­ »ç¿ë°¡´ÉÇÏ°Ô ÇÑ´Ù.

Sound ---> ½Ã½ºÅÛ¿¡ ¸Â´Â°É ¼±ÅÃÇÑ´Ù

Kernel hacking --->

  • [*] Magic SysRq key - ½Ã½ºÅÛÀÌ ´Ù¿îµÇ´õ¶óµµ Á¦¾îÇÒ ¼öÀÖµµ·Ï ÇØÁØ´Ù.

2.4 Å×½ºÆ® PC »ç¾ç

Ä¿³Î ÄÄÆÄÀÏÀ» ÇÒ·Á¸é ¾î´ÀÁ¤µµ ÀÚ½ÅÀÇ ½Ã½ºÅÛ¿¡ °üÇÑ Çϵå¿þ¾îÀû Áö½ÄÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ±×·¡ÇÈ Ä«µå, ºñµð¿À Ä«µå, »ç¿îµå Ä«µå, ³×Æ®¿÷ Ä«µåµîÀº Ä¿³Î ÄÄÆÄÀϽà °¢°¢¿¡ ¸Â´Â°ÍÀ» ¼±ÅÃÇÏ°í ¾ÕÀÇ ¿É¼ÇÀ» Âü°íÇÑ´Ù¸é ¹«¸®¾øÀÌ ÄÄÆÄÀÏ °¡´ÉÇÒ°ÍÀÌ´Ù.

  • CPU : Intel Pentium II 350 (Deschutes)
  • Memory : 128MB
  • Main Board : MS-6119 Á¡ÆÛ
    MS-6119 Award Bios ¹öÀüÀÌ 2.9ÀÌ»óÀÌ ¾Æ´Ï¶ó¸é ¸Þ¸ð¸®¸¦ 64MB ¹Û¿¡ 
    ÀνÄÇÏÁö ¸øÇÏ´Â ¹®Á¦°¡ ÀÖÀ¸¹Ç·Î ¹ÙÀÌ¿À½º¸¦ ¾÷µ¥ÀÌÆ® ÇÏ´øÁö 
    /etc/lilo.conf¿¡ append="mem=128M" ÀÌ·¸°Ô Ãß°¡ÇØ¾ß ÇÑ´Ù.
    
  • Hard Disk : QUANTUM FIREBALL 8.4GB
  • CD-ROM : SAMSUNG 40x
  • Network : 3Com PCI 3c905b
  • Video : RIVA TNT (16MB)
  • Sound : SoundBlaster 64PCI (es1370À¸·Î ÀâÀ¸¸é µÈ´Ù.)

3. ±× ¹ÛÀÇ °Íµé

´ÙÀ½Àº Ä¿³Î ÇÁ·ÎÁ§Æ® ȨÀ¸·Î ¹®ÀÇÇÑ Áú¹®µéÁß ¸î°¡Áö¸¦ Ãß·Áº¸¾Ò´Ù. Á¤¸» Àâ´ÙÇÑ °ÍÀ̶ó ¼Ò°³Çϱ⠺βô·¯¿î°Íµµ ÀÖ°í ¾Ë¾ÆµÎ¸é À¯¿ëÇÑ °ÍµµÀÖÀ¸´Ï Âü°íÇϱ⠹ٶõ´Ù.

3.1 Ä¿³Î ¼Ò½ºÀÇ Å©±â´Â ¾ó¸¶³ª µÇ³ª?

Ãʱ⠸®´ª½º Ä¿³Î 0.01ÀÇ Å©±â°¡ 470KB¹Û¿¡ µÇÁö ¾Ê¾Ò´Âµ¥ ÇöÀç ÃֽŠ°³¹ß Ä¿³Î 2.4.0-test5ÀÇ Å©±â´Â 103MB³ª µÈ´Ù. ³î¶øÁö ¾ÊÀº°¡?

3.2 ¿Ö Ä¿³Î À̹ÌÁö¸¦ ¾ÐÃàÇϴ°¡?

¿ì¸®´Â Ä¿³Î ÄÄÆÄÀÏÀ» ÇÒ ¶§ make zImage, make bzImage ÀÌ·± ½ÄÀ¸·Î Ä¿³Î À̹ÌÁö¸¦ ¾ÐÃàÇÑ´Ù.( make zlilo, zdisk, bzlilo ¸ðµÎ ¸¶Âù°¡Áö...) ¾Æ¹«·± Àǹ® ¾øÀÌ ¹«ÀǽÄÀûÀ¸·Î ´ç¿¬È÷ ÀÌ·¸°Ô ¾²°í ÀÖ´Ù.

¿©±â¿¡´Â ¾à°£ÀÇ ¹è°æÁö½ÄÀÌ ÇÊ¿äÇѵ¥ °£·«È÷ ¼³¸íÇÏ°Ú´Ù.

¿ì¸®°¡ ÈçÈ÷ ¾Æ´Â ¸ÅŲÅä½ÃÀÇ M68°è¿­ processor´Â 8bitȯ°æ¿¡¼­ 32bitȯ°æÀ¸·Î ¹ßÀüµÇ¾úÁö¸¸ ÀÎÅÚÀÇ 8086°è¿­Àº DOSÀÇ ´ëÁß¼º ¶§¹®¿¡ ¹Ù·Î 32bit ȯ°æÀ¸·Î °¡Áö ¸øÇÏ°í 16bit ȯ°æÀ» °¡Áö°Ô µÇ¾ú´Ù. ´ëÁßÀûÀ¸·Î ¸¹ÀÌ ¾²ÀÌ°í ÀÖ´Â DOS¸¦ °è¼Ó ¾µ ¼ö ÀÖµµ·Ï Çϱâ À§Çؼ­¿´´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯ ¶§¹®¿¡ ¸®¾ó¸ðµå, º¸È£¸ðµå, °¡»ó86¸ðµå°¡ »ý°å´Ù.

¸®¾ó¸ðµå, º¸È£¸ðµå, °¡»ó86¸ðµå ¸ðµÎ ¼¼±×¸ÕÆ®·¹Áö½ºÅÍ¿Í ¿ÀÇÁ¼Â ·¹Áö½ºÅ͸¦ ÀÌ¿ëÇÏ¿© ÁÖ¼Ò¸¦ ÁöÁ¤Çϴµ¥ ÀÌµé ·¹Áö½ºÅÍÀÇ »ç¿ë¹æ¹ýÀÌ ´Ù¸£´Ù.

¸®¾ó¸ðµå´Â ¼¼±×¸ÕÆ®x10h + ¿ÀÇÁ¼ÂÀ¸·Î ÁÖ¼Ò¸¦ ¸¸µå´Âµ¥ 16bit¿¡¼­ ¼¼±×¸ÕÆ®¿Í ¿ÀÇÁ¼ÂÀÇ ÃÖ´ë °ªÀº FFFFÀÌ´Ù. ±×·¯¹Ç·Î ÃÖ´ë·Î ÁöÁ¤ÇÒ¼ö ÀÖ´Â ÁÖ¼Ò´Â FFFF0 + FFFF°¡ µÈ´Ù. ÀÌ°É °è»êÇϸé 1MB + 64KB°¡ µÈ´Ù.

º¸È£¸ðµå¿¡¼± ÁÖ¼ÒÁöÁ¤ ¹æ½ÄÀÌ ¸®¾ó¸ðµå¿Í´Â ¸¹ÀÌ ´Ù¸£¸ç ÆäÀÌ¡ µîÀ» ÀÌ¿ëÇÏ¿© 32bit ¸ðµÎ ÁÖ¼Ò °ªÀ» ¸¸µé ¼ö ÀÖÀ¸¹Ç·Î ÀÌ·ÐÀûÀ¸·Ð 4GBÀÇ ¸Þ¸ð¸®¸¦ ÀÌ¿ëÇÒ ¼öÀÖÀ¸¸ç °¡»ó86¸ðµå ¶ÇÇÑ ¼±ÇüÁÖ¼Ò¸¦ ¸¸µé¾î³»´Â °úÁ¤¸¸ ´Ù¸£¹Ç·Î ±âº» ¸ÅÄ¿´ÏÁòÀº º¸È£¸ðµå¿Í °°´Ù. (º¸È£¸ðµå¿Í °¡»ó86¸ðµåÀÇ ÁÖ¼Ò »ý¼º ¹ýÀº »ý·«ÇÑ´Ù.)

ÇÁ·Î±×·¥Àº code ºÎºÐ°ú dataºÎºÐÀ¸·Î ³ª´©¾îÁö´Âµ¥ ¸®¾ó¸ðµå¿¡¼­ ÇÁ·Î±×·¥ÀÇ codeºÎºÐÀº ¹Ýµå½Ã À§ ÃÖ´ë ÁÖ¼Ò ÁöÁ¤¿µ¿ª ³»¿¡ ÀÖ¾î¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. ¸®¾ó¸ðµå¿¡¼­´Â ¿©·¯ °³ÀÇ ÇÁ·Î±×·¥ÀÌ ¸Þ¸ð¸®¿¡ ¿Ã¶ó¿Í¼­ ¼öÇàµÉ ¼ö ¾øÀ¸¸ç (¸¸¾à ¿©·¯ °³ÀÇ ÇÁ·Î±×·¥ÀÌ ¸Þ¸ð¸®¿¡¼­ ¼öÇàµÈ´Ù¸é ´Ù¸¥ ÇÁ·Î±×·¥¿µ¿ªÀ» ħ¹ü ÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù.) interrupt¸¦ ÀÌ¿ëÇÏ´Â RAM»óÁÖ ÇÁ·Î±×·¥¸¸ÀÌ ¸Þ¸ð¸®¸¦ °°ÀÌ Â÷ÁöÇÒ ¼ö ÀÖ´Ù.

À§¿¡¼­ ¼³¸íÇÑ ¸®¾ó¸ðµåÀÇ ¾à 1MBÁ¤µµÀÇ ¿µ¿ª Áß Coventional Memory°¡ 640KB¸¦ Â÷ÁöÇÏ°í ³ª¸ÓÁö´Â ºñµð¿À·¥ À̳ª ±âŸ µð¹ÙÀ̽º°¡ Â÷ÁöÇÑ´Ù.

±×·¯¹Ç·Î Ä¿³Î À̹ÌÁö´Â Coventional Memory Áï 640KB³»¿¡ µé¾î°¡¾ß ÇϹǷΠĿ³Î À̹ÌÁöÀÇ Å©±â°¡ 640KBº¸³ª ÀÛ¾Æ¾ß ÇÑ´Ù. Ä¿³Î À̹ÌÁöÀÇ ¾ÐÃàÀ¸·Î ÀÌ·¯ÇÑ Á¦¾àÀ» ºÎºÐÀûÀ¸·Î ±Øº¹ÇÏ¿´À¸³ª 640KBÀÇ ÀϺδ ¿©·¯ °¡Áö ¹öÆÛ(DMA buffer)³ª ƯÁ¤ ÁÖ¼Ò°¡ ½Ã½ºÅÛ¿¡ ¿¹¾àµÇ¾î ÀÖÀ¸¹Ç·Î 640KBº¸´Ù ´õ ÀÛÀº Å©±âÀÇ Ä¿³ÎÀÌ ¿ä±¸µÈ´Ù. ÀÌ·¯ÇÑ ¹®Á¦ÀÇ ´ë¾ÈÀ¸·Î Ä¿³ÎÀ» Extended Memory¿¡ ÀûÀçÇÏ´Â ¹æ¹ýÀ» »ý°¢ÇØ º¼ ¼ö ÀÖ´Ù. Extended Memory ¿µ¿ª¿¡ ÀÚÀ¯·ÎÀÌ ÀûÀçÇϱâ À§Çؼ­´Â º¸È£¸ðµå¸¦ »ç¿ëÇؾßÇϴµ¥ º¸È£¸ðµå¿¡¼­´Â BIOS¿Í °°ÀÌ ½Ã½ºÅÛÀÌ ¿ÏÀüÈ÷ ÁغñµÇ±â ÀüÀÇ ±âº»ÀûÀÎ ±â´ÉµéÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. ÀÌ·² °æ¿ì µð½ºÅ©¸¦ ¾×¼¼½ºÇÏ´Â ÀÚüÀûÀÎ ÇÔ¼ö¸¦ ÁغñÇÏ¿© Ä¿³ÎÀ» Extended Memory ¿¡ ÀûÀçÇϰųª ¾Æ´Ï¸é Ä¿³ÎÀ» ÁÙÀÌ´Â ¼ö¹Û¿¡ ¾ø´Â °ÍÀÌ´Ù.

3.3 LILO¿¡¼­ ÃÖ´ë Ä¿³Î À̹ÌÁö °³¼ö

¿©±â¿¡ ´ëÇؼ± ÀüÇô ¸ð¸£°í ÀÖ¾ú´Âµ¥ ¾î´À ³¯ 2.4.0-test1-ac18 ¹öÀüÀ» ´õ´õ¿í ÃÖÀûÈ­Çϱâ À§ÇØ Ä¿³Î ÄÄÆÄÀÏÀ» ÇÏ°í lilo.conf¿¡ À̹ÌÁö¸¦ µî·Ï½ÃÅ°°í lilo¶õ ¸í·ÉÀ¸·Î Ä¿³Î À̹ÌÁö¸¦ writeÇϴµ¥ ´ÙÀ½°ú °°Àº ¸Þ¼¼Áö°¡ ³ª¿Ô´Ù.

     Only 19 image names can be defined
±×¶§±îÁö ³ªÀÇ lilo.conf¿¡´Â 19°³ÀÇ Ä¿³Î À̹ÌÁö°¡ Á¤ÀǵǾîÀÖ¾ú´Âµ¥ Çϳª ´õ Ãß°¡Çؼ­ 20°³ °¡ µÇÀÚ À§¿Í °°Àº ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÑ °ÍÀ̾ú´Ù. Ä¿³Î À̹ÌÁö¸¦ 20°³ ÀÌ»ó µî·Ï(?)ÇÏÁö ¾Ê¾Ò´Ù¸é ¾Æ¸¶ ¸ô¶úÀ» °ÍÀÌ´Ù.

3.4 ½º¿ÒÆÄÀϵµ Àִµ¥ ½º¿Ò ÆÄƼ¼ÇÀ» ¾²´ÂÀÌÀ¯?

°á·ÐÀûÀ¸·Ð ¼Óµµ ¶§¹®ÀÌ´Ù. ½º¿ÒÆÄÀÏÀ» ¾´´Ù¸é ÆÄÀÏ¿¡ Á¢±ÙÇϱâÀ§ÇØ VFS¿Í ÆÄÀÏ ½Ã½ºÅÛ µå¶óÀ̹ö ±×¸®°í ÆÄÀÏÁ¤º¸¸¦ ´ã°íÀÖ´Â ¿©·¯ °¡Áö¸¦ Àоî¿À°í ¾µ¶§µµ ÀÏ¹Ý ÆÄÀÏÀÌ writing µÇ´Â °æ·Î¸¦ °ÅÄ¥ °ÍÀÌ´Ù. ½º¿Ò ÆÄƼ¼Ç¿¡¼­´Â À§ÀÇ °úÁ¤¾øÀÌ Æ¯Á¤ ºí·°¿¡ ¹Ù·Î Á¢±ÞÇÒ ¼ö ÀÖÀ¸¹Ç·Î ºÒ ÇÊ¿äÇÑ ¿À¹öÇìµå°¡ ¹ß»ýÇÏÁö ¾Ê¾Æ ¼Óµµ°¡ ´õ ºü¸£±â ¶§¹®ÀÌ´Ù.

3.5 ¼­ºê µð·ºÅ丮¸¦ 60000°³ ÀÌ»ó ¸¸µé°í ½Í´Ù.

ÇöÀç ¸®´ª½ºÀÇ ±âº» ÆÄÀÏ ½Ã½ºÅÛÀº ext2ÀÌ´Ù. (SuSE´Â Reiser ÆÄÀϽýºÅÛÀÌ´Ù.) ext2¶õ Second Extended File SystemÀÇ ¾à¾îÀ̸ç Ãʱ⠸®´ª½º ÆÄÀÏ ½Ã½ºÅÛÀ̾ú´ø MINIX¿¡¼­´Â ÃÖ´ë ÆÄÀÏÀ̸§ 14¹®ÀÚ, ÃÖ´ë ÆÄƼ¼Ç 64MB¹Û¿¡ µÇÁö ¾Ê¾Ò°í ÀÌ·± ¿©·¯ °¡Áö ¹®Á¦·Î ÆÄÀÏ ½Ã½ºÅÛÀÌ ¿À´Ã³¯ÀÇ ext2±îÁö ¹ßÀüÇÏ¿´´Ù. ext2¿¡¼­´Â 255¹®ÀÚÀÇ ÆÄÀϸí, ÃÖ´ë 2GBÀÇ ÆÄÀÏ, 4TBÀÇ µð½ºÅ© ¿ë·®À» Áö¿øÇÏ¸ç ¼­ºêµð·ºÅ丮´Â Å×½ºÆ®Çغ»°á°ú 32000°³±îÁö¸¸ ¸¸µé¾îÁ³´Ù. ´ÙÀ½À» Âü°íÇ϶ó.


#!/bin/sh
count=70000
i=1
while [ $i -lt $count ]
do
  mkdir $i && echo "$i"
  i=$(($i+1))
done

À§´Â ¼­ºê µð·ºÅ丮¸¦ ¸¸µé¾îÁÖ´Â shell scriptÀÌ¸ç ¼­ºê µð·ºÅ丮 À̸§Àº 1¹øºÎÅÍ count·Î ÁöÁ¤ÇÑ °ª¸¸Å­ ¸¸µé¾î ÁØ´Ù.

  • ext2 ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­ÀÇ ¼­ºê µð·ºÅ丮 »ý¼º
    Ä¿³Î ¹öÀü : 2.2.14-5.0
    
    $ ls -l 
    drwxrwxr-x  32000 suni00   suni00     475136  7¿ù 12 15:41 tmp/
    
    $du -sh
    128M    .
    
    µð·ºÅ丮 ¸µÅ©ÀÇ inode ¶§¹®¿¡ ./¿Í ../¸¦ Æ÷ÇÔÇÏ¿© 32000 ±îÁö ¹Û¿¡ »ý¼ºµÇÁö 
    ¾Ê´Â°É ¾Ë ¼ö ÀÖ´Ù.
    ¶Ç ext2ÀÇ ºí·° »çÀÌÁî´Â 4KBÀ̹ǷΠ»ý¼ºµð·ºÅ丮µéÀÇ ÃÑ ¿ë·®ÀÌ 128MB³ª
    Â÷ÁöÇÏ¿´½À´Ï´Ù.
    
  • Reiser ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­ÀÇ ¼­ºê µð·ºÅ丮 »ý¼º
    Ä¿³Î ¹öÀü : 2.2.16°ú 2.4.0-test1-ac18
    
    $ls -l
    drwxrwxr-x 64535 suni00   suni00    1548888 Jul 12 15:48 tmp/
    
    $du -sh
    30M    .
    
    À§¿¡¼­ º¸´Ù½ÃÇÇ 64535°³°¡ »ý¼ºµÇ¾ú°í µð·ºÅ丮µéÀÇ ¿ë·®Àº ext2º¸´Ù ÈξÀ ÀûÀº 
    30MB ¹Û¿¡ Â÷ÁöÇÏÁö ¾Ê´Â°É ¾Ë ¼ö ÀÖ´Ù.
    (Reiser ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­ÀÇ ºó µð·ºÅ丮ÀÇ »çÀÌÁî´Â 48Byte¸¦ Â÷ÁöÇß´Ù.)
    

µð·ºÅ丮 ¸µÅ©°¡ µÑ ´Ù 2Byte ¹üÀ§±îÁö Ç¥ÇöÇÒ ¼ö ÀÖ´Â °Í °°Àºµ¥ ÆÄÀÏ ½Ã½ºÅÛ¿¡ µû¶ó À§¿Í °°Àº Â÷ÀÌ°¡ ³µ´Ù.

3.6 Reiser ÆÄÀϽýºÅÛ ¸¸µé±â

ÇöÀç ¸®´ª½ºÀÇ ±âº» ÆÄÀÏ ½Ã½ºÅÛÀÎ ext2´Â ½Å·Ú¼º, Ãæµ¹ º¹±¸ µîÀÇ ¹®Á¦°¡ Àִµ¥ ÀÌ·± ºÎºÐµéÀ» ÇØ°á ÇÒ ¼ö ÀÖ´Â °ÍÀÌ Àú³Î¸µ ÆÄÀÏ ½Ã½ºÅÛÀÌ´Ù. Reiser ÆÄÀÏ ½Ã½ºÅÛ ¶ÇÇÑ ÀÌ·± Àú³Î¸µ ÆÄÀÏ ½Ã½ºÅÛÀÇ ÀÏÁ¾À¸·Î ÀÌ¹Ì SuSE¿¡¼­´Â ±âº» ÆÄÀÏ ½Ã½ºÅÛÀ¸·Î Reiser¸¦ ¼±ÅÃÇÏ°í ÀÖ´Ù. ¸ÓÁö¾Ê¾Æ ¸®´ª½ºÀÇ ±âº» ÆÄÀÏ ½Ã½ºÅÛµµ Àú³Î¸µ ÆÄÀÏ ½Ã½ºÅÛÀ¸·Î ¹Ù²ð °ÍÀÌ´Ù.

  1. ÆÐÄ¡ÆÄÀÏ ¹Þ¾Æ¿À±â
    
    
    http://devlinux.com/projects/reiserfs/ ¶Ç´Â 
    http://kernel.pe.kr/data.php ¿¡¼­ ÀÚ½ÅÀÇ ¹öÀü¿¡ ¸Â´Â ÆÐÄ¡¸¦ ¹Þ¾Æ¿Â´Ù.
  2. ÆÐÄ¡¸¦ Àû¿ë½ÃŲ´Ù.(/usr/src/linux ¿¡¼­ ÆÐÄ¡ÇÑ´Ù.)
    # patch -p1 < ÆÐÄ¡ÆÄÀϸí (¾ÐÃàÀ» Ç®¾úÀ»¶§)
    ¶Ç´Â 
    # gzip -cd ÆÐÄ¡ÆÄÀϸí.gz | patch -p1
    
  3. Ä¿³Î¿É¼Ç ¼±ÅÃ
    Code maturity level options  --->
       [*] Prompt for development and/or incomplete code/drivers ¸¦ ¼±ÅÃÇÏ°í
    File systems  ---> <*> Reiserfs support ¼±ÅÃÇÑ´Ù.
    
  4. Ä¿³Î ÄÄÆÄÀÏ¹× ¸ðµâ ÄÄÆÄÀÏ, lilo Á¤º¸µµ °íÃÄÁØ´Ù.
  5. ReiserFS À¯Æ¿ ÄÄÆÄÀÏ(mkreiserfsÀ» ¸¸µé±âÀ§ÇØ)
    # cd /usr/src/linux/fs/reiserfs/utils/
    # make
    # make install
    
  6. ReiserFS°¡ Àû¿ëµÈ Ä¿³Î À̹ÌÁö·Î ÀçºÎÆÃÇÑ´Ù.
  7. ReiserFS ¸¸µé±â
    (/dev/hdb1 ¿¡ ¸¸µç´Ù°í °¡Á¤ÇÏ¸ç ±âÁ¸ ext2 ÆÄÀϽýºÅÛÀÇ
     µ¥ÀÌÅÍ´Â Áö¿öÁö¹Ç·Î ¹é¾÷ÇÏ´øÁö ¾Æ´Ô »õ Çϵ带 ´Þ¾Ò´Ù°í °¡Á¤ÇÑ´Ù.)
    
    # umount /dev/hdb1 (mount µÇ¾îÀÖÁö ¾Ê´Ù¸é ÀÌ°Ç ÇÊ¿ä¾ø´Ù.)
    # mkreiserfs /dev/hdb1
    # mount /dev/hdb1 /TEST(mount ½Ãų µð·ºÅ丮´Â °¢ÀÚ ¾Ë¾Æ¼­..)
    
  8. /etc/fstab ¼öÁ¤Çϱâ
    /dev/hdb1            /TEST             reiserfs    defaults        1 2
    ext2¸¦ reiserfs·Î ¹Ù²Ù¸é µÈ´Ù.
    
  9. È®ÀÎÇϱâ
    $ mount
    ...
    /dev/hdb1 on /TEST type reiserfs (rw)
    ...
    À§¿Í °°ÀÌ reiserfs ¶ó°í ³ª¿À¸é ¼º°ø
    

Reiser ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé°í ¸¶¿îÆ® ½ÃÅ°¸é ±âº»À¸·Î 32MBÀÇ ¿ë·®À» Àâ¾Æ¸Ô´Â´Ù. ÀÌ °ø°£¿¡´Ù°¡ ÀÚüÀûÀÎ Á¤º¸¸¦ ±â·ÏÇϹǷΠReiser ÆÄÀÏ ½Ã½ºÅÛÀ» À§Çؼ± ÃÖ¼Ò 32MBÀÌ»óÀÇ ÆÄƼ¼ÇÀ» ÇÊ¿ä·Î ÇÑ´Ù.(³ªÀÇ /boot ÆÄƼ¼ÇÀº 16MB¿©¼­ reiserfs¸¦ Àû¿ë½ÃÅ°Áö ¸øÇÏ¿´´Ù.)

3.7 Ä¿³Î 2.4.0-test¹öÀü¿¡¼­ X 4.0À» ¾²°í½Í´Ù.(RIVA TNT)

ÇöÀç nVidia¿¡¼­ ³ª¿À´Â X 4.0 µå¶óÀ̹öµéÀº Ä¿³Î 2.2.xÀÇ ¾ÈÁ¤¹öÀü¿¡¸¸ Àû¿ëµÈ´Ù. °³¹ß¹öÀü¿¡ Àû¿ë½Ãų·Á¸é http://www.darkrock.co.uk/nv/¿¡¼­ NVIDIA_kernel-0.9-2.3.x.tar.gz¸¦ ¹Þ¾Æ ÄÄÆÄÀÏ ÇؾßÇÑ´Ù.(Å×½ºÆ®Çغ» °á°ú Ä¿³Î 2.4.0-test1-ac18±îÁö¸¸ Àû¿ëµÈ´Ù.)

3.8 Ä¿³Î ¹öÀüÀ» ¾î¶»°Ô ¹Ù²Ù´Â°¡?

¾î¶² Çб³ÀÇ Àü»ê°ü·Ã °ú¸ñ ¸®Æ÷Æ®ÀÎÁö ÀÌ·± Áú¹®À» ¸¹ÀÌ ¹Þ¾Ò´Ù. Ä¿³Î ¹öÀü¸¸À» °¡Â¥·Î ¹Ù²Ü·Á´Â ÀÌÀ¯¸¦ ¸ð¸£°Ú´Ù.


# vi /usr/src/linux/Makefile

        VERSION = 2
        PATCHLEVEL = 4
        SUBLEVEL = 0
        EXTRAVERSION = -test1-ac18


# vi /usr/src/linux/include/linux/version.h

        #define UTS_RELEASE "2.4.0-test1-ac18"
        #define LINUX_VERSION_CODE 132096
        #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

À§ÀÇ Makefile¿¡¼­ ¹öÀü Á¤º¸¸¦ °íÃÆ´Ù¸é ÄÄÆÄÀÏÇÒ¶§ version.h´Â ÀÚµ¿À¸·Î ¹Ù²ï´Ù.

ÀÌ µÎ ÆÄÀϵéÀ» ¿øÇÏ´Â ¹öÀüÀ¸·Î ¹Ù²Ù°í ÄÄÆÄÀÏ ÇÏ¸é µÈ´Ù. À߸ø ¹Ù²Ù¾î¼­ Ä¿³Î ¹öÀüÀÌ ¸ÂÁö ¾ÊÀ» °æ¿ì System.map¿¡¼­ ¹öÀüÀÌ Æ²¸®´Ù°í ¸Þ¼¼Áö¸¦ º¸³¾ °ÍÀÌ´Ù. ±×·² °æ¿ì ÇØ´ç Ä¿³Î À̹ÌÁöÀÇ System.mapÀ» ¾ø¾Ö¹ö·Áµµ ¹«°üÇÏ´Ù. (System.mapÀÌ ¾ø´Ù¸é ¾îµð¼­ ¹®Á¦°¡ ¹ß»ýÇß´ÂÁö ¾Ë ¼ö ¾øÀ» °ÍÀÌ´Ù.)

3.9 CPUÀÇ Á¤º¸¸¦ ¹Ù²Ù°í ½Í´Ù, Bogo Mips¸¦ ³ôÀÌ°í ½Í´Ù

ÀÌ°Ç ±×³É ³»°¡ ÇÏ°í ½Í¾î¼­ ÇغôÙ.

# vi /usr/src/linux/arch/i386/kernel/setup.c
        $ cat /proc/cpuinfo Á¤º¸¸¦ °íÃÄÁØ´Ù.

# vi /usr/src/linux/init/main.c
        $ dmesg ÀÇ º¸°í ¹Ó½º¸¦ °íÃÄÁØ´Ù.
À§ µÎ ÆÄÀÏÀ» ¿øÇÏ´Â ´ë·Î °íÄ¡¸é µÈ´Ù. ¾à°£ÀÇ C ÇÁ·Î±×·¡¹Ö¸¸ ÇÒ ¼ö ÀÖ´Ù¸é ½±°Ô ¿øÇϴ´ë·Î ¹Ù²Ü ¼ö ÀÖÀ»°ÍÀÌ´Ù.

3.10 KERNEL32.DLL¿¡¼­ À߸øµÈ ¿¬»ê¼öÇà!?

À§¿Í °°Àº Áú¹®À» ÇϽô ºÐµéÀÌ °¡²û °è½Åµ¥ MS-WINDOWS Ä¿³ÎÀ» ¾î¶»°Ô ¼Õº¼ ¼ö Àְڴ°¡? (°Ë»ö¿£Áø¿¡¼­ kernel·Î °Ë»öÇؼ­ Ä¿³Î ÇÁ·ÎÁ§Æ® ȨÀ¸·Î µé¾î¿Ô´Ù´õ±º¿ä.) ¼ºÀÇ´Â ´ë´ÜÇϳª ´ÜÁö ¼Õ»ó ¾ÈµÈ ´Ù¸¥ KERNEL32.DLLÀ» Ä«ÇÇÇ϶ó°í ÇÒ ¼ö¹Û¿¡...


ID
Password
Join
Like winter snow on summer lawn, time past is time gone.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-10-06 18:17:04
Processing time 0.0030 sec