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

4. Compiling the kernel

4.1 Cleaning and depending (û¼Ò¿Í ÀÇÁ¸¼º °Ë»ç)

¼³Àý ½ºÅ©¸³Æ®°¡ ³¡³µÀ» ¶§, `make dep'¿Í `make clean'À» Ç϶ó´Â ¸Þ¼¼Áö¸¦ º¸¾ÒÀ» °ÍÀÌ´Ù. ±×·¯¹Ç·Î, `make dep'¸¦ Ç϶ó. ÀÌ°ÍÀº ¸ðµç ÀÇÁ¸¼º, ±×·¯ÇÑ Æ÷ÇÔµÈ ÆÄ Àϵé, ÀÌ Á¦´ë·Î µÇ¾î ÀÖ´ÂÁö¸¦ È®ÀÎÇÑ´Ù. ÀÌ°ÍÀº ¿©·¯ºÐÀÇ ÄÄÇ»ÅÍ°¡ ³Ê¹« ´À¸® °Ô ½ÃÀÛµÇÁö ¾Ê´Â´Ù¸é ±×¸® ¿À·¡ °É¸®Áö ¾Ê´Â´Ù. ÀÌ°ÍÀÌ ³¡³ª¸é `make clean'À» Ç϶ó. ÀÌ°ÍÀº ¸ðµç ¿ÀºêÁ§Æ® ÆÄÀÏ°ú ±¸¹öÀüÀÌ ³²°Ü³í°ÍÀ» Á¦°ÅÇÏ´Â °ÍÀÌ´Ù. Àý´ë·Î ÀÌ ´Ü°è¸¦ ÀØÁö ¸»±â ¹Ù¶õ´Ù.

4.2 ÄÄÆÄÀÏÇÒ ½Ã°£

cleaning °ú depending ÇÑ ÈÄ¿¡, ¿©·¯ºÐÀº `make bzImage'³ª `make bzdisk'¸¦ ÇؾßÇÑ´Ù.(À̺κÐÀÌ °¡Àå ½Ã°£ÀÌ ¿À·¡ °É¸°´Ù.). `make bzImage'´Â Ä¿³ÎÀ» ÄÄÆÄÀÏ ÇÏ°í, `bzImage'¶ó´Â ÆÄÀÏÀ» arch/i386/boot ¿¡ ³²±ä´Ù. ÀÌ°ÍÀº »õ·Î ¾ÐÃàµÈ Ä¿³ÎÀÌ´Ù. `make bzdisk'µµ °°Àº °ÍÀε¥, ÀÌ°ÍÀº »õ bzImage¸¦ ``A:'' µå¶óÀ̺êÀÇ Ç÷ÎÇÇ µð½ºÅ©¿¡ ³Ö´Â´Ù. `zdisk'´Â »õ Ä¿³ÎÀ» ½ÃÇèÇØ º¸´Âµ¥ ÁÁ´Ù. ¸¸¾à ±×°ÍÀÌ Æøź( Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾Ê´Â°Í)À̶ó¼­, Ç÷ÎÇǸ¦ Á¦°ÅÇÏ°í ¿©·¯ºÐÀÇ ±¸¹öÀü Ä¿³Î·Î ºÎÆÃÇؾßÇÑ´Ù¸é ¸»ÀÌ´Ù. ¶Ç ¿©·¯ºÐÀÌ »ç°í·Î ¿©·¯ºÐÀÇ Ä¿³ÎÀ» Áö¿ü´Ù¸é, (¾Æ´Ï¸é ÀÌ¿Í ºñ½ÁÇÏ°Ô Ä¡¸íÀûÀÎ ÀÏÀÌ »ý±ä´Ù¸é) ÀÌ°ÍÀ¸·Î ºÎÆÃÇÒ ¼öµµ ÀÖ´Ù. ±×¸®°í ¿©·¯ºÐÀÌ ÇÑ µð½ºÅ©¿¡ ÀÖ´Â ³»¿ëÀ» ´Ù¸¥ ÂÊÀ¸·Î ¿Å°Ü¼­ »õ ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇÏ°íÀÚ ÇÒ ¶§µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù.(``ÀÌ°ÍÀÌ ´Ù°¡ ¾Æ´Ï´Ù! ¾ó¸¶³ª °ª¾îÄ¡°¡ Àִ°¡!'')

¸ðµç, ÃÖ±Ù°ÍÀ̶ó°í º¸±â¿¡´Â ºÒÃæºÐÇÑ °Íµé±îÁöµµ, Ä¿³ÎµéÀº ¾ÐÃàµÇ¾î ÀÖ´Ù. ÀÌ ¶§¹®¿¡ À̸§¾ÕÀÇ `bz'°¡ ³ª¿Ô´Ù. ¾ÐÃàµÈ Ä¿³ÎÀº ½ÇÇàµÉ ¶§ ÀÚµ¿ÀûÀ¸·Î ÀÚ±â ÀÚ½ÅÀÌ ¾ÐÃàÀ» Ǭ´Ù.

