A.2. Ä¿³Î ¸¸µé±â

ÀÌ ¼½¼Ç¿¡¼­´Â ¸ðµâÈ­µÈ ¸ÂÃã Ä¿³Î ¸¸µé±â¿¡ ´ëÇÏ¿© ¼³¸íÇØ º¸°Ú½À´Ï´Ù. ´ÜÀÏ Ä¿³Î (monolithic kernel)À» ¸¸µå½Ã·Á¸é, A.3 Àý¿¡¼­ ´ÜÀÏ Ä¿³Î °³¹ß°ú ¼³Ä¡¿¡ ´ëÇÑ ¼³¸íÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.

Âü°í¾Ë¸²
 

ÀÌ ¿¹½Ã¿¡¼­¼­´Â 2.4.20-2.47.1 À» Ä¿³Î ¹öÀüÀ¸·Î »ç¿ëÇÕ´Ï´Ù (Ä¿³Î ¹öÀüÀº ´Ù¸¦ ¼öµµ ÀÖ½À´Ï´Ù). uname -r ¸í·ÉÀ» ÀÔ·ÂÇϽøé Ä¿³Î ¹öÀüÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. 2.4.20-2.47.1À» ¾Ë¾Æ³½ Ä¿³Î ¹öÀüÀ¸·Î ¹Ù²Ù½Ê½Ã¿À.

