장 3. Ä¿³Î ÄÄÆÄÀÏ

Áö±Ý²¯ Á¤¼º½º·¹ ¼³Á¤ÇÑ Ä¿³ÎÀÌ µåµð¾î ¸ð½ÀÀ» µå·¯³À´Ï´Ù. ¿©·¯ºÐÀÇ ¸ñÀû¿¡ µû¶ó ¼­¹ö¿¡¼­, Ŭ¶óÀ̾ðÆ®¿¡¼­, ȤÀº ³×Æ®¿öÅ© Àåºñ·Î ÃÖÀûÀÇ ¼º´É°ú ¾ÈÁ¤¼ºÀ¸·Î ¶Ù¾î³­ ¼º´ÉÀ» ¹ßÈÖÇÒ °ÍÀÔ´Ï´Ù.

3.1. ÄÄÆÄÀÏ¿¡ ¾Õ¼­

Ä¿³Î ȯ°æ¼³Á¤ÀÌ ¸ðµÎ ³¡³µ´Ù¸é ÄÄÆÄÀÏÀ» ½ÃÀÛÇϱâ Àü¿¡ ÀÌÀü¿¡ »ý¼ºµÈ ¿ÀºêÁ§Æ® ÆÄÀÏ µîÀ» Áö¿ì´Â û¼Ò°úÁ¤À» ¸ÕÀú °ÅÃÄ¾ß ÇÕ´Ï´Ù.

3.1.1. û¼Ò

# cd /usr/src/linux
# make dep
# make clean

make dep : »õ Ä¿³Î ¸¸µé±â¸¦ ½ÃÀÛÇÏ´Â ¸í·ÉÀÔ´Ï´Ù. ÄÄÆÄÀÏÀ» À§ÇÑ ÀÇÁ¸¼º °ü°è¸¦ ¼³Á¤ÇÕ´Ï´Ù.

make clean : ÀÌÀü¿¡ ¼öÇàÇß´ø ÄÄÆÄÀÏ°úÁ¤¿¡¼­ »ý¼ºµÈ ¿ÀºêÁ§Æ® ÆÄÀÏ(*.[oas]), Ä¿³Î, ÀÓ½ÃÆÄÀÏ(.tmp*), ¼³Á¤°ª(configure) µîÀ» »èÁ¦ÇÕ´Ï´Ù.

´ÙÀ½°ú °°ÀÌ ºÙ¿©¼­ »ç¿ëÇϱ⵵ ÇÕ´Ï´Ù. && ´Â ¾Õ¼± ¸í·ÉÀÌ ¼º°øÇßÀ» ¶§¿¡¸¸ µÚÀÌÀº ¸í·ÉÀ» ½ÇÇàÇ϶ó´Â ¶æÀÔ´Ï´Ù:

# make dep && make clean

3.1.2. Ä¿³Î ÄÄÆÄÀÏ ¸í·É

¾Æ·¡ ¸í·ÉÀ¸·Î ¾ÐÃàµÈ Ä¿³Î À̹ÌÁö¸¦ ¸¸µì´Ï´Ù. I(¾ÆÀÌ)¸¦ ´ë¹®ÀÚ·Î ½á¾ßÇÕ´Ï´Ù:

# make bzImage

Ä¿³ÎÀ» ¸¸µå´Â ¸í·ÉÀº ¸î °¡Áö°¡ Àִµ¥ ±× °¡¿îµ¥ À§¿¡¼­ ¼Ò°³ÇÑ make bzImage (big zImage)¸í·ÉÀÌ °¡Àå ¸¹ÀÌ ¾²ÀÔ´Ï´Ù.

Âü°í: ¾Æ·¡´Â ¾ÐÃàµÈ Ä¿³ÎÀ» ¸¸µé±â À§ÇØ ÀÌÀü¿¡ »ç¿ëÇÏ´ø ¸í·ÉÀÔ´Ï´Ù:

# make zImage

make zImage ¸í·ÉÀ¸·Î ÄÄÆÄÀÏÇßÀ» ¶§ Ä¿³ÎÀÌ Á¦ÇÑµÈ Å©±â¸¦ ³ÑÀ¸¸é "SyStem is too big"À̶ó´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ ³²±â°í ÄÄÆÄÀÏÀÌ ½ÇÆÐÇÏ°Ô µË´Ï´Ù. ÀÌ °æ¿ì Àß ¾²ÀÌÁö ¾Ê´Â ±â´ÉÀº ¸ðµâ·Î ¼³Á¤ÇÏ°í, ÇÊ¿ä ¾ø´Â ±â´ÉÀº Á¦°ÅÇÏ¿© Ä¿³Î ±Ô¸ð¸¦ ÁÙÀÌ°í ´Ù½Ã ÄÄÆÄÀÏÇؾßÇÕ´Ï´Ù. ±×·¯³ª ´õ ÁÁÀº ¹æ¹ýÀº make bzImage¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.