¿À·¡µÈ Ä¿³ÚÀº bzImage¶ó´Â °ÍÀ¸·Î Ä¿³ÚÀ» ¸ø ¸¸µé¼ö ÀÖ´Ù; ±×¶§´Â °£´ÜÈ÷ zImage ¿´´Ù. ÀÌ ¿É¼ÇÀº ÇöÀç Á¸ÀçÇÏÁö¸¸ ÇöÀç Ä¿³Ú Å©±â¸¦ º¼¶§ ÀÌ ¿É¼ÇÀº Å« Å©±âÀÇ Ä¿³ÚÀ» ¸ø ¾²¹Ç·Î bzImage¸¦ ¸¸µå´Â°ÍÀÌ ±âº»Ã³·³ µÇ¾î°¡°í ÀÖ´Ù.

4.3 ´Ù¸¥ ``make''ÇÒ ¼ö ÀÖ´Â °Íµé

`make mrproper'´Â ´õ¿í È®ÀåµÈ `clean'ingÀ» ÇÑ´Ù. ÀÌ°ÍÀº ¶§¶§·Î ÇÊ¿äÇÏ´Ù. ¿©·¯ºÐÀº ¸Å ÆÐÄ¡¶§¸¶´Ù ÀÌ°ÍÀ» ÇÒ ¼ö ÀÖ´Ù. `make mrproper'´Â ¶ÇÇÑ ¿©·¯ºÐÀÇ ±¸¼º ÆÄÀÏÀ» Áö¿ì±â ¶§¹®¿¡, ±×°ÍÀÌ ÇÊ¿äÇÏ´Ù°í »ý°¢ÇÑ´Ù¸é »çº»À» ¸¸µé¾î¾ß ÇÒ °ÍÀÌ´Ù.

`make oldconfig'´Â ÀÌÀüÀÇ ¼³Á¤ ÆÄÀϷκÎÅÍ Ä¿³Î ¼³Á¤À» ½ÃµµÇÑ´Ù. ÀÌ°ÍÀº `make config'¸¦ ³Ñ¾î°¡°Ô µÈ´Ù. ÇÏÁö¸¸ ¿©·¯ºÐÀÌ ÀÌÀü¿¡ Ä¿³Î ÄÄÆÄÀÏÀ» ÇÑÀûÀÌ ¾ø´Ù°Å³ª ÀÌÀüÀÇ ±¸¼º ÆÄÀÏÀÌ ¾ø´Ù¸é ¿©·¯ºÐÀº ÀÌ°ÍÀ» ÇÒ ¼ö ¾ø°í, ±âº» ±¸¼ºÀ» ¿øÇÏ´Â ´ë·Î ¹Ù²Ù¾î¾ß ÇÒ °ÍÀÌ´Ù.

