2.2. Ä¿³Î À̹ÌÁö ÆÄÀÏÀÇ ±¸Á¶

ÀÌ¹Ì Ä¿³ÎÀ» ÄÄÆÄÀÏ ÇØº» »ç¶÷Àº ÃÖÁ¾ Ä¿³Î À̹ÌÁö ÆÄÀÏÀÌ ¾ÐÃàµÇ¾î ÀÖ´Ü °ÍÀ» ¾Ë ¼öÀÖÀ» °ÍÀÌ´Ù. [1]ÀÌÁ¦ LILO°¡ ¸Þ¸ð¸®¿¡ Ä¿³ÎÀ» ÀÐ¾î ¿Ã¸®°í ½ÇÇàÇØ Áֱ⠱îÁöÀÇ °úÁ¤À» »ìÆìº¼ °ÍÀÌ´Ù.

±×¿¡ ¾Õ¼­ Ä¿³Î À̹ÌÁö ÆÄÀÏÀÇ ±¸Á¶¿¡ ´ëÇØ ¸ÕÀú ¾Ë¾Æº»´Ù. ±¸Á¶¸¦ ¾Ë¾Æ¾ß LILO°¡ Ä¿³ÎÀ» ¾î¶² ½ÄÀ¸·Î ºÎÆÃÇÏ°Ô ÇØÁÖ´ÂÁö ÀÌÇØ°¡ ºü¸¦ °ÍÀÌ´Ù.

zImage³ª bzImage³ª ±¸Á¶´Â °°´Ù. ´ÜÁö ¸Þ¸ð¸®¿¡ ¿Ã·ÁÁö´Â À§Ä¡³ª µ¿ÀÛ ¹æ½ÄÀÌ ¾à°£ Â÷À̰¡ Àֱ⠶§¹®¿¡ À̰ÍÀÌ °¨¾ÈµÈ °¢°¢¿¡ ¸Â´Â Äڵ尡 »ç¿ëµÉ »ÓÀÌ´Ù.

±×¸² 2-2. bzImageÀÇ ±¸Á¶

±×¸² 2-2¿¡¼­ ȸ»ö ºÎºÐÀÌ ÁøÂ¥ ¸®´ª½º Ä¿³ÎÀÌ°í ¾ÐÃàµÇ¾î ÀÖ´Â »óÅ´Ù. ¿©±â¿¡ ¾ÐÃàÀ» Ç®¾îÁÖ±â À§ÇÑ 'head + misc'°¡ ¾ÕºÎºÐ¿¡ ºÙ¾î ÀÖ°í ´Ù½Ã ÀÌ ÇÑ µ¢¾î¸®ÀÇ À̹ÌÁö¿¡ ¸Þ¸ð¸®¿¡ ¿Ã·ÁÁø Ä¿³ÎÀÇ ¾ÐÃàÀÌ Á¦´ë·Î Ç®¸®µµ·Ï ¹Ì¸® ÁغñÇÏ´Â "setup"°ú ºÎÆÃÇÒ ¶§ »ç¿ëµÇ´Â "bootsect"°¡ ºÙ¾î ÃÖÁ¾ Ä¿³Î À̹ÌÁö ÆÄÀÏÀ» ¸¸µç´Ù.

bbootsect³ª bsetupÀÇ ¾Õ¿¡ ºÙÀº b´Â bzImageÀÇ ¾Õ¿¡ ºÙÀº b¿Í °°Àº Àǹ̷Π"big kernel"À» ÀǹÌÇÑ´Ù. bbootsect´Â Ç÷ÎÇÇ·Î ºÎÆÃµÉ ¶§ Áï ºÎÆ®·Î´õ°¡ ¾øÀÌ Ä¿³ÎÀÌ Á÷Á¢ ÀÐÇôÁ® ºÎÆÃµÉ ¶§ ÇÊ¿äÇÑ ºÎÆ® ¼½ÅÍ´Ù. lilo¿¡ ÀÇÇØ ºÎÆÃµÇ´Â °æ¿ì´Â ÇÊ¿ä ¾ø´Â ºÎºÐÀÌ´Ù.

2.2.1. Ä¿³ÎÀÇ ºÎÆÃ

lilo¿¡ ÀÇÇØ ºÎÆÃÀÌ ½ÃÀ۵Ǹé LILO´Â bzImage¸¦ ÇÏµå µð½ºÅ©¿¡¼­ ÀÐ¾î ¸Þ¸ð¸®¿¡ ¿Ã·Á ³õ°í LILO¿¡ ÀÇÇÑ ºÎÆÃÀÏ °æ¿ì ÇÊ¿ä ¾ø´Â bbootsect¸¦ °Ç³Ê¶Ú bsetup¿¡¼­ºÎÅÍ ½ÇÇàµÇµµ·Ï ÇØÁØ´Ù. LILOÀÇ ¿ªÇÒÀº bsetup¿¡ ½ÇÇà ±ÇÀ» ³Ñ°ÜÁִµ¥ ±îÁö´Ù.