zImage´Â 1/2MBº¸´Ù Å« Ä¿³ÎÀ» Áö¿øÇÏÁö ¾ÊÁö¸¸ bzImage(big zImage)´Â 1MBº¸´Ù À§¿¡ Á÷Á¢ Ä¿³ÎÀ» ·ÎµåÇÏ´Â ±â´ÉÀÌ È®ÀåµÇ¾î Ä¿³Î Å©±â¸¦ ´ë·« 2MB±îÁö Çã¿ëÇÕ´Ï´Ù.

# make zdisk

¸í·ÉÀº Ä¿³Î À̹ÌÁö¸¦ Ç÷ÎÇÇ µð½ºÅ©¿¡ ¸¸µì´Ï´Ù. Ç÷ÎÇÇ µð½ºÅ©·Î »õ Ä¿³ÎÀ» Å×½ºÆ®ÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù. Ä¿³Î À̹ÌÁö¸¦ ¸¸µé°í lilo ±îÁö ¼öÇàÇÏ´Â "make zlilo" ¸í·Éµµ ÀÖÁö¸¸ ¹®Á¦°¡ ¹ß»ýÇÒ °æ¿ì ºÎÆ®Á¶Â÷ µÇÁö ¾ÊÀ» °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.

3.1.3. Ä¿³Î À̹ÌÁö

Ä¿³Î ÄÄÆÄÀÏÀÌ ¼º°øÇß´Ù¸é /usr/src/linux/arch/i386/boot/µð·ºÅ丮 ¾Æ·¡ bzImage¸¦ ãÀ» ¼ö ÀÖ½À´Ï´Ù.

3.1.4. ¸ðµâ ÄÄÆÄÀÏ

¸ðµâ ÄÄÆÄÀÏÀ» ½ÃÀÛÇϱâ Àü¿¡ ÀÌÀü ¹öÀü¿¡¼­ ¼³Ä¡ÇÑ ¸ðµâÀ» (Ä¿³Î ¹öÀüÀÌ ´Þ¶óÁöÁö ¾Ê¾Ò´Ù¸é) À̸§À» ¹Ù²Ù¾î µÎ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. Ä¿³Î ¹öÀüÀÌ ´Ù¸£´Ù¸é Àá½Ã ±×³É µÎ¾ú´Ù°¡, »õ Ä¿³Î°ú ¸ðµâÀÌ Á¦´ë·Î µ¿ÀÛÇÏ´Â °ÍÀ» È®ÀÎÇÏ°í Áö¿ó´Ï´Ù.

# cd /usr/src/linux
# make modules
# make modules_install

make modules : Ä¿³Î ȯ°æ¼³Á¤¿¡¼­ ¸ðµâ·Î ¼³Á¤ÇÑ ±â´ÉµéÀ» ÄÄÆÄÀÏÇÕ´Ï´Ù.

make modules_install : ÄÄÆÄÀÏ µÈ ¸ðµâÀ» /lib/modules ¾Æ·¡ ¼³Ä¡ÇÕ´Ï´Ù.

depmod : ¸ðµâ »çÀÌÀÇ ÀÇÁ¸¼ºÀ» °Ë»çÇÏ¿© /lib/modules µð·ºÅ丮 ¾Æ·¡ modules.dep ÆÄÀÏÀ» ¸¸µì´Ï´Ù.

3.1.5. Ä¿³Î ÄÄÆÄÀÏ¿¡ °É¸° ½Ã°£ ¾Ë¾Æº¸±â

time ¸í·ÉÀ» »ç¿ëÇϸé ÀÛ¾÷¿¡ ¼Ò¿äµÈ ½Ã°£À» ÃøÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ÀÇÁ¸¼º ¼³Á¤ºÎÅÍ ¸ðµâ ¼³Ä¡ÀÛ¾÷±îÁö ¸ðµÎ ¾ó¸¶³ª ½Ã°£ÀÌ °É¸®´ÂÁö ¾Ë¾Æº¸·Á¸é ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÕ´Ï´Ù:

# time -v sh -c 'make dep && make clean && bzImage && modules && modules_install'

time -v : ÀÚ¼¼ÇÑ Á¤º¸¸¦ Ãâ·ÂÇÕ´Ï´Ù.

sh -c 'string..' : ¸í·ÉÀ» µÚµû¸£´Â ¹®ÀÚ¿­µé¿¡¼­ ÀоîµéÀÔ´Ï´Ù.