`make modules'ÀÇ ¼³¸í¿¡ ´ëÇؼ­´Â ¸ðµâ¿¡ ´ëÇÑ ¼½¼ÇÀ» º¸±â ¹Ù¶õ´Ù.

4.4 Ä¿³ÎÀÇ ¼³Ä¡

¿©·¯ºÐÀÌ ÇÏ°íÀÚ ÇÏ´Â ÀÏÀ» ÇÒ ¼ö ÀÖ´Â »õ Ä¿³ÎÀ» °¡Áø ÈÄ¿¡´Â, ¼³Ä¡¸¦ ÇؾßÇÑ´Ù. ´ëºÎºÐÀÇ »ç¶÷µéÀº ÀÌ°ÍÀ» À§Çؼ­ LILO(Linux Loader)¸¦ »ç¿ëÇÑ´Ù. `make zlilo'´Â Ä¿³ÎÀ» ¼³Ä¡ÇÏ°í, ±×°ÍÀ¸·Î ¸®·Î¸¦ ½ÇÇؽÃŲ´Ù.±×¸®°í ¸¸ÀÏ ¸®·Î°¡ ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é, ¿©·¯ºÐÀÌ ½ÃÀÛÇÒ Áغñ¸¦ ÇÏ°Ô ÇØÁØ´Ù: Ä¿³ÎÀº /vmlinuzÀÌ°í, ¸®·Î´Â /sbin¿¡ ÀÖÀ¸¸ç, ÀÌ°ÍÀÌ ¿©·¯ºÐÀÇ ¸®·Î ¼³Á¤(/etc/lilo.conf)°ú °°¾Æ¾ßÇÑ´Ù.

±×·¸Áö ¾Ê´Ù¸é, ¿©·¯ºÐÀÌ Á÷Á¢ ¸®·Î¸¦ ½ÇÇàÇؾßÇÑ´Ù. ÀÌ°ÍÀº ¸Å¿ì ¼³Ä¡Çϱ⠽±°í Àß ÀÛµ¿ÇÏ´Â ÆÐÅ°ÁöÀÌ´Ù. ±×·¯³ª »ç¶÷µéÀÌ ±¸¼º ÆÄÀÏ°ú È¥µ¿ÇÏ´Â °æÇâÀÌ ÀÖ´Ù. ¼³Á¤ ÆÄÀÏÀ» º¸¾Æ¶ó.(±¸¹öÀüÀÇ /etc/lilo/config ³ª »õ¹öÀüÀÇ /etc/lilo.conf). ±×¸®°í ÇöÀçÀÇ ¼³Á¤ÀÌ ¾î¶°ÇÑÁö º¸¾Æ¶ó. ±× ¼³Á¤ ÆÄÀÏÀº ´ÙÀ½°ú °°´Ù.

    image = /vmlinuz
        label = Linux
        root = /dev/hda1
        ...