½ÇÇàµÈ bsetupÀº ¸Þ¸ð¸® ¼¼ÆÃÀ» ¸¶Ä¡°í ¾ÐÃàµÈ Ä¿³Î À̹ÌÁöÀÇ ¾ÐÃàÀ» Ç®±â À§ÇÑ ÄÚµå·Î ½ÇÇàÀ» ¿Å±ä´Ù. "head + misc"·Î Ç¥½ÃµÈ ºÎºÐÀ̰í À̰÷ÀÌ ½ÇÇàµÇ¸é piggy.o´Â ¾ÐÃàÀÌ Ç®·Á ½ÇÇà °¡´ÉÇÑ ¸®´ª½º Ä¿³ÎÀÌ ¸Þ¸ð¸®¿¡ Á¸ÀçÇÏ°Ô µÈ´Ù. ¾ÐÃàÀÌ Ç®¸± ¶§ È­¸é¿¡ "Uncompressing Linux... "¶õ ¸Þ½ÃÁö°¡ Ãâ·ÂµÈ´Ù.

±×·¯³ª ¾ÐÃàÀÌ Ç®·È´Ù°í ÇØ¼­ ¹Ù·Î Ä¿³ÎÀ» ½ÇÇàÇÏ´Â °ÍÀº ¾Æ´Ï°í ¸Þ¸ð¸® ³¶ºñ¸¦ ¸·±â À§ÇÑ Á¤¸®¸¦ Çѹø ´Ù½Ã ÇÏ°í ³ª¼­ Ä¿³ÎÀÌ ½ÇÇàµÈ´Ù. ¾ÐÃàÀÌ Ç®¸®°í³ª¸é óÀ½ LILO¿¡ ÀÇÇØ ÀÐÇôÁø Ä¿³Î À̹ÌÁö´Â ÇÊ¿ä ¾ø°Ô µÈ´Ù. ±×·¯¹Ç·Î ÀÌ ºÎºÐÀ» ³»¹ö·ÁµÎ¸é ±×¸¸Å­ ¸Þ¸ð¸® ³¶ºñÀ̹ǷΠ¾ÐÃà Ç®¸° Ä¿³Î À̹ÌÁö¸¦ ¿Å°Ü¿Í µÇµµ·Ï ¸¹Àº ¸Þ¸ð¸®¸¦ »ç¿ëÇϵµ·Ï ÇÑ ÈÄ Ä¿³ÎÀ» ½ÇÇàÇØ ÁØ´Ù. Ä¿³ÎÀÌ ½ÇÇàµÇ±â ½ÃÀÛÇϸé "ok, booting the kernel."ÀÌ Ãâ·ÁµÇ°í Ä¿³Î¿¡ ÀÇÇÑ Ãâ·ÂÀÌ È­¸é¿¡ ³ªÅ¸³ª°Ô µÈ´Ù.

2.2.2. zimage¿Í bzImageÀÇ Â÷ÀÌ

zimage¿Í bzImage´Â ¹«½¼ Â÷À̰¡ Àִ°ɱî? ÇÊÀڴ óÀ½¿¡ z¿Í bÀÇ ÀÇ¹Ì ¶§¹®¿¡ gzipÀ¸·Î ¾ÐÃàÇϰųª ¾Æ´Ï¸é bzip2·Î ¾ÐÃàÇÑ °ÍÀÇ Â÷ÀÌÀÎÁÙ ¾Ë¾ÒÁö¸¸ ¾ÐÃàÀº gzipÀ¸·Î °°°í ´ÜÁö z´Â ¾ÐÃàÇß´Ü Àǹ̰í b´Â 'big kernel'À̶õ ¶æÀ롃 ¾Ë¾Ò´Ù. ¿Ö ÀÌ·¸°Ô ³ª´²Á³´Â°¡?

ÀÌ¹Ì 1.7Àý¿¡¼­ ¾ð±ÞÇß´ø °Í ó·³ Ä¿³ÎÀÇ Å©±â°¡ ³Ê¹« Ä¿¼­ ¾ÐÃà ÈÄ¿¡µµ ÀÏÁ¤ Å©±â¸¦ ³Ñ¾î°¡¸é zImage ´ë½Å bzImage¸¦ »ç¿ëÇØ¾ßÇÑ´Ù°í Çߴµ¥ ÀÌÀ¯´Â ´ÙÀ½°ú °°´Ù.

