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

1. ¹è°æÁö½Ä

1.1 Ä¿³ÎÀ̶õ?

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

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

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

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

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

Ä¿³ÎÀº 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


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