`image ='´Â ÇöÀç ¼³Ä¡µÈ Ä¿³ÎÀ» ³ªÅ¸³½´Ù. ´ëºÎºÐÀÇ »ç¶÷µéÀº /vmlinuzÀ» »ç ¿ëÇÑ´Ù. `label'Àº ¸®·Î°¡ ¾î´À Ä¿³ÎÀ̳ª ¿î¿µÃ¼Á¦·Î ºÎÆÃÇÒ °ÍÀÎÁö¸¦ °áÁ¤Çϴµ¥ »ç¿ëÇÑ´Ù. ±×¸®°í `root'´Â ƯÁ¤ ¿î¿µÃ¼Á¦ÀÇ / ÀÌ´Ù. ¿©·¯ºÐÀÇ ÀÌÀü Ä¿³ÎÀÇ »çº»À» ¸¸µé°í, ¿©·¯ºÐÀÌ ¸· ¸¸µé¾î³½ bzImage¸¦ Á¦À§Ä¡¿¡ º¹»çÇÑ´Ù(¿©·¯ºÐÀÌ `/vmlinuz' ¸¦ »ç¿ëÇÑ´Ù¸é, `cp bzImage /vmlinuz'À̶ó°í ÃľßÇÑ´Ù.). ±×¸®°í ³ª¼­, ¸®·Î¸¦ »õ·Î¿î ½Ã½ºÅÛ¿¡¼­ Àç½ÇÇà ½ÃŲ´Ù. ¿©·¯ºÐÀº ´ÜÁö `lilo'¶ó°í Ä¡±â¸¸ ÇÏ¸é µÈ´Ù. ±×·¯³ª ±¸¹öÀü¿¡¼­´Â /etc/lilo/install À̳ª /etc/lilo/lilo -C /etc/lilo/config ¶ó°í ÇؾßÇÒ °ÍÀÌ´Ù.

¸¸ÀÏ ¿©·¯ºÐÀÌ ¸®·ÎÀÇ ±¸¼º¿¡ ´ëÇÏ¿© ´õ¸¹ÀÌ ¾Ë°íÀÚ Çϰųª ¸®·Î¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù¸é, ¿©·¯ºÐÀÌ ÁÁ¾ÆÇÏ´Â ftp »çÀÌÆ®¿¡ °¡¼­ ÃֽŠ¹öÀüÀ» °¡Á®¿Í¼­ ¼³¸í¿¡ µû¸£±â ¹Ù¶õ´Ù.

Á¤»óÀûÀÌÁö ¾ÊÀº(Ä¿³ÎÀÌ Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾Ê´Â:¿ªÀÚÁÖ) Çϵåµð½ºÅ©¿¡¼­ ¿©·¯ºÐ ÀÇ ÀÌÀü ¹öÀüÀÇ Ä¿³ÎµéÁß¿¡ Çϳª·Î ºÎÆÃÇϱâ À§Çؼ­´Â(ÀÌ·¯ÇÑ °æ¿ì¿¡ ¿©·¯ºÐÀ» ±¸ÇÏ´Â ´Ù¸¥ ¹æ¹ýÀº »õ Ä¿³ÎÀ» ¼³Ä¡ÇÏ´Â °ÍÀÌ´Ù.), ¸®·Î ¼³Á¤ ÆÄÀÏÀÇ ¾Æ·¡ºÎºÐ ¿¡ ÀÖ´Â `image = xxx'¸¦ Æ÷ÇÔÇÑ ºÎºÐÀ» º¹»çÇÑ´Ù. ±×¸®°í `image = xxx' ¸¦ `image = yyy'·Î °íÄ£´Ù. ¿©±â¼­ `yyy' ´Â ¿©·¯ºÐÀÇ ¹é¾÷Ä¿³ÎÀÌ ÀúÀåµÇ¾î ÀÖ´Â ÆÄÀÏÀÇ Àüü °æ·Î¸íÀÌ´Ù. ±×¸®°í ³ª¼­ `label = zzz' À» `label = linux-backup' À¸·Î °íÄ¡°í ¸®·Î¸¦ ´Ù½Ã ½ÇÇàÇÑ´Ù. ¿©·¯ºÐÀº ¼³Á¤ÆÄÀÏ¿¡´Ù°¡ `delay=x'¶ó°í ½á³Ö¾î ÁÖ¾î¾ß ÇÒ °ÍÀÌ´Ù. x´Â 10ºÐÀÇ 1ÃÊ ´ÜÀ§ÀÇ ¾çÀ¸·Î ÀÌ°ÍÀº ¸®·Î°¡ ºÎÆÃÇϱâ Àü¿¡ Àá½Ã ±â´Ù¸®µµ·Ï ÇÏ´Â °ÍÀÌ´Ù. ±×·¯¸é ¿©·¯ºÐÀº ±×°ÍÀ» Á¤Áö½Ãų ¼ö ÀÖ°í(¿¹¸¦ µé¸é, ½ÃÇÁÆ® Å°¸¦ »ç¿ëÇؼ­), ¹é¾÷ ºÎÆ® À̹ÌÁöÀÇ ¶óº§À» ½á ³ÖÀ¸¸é µÈ´Ù (ÁÁÁö ¾ÊÀº ÀÏÀÌ »ý±æ °æ¿ì¿¡).


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