pc°¡ óÀ½ ¸¸µé¾îÁú ¶© OS·Î µµ½º°¡ »ç¿ëµÆ°í ÀÌ ¶§ M$ÀÇ À¯¸íÇÑ ºÐÀÌ 640KB¸é ÃæºÐÇÏ´Ù°í Çß´Ü ¼Ò¸± µéÀºÀûÀÌ ÀÖÀ» °ÍÀÌ´Ù. óÀ½ PC°¡ ¸¸µé¾îÁú ¶§ÀÇ CPU´Â 8086À¸·Î 16bit CPU ¿´´Ù. ÀÌ ÇÁ·Î¼¼¼­°¡ Áö¿øÇÏ´Â ÃÖ´ëÀÇ ¸Þ¸ð¸®´Â 1MB¿´±â ¶§¹®¿¡ ¸ðµç ¾îµå·¹½º ½ºÆäÀ̽º°¡ 1MB ³»·Î Á¦ÇѵƴÙ. ±×·¯¹Ç·Î ·¥À» 640kb »ç¿ëÇÏ°í ³ª¸ÓÁö ¿µ¿ª¿£ MGA, VGA¿Í °°Àº ´Ù¸¥ µð¹ÙÀ̽º¸¦ ÇÒ´çÇØ Áá´Ù.

¹®Á¦´Â ¿©±â¼­ ½ÃÀ۵Ǵµ¥ AT½ÃÀýÀÇ PC ±âº» ±¸Á¶´Â ÇöÀç±îÁöµµ °è¼Ó À¯ÁöµÇ°í Àֱ⠶§¹®¿¡ PC°¡ óÀ½ ºÎÆÃµÇ¸é ÇÏÀ§ 1MB ¸¸À» »ç¿ëÇÑ´Ù°í »ý°¢ÇÏ¸é µÈ´Ù. º¸È£¸ðµå¶ó°í ¾Ë°í ÀÖ´Â 386 ÀÌ»óÀÇ cpu°¡ °¡Áø ±â´ÉÀ» »ç¿ëÇÏÁö ¾Ê°í ¸®¾ó¸ðµå¶õ 8086 ȣȯ ¸ðµå¸¦ »ç¿ëÇϱ⠶§¹®Àε¥ ÀÌ´Â OS°¡ º¸È£¸ðµå¸¦ »ç¿ëÇÒ »óŸ¦ ¸¸µé°í ÀüȯÇϱâ Àü±îÁö´Â °è¼Ó ¸®¾ó¸ðµå·Î ³²¾ÆÀֱ⠶§¹®ÀÌ´Ù.

¸®´ª½º Ä¿³ÎÀÇ Å©±â°¡ Ä¿¼­ Ä¿³ÎÀ» ÀоîµéÀÌ´Â ÇÁ·Î±×·¥ Å©±â³ª ½Ã½ºÅÛ¿¡¼­ »ç¿ëµÇ´Â ¾à°£ÀÇ ¸Þ¸ð¸®¸¦ Á¦¿ÜÇÑ ³ª¸ÓÁö ·¥ÀÇ ºó°ø°£¿¡ ÀÐ¾î µéÀÌÁö ¸øÇϸé ÇÏÀ§ 1MB°¡ ¾Æ´Ï¶ó ±× ÀÌ»óÀÇ ¿¬¼ÓµÈ ¸Þ¸ð¸®¿¡ Ä¿³ÎÀ» ÀÐ¾î µéÀÌ°í ¾ÐÃàÀ» Ǫ´Â µîÀÇ ÀÏÀ» ÇØ¾ßÇÒ °ÍÀÌ´Ù. ¹Ý´ë·Î ³²Àº ¿ë·®¿¡ Ä¿³ÎÀÌ µé¾î°¥ ¼ö ÀÖ´Ù¸é ´ç¿¬È÷ ÀÐ¾î µéÀÌ°í ¾ÐÃàÀ» Ç®¸é ³¡³¯ °ÍÀ̰í...

ÀÌ·¸°Ô ¸Þ¸ð¸®¿¡ óÀ½ ÀûÀçµÇ°í ¾ÐÃà Ç®¸®°í ÇÏ´Â ÀýÂ÷¿Í À§Ä¡°¡ ´Ù¸£±â ¶§¹®¿¡ zImage¿Í bzImage¿À ³ª´¶ °ÍÀ̰í Ä¿³Î À̹ÌÁö ÆÄÀÏÀÇ ¾ÕºÎºÐ bootsect¿Í setupÀÌ °¢°¢¿¡ µû¶ó ¸Â´Â °ÍÀ¸·Î ÇÕÃÄÁö°ÔµÈ´Ù. ±×¸®°í bzimageÀÇ °æ¿ì ÇÏÀ§ 1M´Â »ç¿ëÇÏÁö ¸øÇϴµ¥ ¸®´ª½º¿¡¼± ±×·¸´Ù!

ÄÄÆÄÀÏ ´Ü°è¿¡¼­ make zImage ÇßÀ» °æ¿ì System is too big. Try using bzImage or modules. ¶ó°í ¿¡·¯°¡ ³­´Ù¸é ´õ ¸¹Àº ºÎºÐÀ» module·Î ¸¸µé°Å³ª bzImage¸¦ »ç¿ëÇØ¾ßÇÑ´Ù.

ÁÖ¼®

[1]

zImage, bzImage µî¿¡¼­ z°¡ ÀǹÌÇÏ´Â °ÍÀÌ gzipÀ¸·Î ¾ÐÃàµÆ´Ü °ÍÀÌ´Ù.