x86 ±¸Á¶¿¡ »ç¿ëµÉ ¸ÂÃã Ä¿³ÎÀ» ¸¸µå´Â ¹æ¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù (¸ðµç ÀÛ¾÷À» ·çÆ®·Î ½ÇÇàÇÏ¼Å¾ß ÇÕ´Ï´Ù):

  1. ½© ÇÁ·ÒÇÁÆ®¸¦ ¿­°í /usr/src/linux-2.4/ µð·ºÅ丮·Î À̵¿ÇÕ´Ï´Ù. ¾ÕÀ¸·Î ¸ðµç ¸í·É¾î´Â ÀÌ µð·ºÅ丮¿¡¼­ ½ÇÇàµÇ¾î¾ß ÇÕ´Ï´Ù.

  2. ¾ÈÁ¤ÀûÀΠȯ°æ¿¡¼­ ¼Ò½º Æ®¸®¸¦ »ç¿ëÇÏ¿© Ä¿³Î °³¹ßÀ» ½ÃÀÛÇÏ´Â °ÍÀÌ Áß¿äÇÕ´Ï´Ù. µû¶ó¼­ ¸ÕÀú make mrproper ¸í·ÉÀ» »ç¿ëÇÏ¿© ¼Ò½º Æ®¸® ÁÖÀ§¿¡ Èð¾îÁ® ÀÖ´Â ÀÌÀü ¹öÀüÀÇ ÀÜ¿©¹°À̳ª ¼³Á¤ ÆÄÀÏÀ» Á¦°ÅÇØ ÁֽʽÿÀ. ¸¸ÀÏ /usr/src/linux-2.4/.config¶ó´Â ±âÁ¸ ¼³Á¤ ÆÄÀÏÀÌ ÀÖ´Ù¸é, ÀÌ ¸í·ÉÀ» ½ÇÇàÇϱâ Àü¿¡ ´Ù¸¥ µð·ºÅ丮·Î ¹é¾÷ÇϽŠÈÄ ³ªÁß¿¡ ´Ù½Ã ÀÌ µð·ºÅ丮·Î °¡Á®¿É´Ï´Ù.

  3. ±âº» Red Hat Linux Ä¿³ÎÀÇ ¼³Á¤À» »ç¿ëÇÏ¿© ½ÃÀÛÇÏ½Ã±æ ±ÇÀåÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇϽ÷Á¸é, /usr/src/linux-2.4/configs/ µð·ºÅ丮¿¡¼­ ½Ã½ºÅÛ ±¸Á¶¿¡ ¸Â´Â ¼³Á¤ ÆÄÀÏÀ» /usr/src/linux-2.4/.config·Î º¹»çÇϽñ⠹ٶø´Ï´Ù. ¸¸ÀÏ ½Ã½ºÅÛ ¸Þ¸ð¸® ¿ë·®ÀÌ 4 ±â°¡¹ÙÀÌÆ® ÀÌ»óÀ̶ó¸é, Å°¿öµå bigmem¸¦ Æ÷ÇÔÇÑ ÆÄÀÏÀ» º¹»çÇϽʽÿÀ.

  4. ´ÙÀ½À¸·Î ¼ÂÆÃÀ» »ç¿ëÀÚ ¼³Á¤ÇϽʽÿÀ. ¸¸ÀÏ X À©µµ¿ì ½Ã½ºÅÛÀ» »ç¿ë °¡´ÉÇÏ´Ù¸é, ¸®´ª½º Ä¿³Î ¼³Á¤ ÇÁ·Î±×·¥À» ½ÇÇàÇϱâ À§ÇØ make xconfig ¸í·ÉÀ» »ç¿ëÇÏ½Ã±æ ±ÇÀåÇÕ´Ï´Ù.

    Âü°í¾Ë¸²
     

    make xconfig ¸í·ÉÀ» »ç¿ëÇÏ¿© ½ÃÀÛµÈ ±×·¡ÇÈ µµ±¸¸¦ »ç¿ëÇϽ÷Á¸é, wish ¸í·ÉÀ» Á¦°øÇÏ´Â tk ÆÐÅ°Áö°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. RPM ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸´Â V ºÎÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.

    ±×¸² A-1. Ä¿³Î ¿ä¼Ò ¹üÁÖ ¼³Á¤Çϱâ

    ±×¸² A-1¿¡¼­ ¼³Á¤ÇÒ ¿ä¼Ò ¹üÁÖ¸¦ Ŭ¸¯ÇÏ¿© ¼±ÅÃÇØ ÁֽʽÿÀ. °¢ ¹üÁÖ ³»¿¡¼­´Â ±¸¼º ¿ä¼Ò°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ±¸¼º ¿ä¼Ò¸¦ Ä¿³Î·Î ÄÄÆÄÀÏÇϽ÷Á¸é y (yes)¸¦ ¼±ÅÃÇϽðí, Ä¿³Î ¸ðµâ·Î ÄÄÆÄÀÏ ÇϽ÷Á¸é m (¸ðµâ), ¶Ç´Â ÄÄÆÄÀÏÇÏÁö ¾ÊÀ¸·Á¸é n (no) Ç׸ñÀ» ¼±ÅÃÇØ ÁֽʽÿÀ. ±¸¼º ¿ä¼Ò¿¡ ´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¿øÇϽøé, ±¸¼º ¿ä¼Ò ¿·¿¡ À§Ä¡ÇÑ µµ¿ò¸» ¹öÆ°À» Ŭ¸¯ÇϽñ⠹ٶø´Ï´Ù.

    ¹üÁÖ ¸ñ·ÏÀ¸·Î µÇµ¹¾Æ°¡½Ã·Á¸é ÁÖ ¸Þ´º ¹öÆ°À» Ŭ¸¯ÇϽʽÿÀ.

    ¼³Á¤À» ¸¶Ä£ ÈÄ, ÁÖ ¸Þ´º â¿¡¼­ ÀúÀå ÈÄ Á¾·á ¹öÆ°À» Ŭ¸¯ÇÏ¿© /usr/src/linux-2.4/.config ¼³Á¤ ÆÄÀÏÀ» »ý¼ºÇϽŠÈÄ ¸®´ª½º Ä¿³Î ¼³Á¤ ÇÁ·Î±×·¥À» Á¾·áÇϽñ⠹ٶø´Ï´Ù.

    ¼³Á¤¿¡ ¾Æ¹«·± º¯È­¸¦ ÁÖÁö ¾ÊÀº °æ¿ì¿¡µµ, °è¼Ó ÁøÇàÇϽñâ Àü¿¡ make xconfig ¸í·É (¶Ç´Â Ä¿³Î ¼³Á¤¿¡ »ç¿ëµÈ ´Ù¸¥ ¹æ¹ý)À» ½ÇÇàÇÏ¼Å¾ß ÇÕ´Ï´Ù.

    Ä¿³Î ¼³Á¤À» À§ÇØ »ç¿ë °¡´ÉÇÑ ´Ù¸¥ ¹æ¹ýµéÀº ´ÙÀ½°ú °°½À´Ï´Ù:

    • make config — »óÈ£ ´ëÈ­½Ä ÅؽºÆ® ÇÁ·Î±×·¥. ÇÑ ÁÙ¿¡ ÇÑ °³¾¿ ±¸¼º ¿ä¼Òµé¿¡ ´ëÇÑ Áú¹®ÀÌ ³ªÅ¸³ª¸é ¿©·¯ºÐÀº Çѹø¿¡ ÇÑ°³¾¿ ´ë´äÇÕ´Ï´Ù. X À©µµ¿ì ½Ã½ºÅÛÀÌ ÇÊ¿äÇÏÁö ¾Ê´Â ¹æ¹ýÀ¸·Î¼­, ÀÌÀü Áú¹®¿¡ ´ëÇÑ ´ë´ä º¯°æÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù.

    • make menuconfig — ÅؽºÆ® ¸ðµå·Î ±¸¼ºµÈ ¸Þ´º À§ÁÖÀÇ ÇÁ·Î±×·¥. ±¸¼º ¿ä¼Ò°¡ ¿©·¯ ¹üÁÖ·Î ³ª´µ¾îÁø ¸Þ´º¿¡ ³ªÅ¸³³´Ï´Ù; ÅؽºÆ® ¸ðµå Red Hat Linux ¼³Ä¡ ÇÁ·Î±×·¥¿¡¼­ »ç¿ëÇß´ø ¹æ½Ä°ú ¶È°°Àº ¹æ¹ýÀ¸·Î ¿øÇϽô ±¸¼º ¿ä¼Ò¸¦ ¼±ÅÃÇÏ½Ã¸é µË´Ï´Ù. ´ÙÀ½ Áß Æ÷ÇÔ½Ãų Ç׸ñ¿¡ ¸Â´Â ű×(tag)¸¦ ¼±ÅÃÇØ ÁֽʽÿÀ: [*] (³»Àå), [ ] (Á¦¿Ü), <M> (¸ðµâ), ¶Ç´Â < > (¸ðµâ °¡´É). X À©µµ¿ì ½Ã½ºÅÛÀÌ ¾ø¾îµµ ÀÌ ¹æ¹ýÀ» »ç¿ë °¡´ÉÇÕ´Ï´Ù.

    • make oldconfig — µðÆúÆ® ¼³Á¤ ÆÄÀÏÀ» ¸¸µå´Â ºñ-´ëÈ­½Ä ½ºÅ©¸³Æ®. µðÆúÆ® Red Hat Linux Ä¿³ÎÀ» »ç¿ëÇϽô °æ¿ì, ÀÌ ¸í·ÉÀ» »ç¿ëÇϽøé Red Hat Linux¿¡ Æ÷ÇÔµÈ Ä¿³Î¿¡ ¸Â´Â ¼³Á¤ ÆÄÀÏÀÌ »ý¼ºµË´Ï´Ù. ÀÌ ¹æ¹ýÀº ¿øÇÏÁö ¾Ê´Â ±â´ÉÀ» »ç¿ëÇÏÁö ¾Êµµ·Ï Ä¿³ÎÀ» µðÆúÆ® ¼³Á¤Çϴµ¥ À¯¿ëÇÕ´Ï´Ù.

    Âü°í¾Ë¸²
     

    kmod¿Í Ä¿³Î ¸ðµâÀ» »ç¿ëÇϽ÷Á¸é, ¼³Á¤ °úÁ¤¿¡¼­ kmod support¿Í module version (CONFIG_MODVERSIONS) support¿¡ ´ëÇؼ­ Yes¶ó°í ´ë´äÇÏ¼Å¾ß ÇÕ´Ï´Ù.

  5. /usr/src/linux-2.4/.config ÆÄÀÏÀ» »ý¼ºÇϽŠÈÄ, ¸ðµç ÀÇÁ¸¼º °ü°è¸¦ ¿Ã¹Ù¸£°Ô ¼³Á¤Çϱâ À§ÇÏ¿© make dep ¸í·É¾î¸¦ ½ÇÇàÇϽñ⠹ٶø´Ï´Ù.

  6. make clean ¸í·ÉÀ» »ç¿ëÇÏ¿© Ä¿³Î °³¹ß¿¡ »ç¿ëµÉ ¼Ò½º Æ®¸®¸¦ ÁغñÇÕ´Ï´Ù.

  7. ±âÁ¸ Ä¿³ÎÀ» µ¤¾î¾²Áö ¾Êµµ·Ï °³¹ß ÁßÀÎ »ç¿ëÀÚ Á¤ÀÇ Ä¿³Î¿¡ ´Ù¸¥ ¹öÀü ¹øÈ£¸¦ ºÎ¿©ÇϽñ⸦ ±ÇÀåÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇϽô °ÍÀÌ »ç°í ¹ß»ý½Ã °¡Àå ½±°Ô º¹±¸ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÔ´Ï´Ù. ´Ù¸¥ ¹æ¹ý¿¡ ´ëÇÏ¿© ¾Ë°í ½ÍÀ¸½Ã´Ù¸é, http://www.redhat.com/mirrors/LDP/HOWTO/Kernel-HOWTO.html ¶Ç´Â /usr/src/linux-2.4ÀÇ Makefile¿¡¼­ ÀÚ¼¼ÇÑ »çÇ×À» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.

    /usr/src/linux-2.4/Makefile ÆÄÀÏÀ» º¸½Ã¸é, EXTRAVERSION·Î ½ÃÀÛÇÏ´Â ÁÙ ¸¶Áö¸·¿¡´Â customÀ̶ó´Â ´Ü¾î°¡ ±âº»À¸·Î Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÁÙ ¸¶Áö¸· ºÎºÐ¿¡ ¹®ÀÚ¿­À» »ðÀÔÇÏ½Ã¸é ¾ÆÁ÷ ÀÛµ¿ÇÏ´Â ÀÌÀü Ä¿³Î°ú »õ Ä¿³Î (2.4.20-2.47.1custom ¹öÀü)ÀÌ ½Ã½ºÅÛ »ó¿¡ µ¿½Ã¿¡ Á¸ÀçÇÏ°Ô µË´Ï´Ù.

    Ä¿³Î¿¡ °íÀ¯ÇÑ À̸§À» ºÎ°¡ÇϽ÷Á¸é, ÀÌ ¹®ÀÚ¿­ ¸¶Áö¸·¿¡ ³¯Â¥ (¶Ç´Â ´Ù¸¥ ½Äº°ÀÚ)¸¦ ÇÔ²² ÷°¡ÇØ ÁֽʽÿÀ.

  8. make bzImageÀ» »ç¿ëÇÏ¿© Ä¿³ÎÀ» ¸¸µì´Ï´Ù.

  9. make modules ¸í·ÉÀ» »ç¿ëÇÏ¿© ¼³Á¤ÇϽŠ¸ðµâÀ» ¸¸µì´Ï´Ù.

  10. make modules_install ¸í·ÉÀ» »ç¿ëÇÏ¿© Ä¿³Î ¸ðµâÀ» ¼³Ä¡ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. (Ä¿³Î ¸ðµâÀ» ¸¸µéÁö ¾ÊÀº °æ¿ì¿¡µµ ¼³Ä¡ °¡´ÉÇÕ´Ï´Ù). ¹Ýµå½Ã ¹ØÁÙ (_)À» ÀÔ·ÂÇÏ´Â °ÍÀ» ÀØÁö ¸¶½Ê½Ã¿À. ÀÌ ¸í·ÉÀº /lib/modules/<KERNELVERSION>/kernel/drivers µð·ºÅ丮 °æ·Î¿¡ Ä¿³Î ¸ðµâÀ» ¼³Ä¡ÇÒ °ÍÀÔ´Ï´Ù. (¾ÕÀÇ °æ·Î¿¡¼­ KERNELVERSIONÀº Makefile¿¡¼­ ÁöÁ¤µÈ Ä¿³Î ¹öÀüÀÔ´Ï´Ù). ÀÌ ¿¹½Ã¿¡¼­ µð·ºÅ丮 °æ·Î´Â /lib/modules/2.4.20-2.47.1custom/kernel/drivers/°¡ µË´Ï´Ù.

  11. make install ¸í·ÉÀ» »ç¿ëÇÏ¿© »õ Ä¿³Î°ú °ü·Ã ÆÄÀϵéÀ» ÀûÀýÇÑ µð·ºÅ丮·Î º¹»çÇØ ÁֽʽÿÀ.

    ÀÌ ¸í·ÉÀº /boot µð·ºÅ丮¿¡ Ä¿³Î ÆÄÀÏÀ» ¼³Ä¡ÇÒ »Ó¸¸ ¾Æ´Ï¶ó »õ·Î¿î initrd À̹ÌÁö¸¦ ¸¸µå´Â /sbin/new-kernel-pkg ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ°í ºÎÆ®·Î´õ ¼³Á¤ ÆÄÀÏ¿¡ »õ·Î¿î Ç׸ñÀ» Ãß°¡ÇÕ´Ï´Ù.

    SCSI ¾î´ðÅ͸¦ °¡Áö°í °è½Å °æ¿ì, SCSI µå¶óÀ̹ö¸¦ ¸ðµâ·Î ÄÄÆÄÀÏÇϰųª (Red Hat Linux¿¡¼­ µðÆúÆ®ÀÎ) ext3 Áö¿øÀ» °®Ãá Ä¿³ÎÀ» ¸ðµâ·Î ÄÄÆÄÀÏÇϱâ À§Çؼ­´Â initrd À̹ÌÁö°¡ ÇÊ¿äÇÕ´Ï´Ù.

  12. initrd À̹ÌÁö¿Í ºÎÆ®·Î´õ°¡ ¿Ã¹Ù¸£°Ô ¸¸µé¾îÁ³´ÂÁö¿Í 2.4.20-2.47.1 ´ë½Å ¸ÂÃã Ä¿³Î ¹öÀüÀ» »ç¿ëÇÏ´ÂÁö È®ÀÎÇØ ÁֽʽÿÀ. ÀÌ·¯ÇÑ ¼öÁ¤µÈ »çÇ×À» È®ÀÎÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¿øÇϽŴٸé, 30.5 Àý°ú 30.6 ÀýÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.