The Loopback Root Filesystem HOWTO Andrew M. Bishop
amb@gedanken.demon.co.uk
ÇöÁ¾ ±è
polsci@hitel.net
v1.1, 24 September 1999 º» ¹®¼­´Â ·çÇÁ¹é µð¹ÙÀ̽º¸¦ ÀÌ¿ëÇØ º°µµÀÇ ÆÄƼ¼Ç ºÐÇÒÀÛ¾÷ ¾øÀÌ µµ½º ÆÄƼ¼Ç¿¡ ¸®´ª½º ½Ã½ºÅÛÀ» ¼³Ä¡ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù. ¶Ç, ÀÌ ±â¼úÀÇ ´Ù¸¥ ÀÀ¿ëµµ ´Ù·ê °ÍÀÔ´Ï´Ù.
¼Ò°³ ÀúÀÛ±Ç The Loopback Root Filesystem HOWTO Copyright (C) 1998,99 Andrew M. Bishop (amb@gedanken.demon.co.uk). This documentation is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. The GNU General Public License is available from http://www.fsf.org/ or, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA Revision History Version 1.0.0 Initial Version (June 1998) Version 1.0.1-1.0.3 Slight Modifications, kernel version changes, typos etc. (1998 - July 1999) Version 1.1 Added Copyright Information and Re-Submitted (September 1999) ·çÇÁ¹é µð¹ÙÀ̽º¿Í ·¥µð½ºÅ©ÀÇ ¿ø¸® ¿ì¼± ·çÇÁ¹é ÆÄÀϽýºÅÛÀ» ·çÆ®µð¹ÙÀ̽º·Î ¼³Á¤ÇÏ´Â ¿ø¸® ¸î°¡Áö¸¦ ¼³¸íÇÏ°Ú½À´Ï´Ù. ·çÇÁ¹é µð¹ÙÀ̽º ¸®´ª½ºÀÇ ·çÇÁ¹é µð¹ÙÀ̽º´Â °¡»óÀÇ µð¹ÙÀ̽º·Î¼­ ½ÇÁ¦ÀÇ ¹Ìµð¾î µð¹ÙÀ̽º¿Í ¶È°°ÀÌ Ãë±ÞµË´Ï´Ù. ÀϹÝÀûÀÎ ½ÇÁ¦ µð¹ÙÀ̽ºÀÇ ¿¹·Î´Â /dev/hda1, /dev/hda2, /dev/sda1 µîÀÇ Çϵåµð½ºÅ© ÆÄƼ¼ÇµéÀ̳ª /dev/fd0 ¿Í °°Àº Ç÷ÎÇÇ µð¹ÙÀ̽ºµîÀ» µé ¼ö ÀÖ½À´Ï´Ù. ÀÌ·± µð¹ÙÀ̽ºµéÀº ¸ðµÎ ÆÄÀÏ¹× µð·ºÅ丮 ±¸Á¶¸¦ ´ã´Â µð¹ÙÀ̽ºµéÀÔ´Ï´Ù. À̵éÀ» »ç¿ëÇÏ·Á¸é ƯÁ¤ ÆÄÀϽýºÅÛ(ext2fs, msdos, ntfs µîµî)À¸·Î Æ÷¸ËÇÑ ÈÄ ¸¶¿îÆ®ÇØ¾ß ÇÕ´Ï´Ù. ·çÇÁ¹é ÆÄÀϽýºÅÛÀ̶õ ¾î¶² ÆÄÀϽýºÅÛÀÇ ÆÄÀÏ ÇÑ°³¸¦ ¸¶Ä¡ ÇϳªÀÇ µð¹ÙÀ̽ºÃ³·³ ÀνĽÃŲ °ÍÀÔ´Ï´Ù. ÀÌ ÆÄÀÏÀº ´Ù¸¥ µð¹ÙÀ̽º¿Í ¸¶Âù°¡Áö·Î Æ÷¸ËµÇ°í ¸¶¿îÆ®µÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ÇϱâÀ§Çؼ­´Â ¸ÕÀú ÀÌ È­ÀÏÀÌ /dev/loop0 ³ª /dev/loop1 µî°ú °°Àº Ư¼öÇÑ µð¹ÙÀ̽º¿Í ¿¬°áµÇ¾î¾ß ÇÕ´Ï´Ù. ±× ´ÙÀ½¿¡¾ß »õ·Î¿î °¡»óÀÇ µð¹ÙÀ̽º·Î ¸¶¿îÆ®µÉ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù. ·¥µð½ºÅ© µð¹ÙÀ̽º ¸®´ª½º¿¡¼­ ÆÄÀϽýºÅÛÀ¸·Î ¸¶¿îÆ® °¡´ÉÇÑ °¡»óµð¹ÙÀ̽º°¡ ¶Ç ÇÑ Á¾·ù Àִµ¥ ¹Ù·Î ·¥µð½ºÅ© µð¹ÙÀ̽ºÀÔ´Ï´Ù. ·¥µð½ºÅ©¶õ º°´Ù¸¥ ¹°¸®Àû ÀåÄ¡¸¦ ÁöĪÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, ¹Ù·Î ¸Þ¸ð¸®ÀÇ ÀϺθ¦ µð½ºÅ©·Î ÀνĽÃŲ °ÍÀÔ´Ï´Ù. ÀÌ ¿ëµµ·Î ÇÒ´çµÇ´Â ¸Þ¸ð¸®´Â µð½ºÅ©·Î ½º¿ÒµÇÁö ¾ÊÀ¸¸ç µð½ºÅ© ij½¬¿¡ ³²°ÔµË´Ï´Ù. ·¥µð½ºÅ©´Â ·¥µð½ºÅ© µð¹ÙÀ̽ºÀÎ /dev/ram0 ³ª /dev/ram1 µî¿¡ ±â·ÏÇÔÀ¸·Î¼­ Áï°¢ ¸¸µé¼ö ÀÖ½À´Ï´Ù. ÀÌ°Í ¿ª½Ã ·çÇÁ¹é µð¹ÙÀ̽º¿Í °°Àº½ÄÀ¸·Î Æ÷¸ËÇÒ ¼öÀÖ°í ¸¶¿îÆ®µµ °¡´ÉÇÕ´Ï´Ù. ºÎÆýà ·¥µð½ºÅ©¸¦ ÀÌ¿ëÇÒ °æ¿ì(¸®´ª½º ¹èÆ÷º»À̳ª º¹±¸¿ë µð½ºÅ©¿¡¼­ ÁÖ·Î »ç¿ëµË´Ï´Ù), µð½ºÅ© À̹ÌÁö(µð½ºÅ©ÀÇ Àüü ³»¿ëÀ» ÇϳªÀÇ ÆÄÀÏ·Î ¸¸µç °Í)°¡ ºÎÆ®Ç÷ÎÇÇ»ó¿¡ ¾ÐÃàµÈ »óÅ·ΠÀ§Ä¡ÇÏ°í ÀÖ½À´Ï´Ù. ºÎÆÃÀÌ ½ÃÀ۵Ǹé Ä¿³Î¿¡ ÀÇÇØ ÀÌ°ÍÀÌ ÀÚµ¿ÀûÀ¸·Î ¾ÐÃàÀÌ Ç®¸®¸é¼­ ·¥µð½ºÅ©·Î ·ÎµùµÈ ÈÄ ¸¶¿îÆ®µÇ°Ô µË´Ï´Ù. Ãʱ⠷¥µð½ºÅ© µð¹ÙÀ̽º(Initial Ramdisk) ¸®´ª½ºÀÇ Ãʱ⠷¥µð½ºÅ©(Initial Ramdisk) µð¹ÙÀ̽º´Â ·çÇÁ¹é µð¹ÙÀ̽º¸¦ ·çÆ® ÆÄÀϽýºÅÛÀ¸·Î »ç¿ëÇϴµ¥ ÇÊ¿äÇÑ Áß¿äÇÑ ¸ÞÄ«´ÏÁòÀÔ´Ï´Ù. Ãʱ⠷¥µð½ºÅ©°¡ »ç¿ëµÇ¸é, ÆÄÀϽýºÅÛ À̹ÌÁö´Â ¸Þ¸ð¸®·Î º¹»çµÈ ÈÄ ¸¶¿îÆ®µÇ°í ±× È­ÀϵéÀ» ¾×¼¼½º ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. ·¥µð½ºÅ©»óÀÇ Æ¯Á¤ ÇÁ·Î±×·¥(/linuxrc)ÀÌ ½ÇÇàµÈ ÈÄ Á¾·áÇϸé, ÀÌÁ¦ ´Ù¸¥ µð¹ÙÀ̽º°¡ ·çÆ® ÆÄÀϽýºÅÛÀ¸·Î¼­ ¸¶¿îÆ®µÇ°Ô µË´Ï´Ù. ±âÁ¸ÀÇ ·¥µð½ºÅ© ¿ª½Ã °è¼Ó Á¸¼ÓÇÏÁö¸¸ ÀÌ°ÍÀº /initrd ¶ó´Â µð·ºÅ丮·Î ¸¶¿îÆ®µÇ°Å³ª ¾Æ´Ï¸é /dev/initrd µð¹ÙÀ̽º¸¦ ÅëÇØ °è¼Ó »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·± ¹æ½ÄÀº ´Ù¼Ò ÀÌ»óÇÏ°Ô º¸ÀÏ °ÍÀÔ´Ï´Ù. Á¤»óÀûÀÎ ºÎÆ®°úÁ¤À̶ó¸é ÁöÁ¤µÈ ·çÆ®ÆÄƼ¼ÇÀ» ¸¶¿îÆ®Çؼ­ ±×´ë·Î ½ÇÇàµÇ¸é µÉÅÙµ¥ ¿Ö ÀÌ·¸°Ô ·¥µð½ºÅ©¸¦ ¸ÕÀú ¸¶¿îÆ® Çؼ­ µ¿ÀÛ½ÃŲ ÈÄ ±×´ÙÀ½ ÁøÂ¥ ·çÆ®ÆÄƼ¼ÇÀ» ¸¶¿îÆ®ÇÒ±î¿ä? ±× ÀÌÀ¯´Â Ãʱ⠷¥µð½ºÅ©ÀÇ ¿É¼ÇÀ» »ç¿ëÇϸé ÁøÂ¥ ºÎÆ® °úÁ¤À» ½ÃÀÛÇϱ⿡ ¾Õ¼­ ·çÆ®ÆÄƼ¼ÇÀ» º¯°æÇÒ ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù. ·çÆ® ÆÄÀϽýºÅÛ ·çÆ® ÆÄÀϽýºÅÛÀ̶õ ºÎÆÃÀÌ ³¡³­ÈÄ / µð·ºÅ丮·Î ¸¶¿îÆ®µÇ´Â µð¹ÙÀ̽º¸¦ ¸»ÇÕ´Ï´Ù. ·çÆ® ÆÄÀϽýºÅÛÀº ´Ù¸¥ ¸ðµç ÆÄÀϵéÀ» Æ÷ÇÔÇÏ°Ô µÇ´Â °ü°è·Î ´Ù¼Ò º¹ÀâÇÑ ¸éÀÌ ÀÖ½À´Ï´Ù. rc ½ºÅ©¸³Æ® ÆÄÀϵéÀ» ºÎÆÃÇÒ ¶§, À̵éÀº /etc/rc.d ³ª /etc/rc?.d µî¿¡ À§Ä¡ÇÕ´Ï´Ù. ÀÌ´Â /etc/init ÇÁ·Î±×·¥ÀÇ ¹öÀü¿¡ µû¶ó Á¶±Ý¾¿ ´Ù¸¨´Ï´Ù. ½Ã½ºÅÛÀÌ ÀÏ´Ü ºÎÆ®µÈ ÈÄ¿¡´Â ·çÆ®ÆÄƼ¼ÇÀ» ¾ð¸¶¿îÆ®Çϰųª º¯°æÇÏ´Â °ÍÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù. ¿Ö³ªÇÏ¸é ´Ù¸¥ ¸ðµç ÇÁ·Î±×·¥ÀÌ ÀÌ¹Ì ÀÌ ·çÆ®ÆÄƼ¼ÇÀ» »ç¿ëÇÏ°í Àֱ⠶§¹®ÀÔ´Ï´Ù. À̶§¹®¿¡ Ãʱ⠷¥µð½ºÅ© À̹ÌÁö°¡ À¯¿ëÇÑ °ÍÀÔ´Ï´Ù. Ãʱ⠷¥µð½ºÅ©¸¦ ÀÌ¿ëÇϸé ÃÖÁ¾ÀûÀÎ ·çÆ® ÆÄƼ¼ÇÀ» ºÎÆ®½ÃÀÛ½ÃÀÇ °Í°ú ´Þ¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸®´ª½ºÀÇ ºÎÆ®°úÁ¤ ºÎÆýà Ãʱ⠷¥µð½ºÅ©ÀÇ µ¿ÀÛ°úÁ¤À» ¾Æ·¡¿¡ ¼ø¼­´ë·Î ¼­¼úÇÏ°Ú½À´Ï´Ù. Ä¿³ÎÀÌ ¸Þ¸ð¸®·Î ·ÎµåµÈ´Ù. ÀÌ ÀÏÀº LILO ³ª LOADLIN µîÀÇ ºÎÆ®·Î´õ°¡ ´ã´çÇÑ´Ù. ÀÌ °úÁ¤¿¡¼­ Loading... À̶ó´Â ¸Þ½ÃÁö¸¦ º¼¼ö ÀÖÀ» °ÍÀÌ´Ù. ·¥µð½ºÅ© À̹ÌÁö°¡ ¸Þ¸ð¸®·Î ·ÎµåµÈ´Ù. ÀÌ ÀÏ ¿ª½Ã LILO ³ª LOADLIN ÀÌ ´ã´çÇÑ´Ù. ¿©±â¼­µµ Loading... À̶ó´Â ¸Þ½ÃÁö°¡ ³ªÅ¸³¯ °ÍÀÌ´Ù. Ä¿³ÎÀÌ ÃʱâÈ­µÈ´Ù. ÀÌ °úÁ¤¿¡¼­ ¸í·ÉÇàÀÇ ¿É¼ÇµéÀÌ Çؼ®µÇ°í ·¥µð½ºÅ©¸¦ ·çÆ®µð¹ÙÀ̽º·Î ¼³Á¤ÇÏ°Ô µÈ´Ù. Ãʱ⠷¥µð½ºÅ©»óÀÇ /linuxrc ¶ó´Â ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÈ´Ù. ·çÆ® µð¹ÙÀ̽º°¡ Ä¿³Î ÆĶó¸ÞÅÍ¿¡ ¼³Á¤µÈ ´ë·Î º¯°æµÈ´Ù. ÃʱâÈ­ ÇÁ·Î±×·¥ÀÎ /etc/init °¡ ½ÇÇàµÇ¾î »ç¿ëÀÚ°¡ ¼³Á¤ÇÑ ºÎÆ®°úÁ¤À» ¼öÇàÇÑ´Ù. À̻󿡼­ Ãʱ⠷¥µð½ºÅ©¸¦ »ç¿ëÇÑ ºÎÆðúÁ¤À» °£·«È÷ ¼³¸íÇÏ¿´½À´Ï´Ù. °£·«ÇÑ ¼³¸íÀ̾úÁö¸¸ Ä¿³ÎÀÌ ¾î¶»°Ô ±âµ¿µÇ°í Ãʱ⠷¥µð½ºÅ©°¡ ¾îµð¿¡¼­ »ç¿ëµÇ´ÂÁö¸¦ ¼³¸íÇϴµ¥´Â ÃæºÐÇÕ´Ï´Ù. ·çÇÁ¹é ·çÆ® µð¹ÙÀ̽º ¸¸µé±â ÀÌÁ¦ ·çÇÁ¹é µð¹ÙÀ̽º¸¦ ¸¸µå´Â ÀϹÝÀûÀÎ ¿ø¸®¸¦ ¼³¸íÇÏ°Ú½À´Ï´Ù. ÇÊ¿äÇÑ °Íµé ·çÇÁ¹é ·çÆ® µð¹ÙÀ̽º¸¦ ¸¸µé·Á¸é ´ÙÀ½ ¸î°¡Áö°¡ ÇÊ¿äÇÕ´Ï´Ù. ÀÛ¾÷¿¡ »ç¿ëÇÒ ¸®´ª½º ½Ã½ºÅÛ ´ëÇü ÆÄÀϵéÀ» ¸ñÇ¥ ÆÄƼ¼ÇÀÎ DOS ÆÄƼ¼ÇÀ¸·Î º¹»çÇÒ ¼ö´Ü °¡Àå Áß¿äÇÑ °ÍÀº ¿ì¸®ÀÇ ÀÛ¾÷¿¡ »ç¿ëÇÒ ¸®´ª½º ½Ã½ºÅÛÀÔ´Ï´Ù. ·çÇÁ µð¹ÙÀ̽º´Â ¿ÀÁ÷ ¸®´ª½º¿¡¼­¸¸ Á¦ÀÛÇÒ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸®´ª½º ½Ã½ºÅÛÀº Ä¿³Î ÄÄÆÄÀÏÀÌ °¡´ÉÇØ¾ß ÇÕ´Ï´Ù. ÀÏ´Ü ·çÇÁ¹é µð¹ÙÀ̽º°¡ ¸¸µé¾îÁö¸é ÀÌ°ÍÀº ¸Å¿ì µ¢Ä¡Å« ÆÄÀÏ ÇÑ°³°¡ µË´Ï´Ù. ÇÊÀÚ´Â 80 MB Â¥¸® ÆÄÀÏ ÇÑ°³¸¦ »ç¿ëÇß½À´Ï´Ù. ÇÏÁö¸¸ X Å͹̳ÎÀ» µ¹¸± »ý°¢À̶ó¸é À̰ɷεµ ºÎÁ·Çϸç ÈξÀ ¸¹Àº ¿ë·®ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ ÆÄÀÏÀº ÃÖÁ¾ÀûÀ¸·Î´Â DOS ÆÄƼ¼ÇÀ¸·Î º¹»çµÉ °ÍÀÔ´Ï´Ù. µû¶ó¼­ ÀÌ ÀÛ¾÷À» À§Çؼ­´Â ³×Æ®¿÷À» ¾²µçÁö ¾Æ´Ï¸é »ó´ç¼öÀÇ Ç÷ÎÇÇ µð½ºÄÏÀÌ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù. ÇÊ¿äÇÑ ¼ÒÇÁÆ®¿þ¾î´Â ´ÙÀ½°ú °°½À´Ï´Ù. LOADLIN ¹öÀü 1.6 ÀÌ»ó ·çÇÁ¹é µð¹ÙÀ̽º¸¦ Áö¿øÇÏ´Â ¹öÀüÀÇ mount ÇÊ¿äÇÑ ¿É¼ÇµéÀ» Áö¿øÇÏ´Â ¹öÀüÀÇ Ä¿³Î ÀÌ ¸ðµç °ÍµéÀº ÃÖ±ÙÀÇ ¸®´ª½º ¹èÆ÷º»¿¡´Â ±âº»ÀûÀ¸·Î µé¾îÀÖ½À´Ï´Ù. ¸®´ª½º Ä¿³ÎÀ» ¸¸µé±â ÇÊÀÚ´Â ¸®´ª½º Ä¿³Î ¹öÀü 2.0.31 À» ½á¼­ ·çÇÁ¹é µð¹ÙÀ̽º¸¦ ¸¸µé¾ú½À´Ï´Ù. ´Ù¸¥ ¹öÀüµéµµ ¹°·Ð µË´Ï´Ù¸¸ ÃÖ¼ÒÇÑ ´ÙÀ½ÀÇ ¿É¼ÇµéÀº °¡Áö°í ÀÖ¾î¾ß¸¸ ÇÕ´Ï´Ù. ÇÊ¿äÇÑ Ä¿³Î ¿É¼ÇµéÀº ´ÙÀ½°ú °°½À´Ï´Ù. ·¥ µð½ºÅ© Áö¿ø(CONFIG_BLK_DEV_RAM). Ãʱ⠷¥µð½ºÅ© Áö¿ø(CONFIG_BLK_DEV_INITRD). ·çÇÁ µð¹ÙÀ̽º Áö¿ø(CONFIG_BLK_DEV_LOOP). fat ÆÄÀϽýºÅÛ Áö¿ø(CONFIG_FAT_FS). msdos ÆÄÀϽýºÅÛ Áö¿ø(CONFIG_MSDOS_FS). óÀ½ÀÇ µÎ°¡Áö´Â ·¥µð½ºÅ© µð¹ÙÀ̽º¿Í Ãʱ⠷¥µð½ºÅ© µð¹ÙÀ̽º¸¦ À§ÇÑ °ÍÀÔ´Ï´Ù. ±×´ÙÀ½ °ÍÀº ·çÇÁ¹é È­ÀϽýºÅÛÀ» À§ÇÑ °ÍÀÔ´Ï´Ù. ¸¶Áö¸· µÎ°³´Â µµ½º ÆÄƼ¼ÇÀ» ¸¶¿îÆ®Çϴµ¥ ÇÊ¿äÇÑ °ÍÀÔ´Ï´Ù. ¸ðµâÀ» »ç¿ëÇÏÁö ¾Ê´Â Ä¿³ÎÀ» ¸¸µå´Â°Ô °¡Àå ½¬¿î ¹æ¹ýÀÔ´Ï´Ù. ÇÏÁö¸¸ ¿øÇϽŴٸé ÇÊÀÚ´Â Çغ¸Áö ¾Ê¾ÒÁö¸¸ ¸ðµâÀ» ¾µ¼öµµ ÀÖÀ» °ÍÀÔ´Ï´Ù. ¸¸ÀÏ ¸ðµâÀÌ »ç¿ëµÈ´Ù¸é ÃÖ¼ÒÇÑ À§ÀÇ ¿É¼Çµé¸¸Àº ¸ðµâ·Î ¼³Á¤µÇ¼­´Â ¾ÈµÇ¸ç Ä¿³Î³»¿¡ Æ÷ÇÔ½ÃÄÑ¾ß ÇÕ´Ï´Ù. Ä¿³Î ¹öÀü¿¡ µû¶ó¼­´Â Ä¿³Î ÆÐÄ¡°¡ ÇÊ¿äÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ·çÇÁ¹é µð¹ÙÀ̽º¸¦ ·çÆ® ÆÄÀϽýºÅÛÀ¸·Î »ç¿ëÇÒ¼ö ÀÖ°Ô ÇØÁÖ´Â ÆÐÄ¡´Â ¹«Ã´ °£´ÜÇÕ´Ï´Ù. ¹öÀü 2.0.0 ÀÌÀüÀÇ Ä¿³Î; ÇÊÀÚ´Â ÀÌ¿¡ ´ëÇؼ­´Â ¸ð¸¨´Ï´Ù. ¹öÀü 2.0.0 ºÎÅÍ 2.0.34 ÀÇ Ä¿³Î; ¾Æ·¡ÀÇ 2.0.x ¿ë Ä¿³Î ÆÐÄ¡°¡ ÇÊ¿ä. ¹öÀü 2.0.35 ºÎÅÍ 2.0.x ÀÇ Ä¿³Î; Ä¿³Î ÆÐÄ¡°¡ ÇÊ¿ä¾øÀ½. ¹öÀü 2.1.x ÀÇ Ä¿³Î; 2.1.x ÀÇ Á¤È®ÇÑ ¹öÀü¿¡ µû¶ó ¾Æ·¡ÀÇ 2.0.x ÆÐÄ¡³ª 2.2.x ÆÐÄ¡¸¦ Àû¿ë½ÃÄÑ¾ß ÇÔ. ¹ö³Í 2.2.0 ºÎÅÍ 2.2.10 ÀÇ Ä¿³Î; ¾Æ·¡ÀÇ 2.2.x ¿ë Ä¿³Î ÆÐÄ¡°¡ ÇÊ¿ä. 2.0.x Ä¿³ÎÀÇ /init/main.c ÆÄÀÏ¿¡ ¾Æ·¡Ã³·³ ¼öÁ¤µÈ ÇÑ ¶óÀÎÀ» µ¡ºÙ¿©¾ß ÇÕ´Ï´Ù. ÀÌ ¶óÀÎÀº "loop", 0x0700 ÀÔ´Ï´Ù. static void parse_root_dev(char * line) { int base = 0; static struct dev_name_struct { const char *name; const int num; } devices[] = { { "nfs", 0x00ff }, { "loop", 0x0700 }, { "hda", 0x0300 }, ... { "sonycd", 0x1800 }, { NULL, 0 } }; ... } 2.2.x Ä¿³ÎµéÀº /init/main.c ÆÄÀÏ¿¡ ´ÙÀ½ ¼¼ÁÙÀÌ Ãß°¡µÇ¾î¾ß ÇÕ´Ï´Ù. Ãß°¡µÇ´Â ¶óÀεéÀº "loop", 0x0700 °ú ±× À§¾Æ·¡ ÇÑÁÙ¾¿µéÀÔ´Ï´Ù. static struct dev_name_struct { const char *name; const int num; } root_dev_names[] __initdata = { #ifdef CONFIG_ROOT_NFS { "nfs", 0x00ff }, #endif #ifdef CONFIG_BLK_DEV_LOOP { "loop", 0x0700 }, #endif #ifdef CONFIG_BLK_DEV_IDE { "hda", 0x0300 }, ... { "ddv", DDV_MAJOR << 8}, #endif { NULL, 0 } }; ÀÏ´Ü Ä¿³Î ¼³Á¤ÀÌ ³¡³ª¸é ÄÄÆÄÀÏÇؼ­ zImage ÆÄÀÏÀ» ¸¸µé¾î¾ß ÇÕ´Ï´Ù(make zImage ¸í·É). ÄÄÆÄÀÏÀÌ ³¡³ª¸é ÀÌ ÆÄÀÏÀº arch/i386/boot/zImage ¿¡ À§Ä¡ÇÒ °ÍÀÔ´Ï´Ù. Ãʱ⠷¥µð½ºÅ© µð¹ÙÀ̽º ¸¸µé±â Ãʱ⠷¥µð½ºÅ©´Â ·çÇÁ¹é µð¹ÙÀ̽º¸¦ »ç¿ëÇØ ¾ÆÁÖ ½±°Ô ¸¸µé¼ö ÀÖ½À´Ï´Ù. ¾Æ·¡ÀÇ ¸í·ÉµéÀ» ½ÇÇà½ÃÅ°±â À§Çؼ­´Â ·çÆ® ±ÇÇÑÀ» °¡Á®¾ß ÇÕ´Ï´Ù. ·çÆ®ÀÇ µð·ºÅ丮(/root)¿¡¼­ ½ÇÇàÇÑ´Ù°í °¡Á¤ÇÏ°Ú½À´Ï´Ù. mkdir /root/initrd dd if=/dev/zero of=initrd.img bs=1k count=1024 mke2fs -i 1024 -b 1024 -m 5 -F -v initrd.img mount initrd.img /root/initrd -t ext2 -o loop cd initrd [create the files] cd .. umount /root/initrd gzip -c -9 initrd.img > initrdgz.img À§ÀÇ ´Ü°èµéÀ» Çؼ³ÇÏ¸é ´ÙÀ½°ú °°½À´Ï´Ù. Ãʱ⠷¥µð½ºÅ©¸¦ À§ÇÑ ¸¶¿îÆ® Æ÷ÀÎÆ®¸¦ ¸¸µé¾î ÁÝ´Ï´Ù. µð·ºÅ丮¸¸ ¸¸µé¾î ÁÖ¸é µË´Ï´Ù. ÇÊ¿äÇÑ Å©±âÀÇ ºó È­ÀÏÀ» ¸¸µì´Ï´Ù. ÇÊÀÚ´Â 1024 KB ¸¦ »ç¿ëÇϴµ¥ »ç¿ëÀÚÀÇ ÇÊ¿ä¿¡ µû¶ó ´Ù¼Ò °¡°¨Çصµ ÁÁ½À´Ï´Ù(Å©±â¸¦ °áÁ¤ÇÏ´Â °ÍÀº Á¦ÀÏ ¸¶Áö¸· ÆĶó¸ÞÅÍÀÔ´Ï´Ù). ºó ÆÄÀÏ À§¿¡ ext2 ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µì´Ï´Ù. ·çÇÁ¹é µð¹ÙÀ̽º¸¦ »ç¿ëÇØ ¸¶¿îÆ® Æ÷ÀÎÆ®¿¡ ÆÄÀÏÀ» ¸¶¿îÆ®ÇÕ´Ï´Ù. ¸¶¿îÆ®µÈ ·çÇÁ¹é µð¹ÙÀ̽º·Î À̵¿ÇÕ´Ï´Ù. ÇÊ¿äÇÑ ÆÄÀϵéÀ» ¸¸µì´Ï´Ù(ÀÚ¼¼ÇÑ °ÍÀº ¾Æ·¡¿¡). ¸¶¿îÆ®µÈ ·çÇÁ¹é µð¹ÙÀ̽º¿¡¼­ ºüÁ®³ª¿É´Ï´Ù. µð¹ÙÀ̽º¸¦ ¾ð¸¶¿îÆ®ÇÕ´Ï´Ù. ³ªÁß¿¡ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¾ÐÃàµÈ ¹öÀüÀ¸·Î ¸¸µì´Ï´Ù. Ãʱ⠷¥µð½ºÅ©¿¡ µé¾î°¥ ³»¿ë¹° ·¥µð½ºÅ©¿¡ ³Ö¾îµÎ¾î¾ß ÇÒ ÆÄÀϵéÀº µÉ¼öÀÖ´Â ÇÑ ÀûÀº°Ô ÁÁ½À´Ï´Ù. ÇÏÁö¸¸ ÇÊ¿äÇÑ ¸í·É¾îµéÀ» ¼öÇàÇÒ ¼ö´Â ÀÖ¾î¾ß °ÚÁö¿ä. /linuxrc ´Â msdos ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¶¿îÆ®Çϱâ À§ÇÑ ½ºÅ©¸³Æ®ÀÔ´Ï´Ù(¾Æ·¡¸¦ º¸¼¼¿ä). /lib/* ÇÁ·Î±×·¥µé¿¡ ÇÊ¿äÇÑ µ¿Àû ¸µÄ¿¿Í ¶óÀ̺귯¸®µé /etc/* µ¿Àû ¸µÄ¿¿¡ »ç¿ëµÇ´Â ij½¬(¹Ýµå½Ã ÇÊ¿äÇÏ´Ù°í ´ÜÁ¤ÇÒ ¼ö´Â ¾øÁö¸¸ ¸µÄ¿ÀÇ Åõ´ú°Å¸²À» ¾ø¾Ù¼ö ÀÖ½À´Ï´Ù). /bin/* ½© Çؼ®±â (ash °¡ bash º¸´Ù Å©±â°¡ À۾Ƽ­ ¼±È£µË´Ï´Ù. mount °ú losetup ÇÁ·Î±×·¥µéÀº °¢°¢ DOS µð½ºÅ©¿Í ·çÇÁ¹é µð¹ÙÀ̽ºµéÀ» ´Ù·ê ¶§ ÇÊ¿äÇÕ´Ï´Ù. /dev/* ÇÊ¿äÇÑ µð¹ÙÀ̽ºµé. ld-linux.so ¸¦ À§Çؼ­´Â /dev/zero °¡ ÇÊ¿äÇÏ°í, msdos µð½ºÅ©¸¦ ¸¶¿îÆ®Çϱâ À§Çؼ­´Â /dev/hda* ÀÌ ÇÊ¿äÇϸç, ·çÇÁ¹é µð¹ÙÀ̽º¸¦ À§Çؼ­´Â /dev/loop* ÀÌ ÇÊ¿äÇÕ´Ï´Ù. /mnt msdos µð½ºÅ©¸¦ ¸¶¿îÆ®ÇÒ ºó µð·ºÅ丮 ÇÊÀÚ°¡ »ç¿ëÇÏ´Â Ãʱ⠷¥µð½ºÅ©ÀÇ ³»¿ëÀº ¾Æ·¡¿Í °°½À´Ï´Ù. ÆÄÀϽýºÅÛÀÇ ¿À¹öÇìµå±îÁö ÇÕÃÄ ¾à 800 KB Á¤µµ°¡ µË´Ï´Ù. total 18 drwxr-xr-x 2 root root 1024 Jun 2 13:57 bin drwxr-xr-x 2 root root 1024 Jun 2 13:47 dev drwxr-xr-x 2 root root 1024 May 20 07:43 etc drwxr-xr-x 2 root root 1024 May 27 07:57 lib -rwxr-xr-x 1 root root 964 Jun 3 08:47 linuxrc drwxr-xr-x 2 root root 12288 May 27 08:08 lost+found drwxr-xr-x 2 root root 1024 Jun 2 14:16 mnt ./bin: total 168 -rwxr-xr-x 1 root root 60880 May 27 07:56 ash -rwxr-xr-x 1 root root 5484 May 27 07:56 losetup -rwsr-xr-x 1 root root 28216 May 27 07:56 mount lrwxrwxrwx 1 root root 3 May 27 08:08 sh -> ash ./dev: total 0 brw-r--r-- 1 root root 3, 0 May 20 07:43 hda brw-r--r-- 1 root root 3, 1 May 20 07:43 hda1 brw-r--r-- 1 root root 3, 2 Jun 2 13:46 hda2 brw-r--r-- 1 root root 3, 3 Jun 2 13:46 hda3 brw-r--r-- 1 root root 7, 0 May 20 07:43 loop0 brw-r--r-- 1 root root 7, 1 Jun 2 13:47 loop1 crw-r--r-- 1 root root 1, 3 May 20 07:42 null crw-r--r-- 1 root root 5, 0 May 20 07:43 tty crw-r--r-- 1 root root 4, 1 May 20 07:43 tty1 crw-r--r-- 1 root root 1, 5 May 20 07:42 zero ./etc: total 3 -rw-r--r-- 1 root root 2539 May 20 07:43 ld.so.cache ./lib: total 649 lrwxrwxrwx 1 root root 18 May 27 08:08 ld-linux.so.1 -> ld-linux.so.1.7.14 -rwxr-xr-x 1 root root 21367 May 20 07:44 ld-linux.so.1.7.14 lrwxrwxrwx 1 root root 14 May 27 08:08 libc.so.5 -> libc.so.5.3.12 -rwxr-xr-x 1 root root 583795 May 20 07:44 libc.so.5.3.12 ./lost+found: total 0 ./mnt: total 0 À¯ÀÏÇÏ°Ô º¹ÀâÇÑ ´Ü°è´Â dev ÀÇ µð¹ÙÀ̽ºµé¿¡ °üÇÑ °ÍÀÔ´Ï´Ù. mknod ÇÁ·Î±×·¥À» ½á¾ß ÀÌ µð¹ÙÀ̽ºµéÀ» ¸¸µé¼ö Àִµ¥, ÇöÀç ½Ã½ºÅÛÀÇ /dev ¿¡ ÀÖ´Â µð¹ÙÀ̽ºµéÀÇ ÆĶó¸ÞÅ͸¦ ±×´ë·Î º£³¢¸é µË´Ï´Ù. /linuxrc ÆÄÀÏ ¾Æ·¡ÀÇ ¿¹¿¡¼­´Â msdos ÆÄƼ¼ÇÀ¸·Î¼­ /dev/hda1 À» ¸¶¿îÆ®ÇÕ´Ï´Ù. ¸¶¿îÆ®¿¡ ¼º°øÇϸé /dev/loop0 ¿¡ /linux/linuxdsk.img ¸¦ ÁöÁ¤ÇÏ°í /dev/loop1 ¿¡ /linux/linuxswp.img À» ÁöÁ¤ÇÕ´Ï´Ù. #!/bin/sh echo INITRD: Trying to mount /dev/hda1 as msdos if /bin/mount -n -t msdos /dev/hda1 /mnt; then echo INITRD: Mounted OK /bin/losetup /dev/loop0 /mnt/linux/linuxdsk.img /bin/losetup /dev/loop1 /mnt/linux/linuxswp.img exit 0 else echo INITRD: Mount failed exit 1 fi ù¹ø° µð¹ÙÀ̽º /dev/loop0 ´Â ·çÆ® µð¹ÙÀ̽º°¡ µÇ°í µÎ¹ø° µð¹ÙÀ̽º /dev/loop1 Àº ½º¿Ò °ø°£ÀÌ µË´Ï´Ù. ºÎÆÃÁ¾·áÈÄ ·çÆ®±ÇÇÑÀÌ ¾Æ´Ñ ÀÏ¹Ý »ç¿ëÀÚ°¡ µµ½ºÆÄƼ¼Ç¿¡ ¾²±â°¡´ÉÇÏ·Á¸é ´ë½Å mount -n -t msdos /dev/hda1 /mnt -o uid=0,gid=0,umask=000,quiet À» ½á¾ß ÇÕ´Ï´Ù. ÀÌ°ÍÀº µµ½º ÆÄƼ¼Ç¿¡ ´ëÇÑ ¸ðµç ¾×¼¼½º¸¦ ·çÆ®±ÇÇÑÀ¸·Î º¯È¯½ÃÄÑ ÆÛ¹Ì¼Ç ¹®Á¦¸¦ ÇØ°áÇÕ´Ï´Ù. ·çÆ® µð¹ÙÀ̽º ¸¸µé±â ´ç½ÅÀÌ »ç¿ëÇÒ ·çÆ® µð¹ÙÀ̽º´Â linuxdsk.img À̶ó´Â ÆÄÀÏÀÔ´Ï´Ù. À§ÀÇ Ãʱ⠷¥µð½ºÅ© Á¦ÀÛ°ú ¶È°°Àº ¹æ¹ýÀ¸·Î ¸¸µé¸é µÇ´Âµ¥, ´Ù¸¸ ÀÌ ÆÄÀÏÀº ÈξÀ Å®´Ï´Ù. ¿øÇÏ´Â ¾î¶² ¸®´ª½º ½Ã½ºÅÛÀÌ¶óµµ ÀÌ µð½ºÅ©À§¿¡ ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. °¡Àå ½¬¿î ¹æ¹ýÀº ÇöÀçÀÇ ¸®´ª½º ½Ã½ºÅÛÀ» ±×´ë·Î À̸®·Î º¹»çÇسִ °ÍÀÔ´Ï´Ù. ´Ù¸¥ ¹æ¹ýÀ¸·Î´Â ÀÌ À§¿¡´Ù »õ·Î¿î ¸®´ª½º ½Ã½ºÅÛÀ» ÀνºÅçÇÏ´Â °ÍÀÔ´Ï´Ù. ¿©±â±îÁö ´Ù ¿Ï·áÇß´Ù¸é ÀÌÁ¦ ´ÙÀ½ÀÇ ¸î°¡Áö ÀÚÀßÇÑ ¼öÁ¤À» ÇØÁÖ¾î¾ß¸¸ ÇÕ´Ï´Ù. /etc/fstab ÆÄÀÏÀº ¹Ýµå½Ã ·çÆ®ÆÄƼ¼Ç°ú ½º¿ÒÆÄƼ¼ÇÀÌ Ãʱⷥµð½ºÅ©·Î ¼Â¾÷µÈ ·çÇÁ µð¹ÙÀ̽ºµéÀÓÀ» ±â·ÏÇÏ°í ÀÖ¾î¾ß¸¸ ÇÕ´Ï´Ù. /dev/loop0 / ext2 defaults 1 1 /dev/loop1 swap swap defaults 1 1 ÀÌ´Â ÁøÂ¥ ·çÇÁ µð¹ÙÀ̽º°¡ »ç¿ëµÉ ¶§ Ä¿³ÎÀÌ ·çÆ® µð¹ÙÀ̽ºÀÇ À§Ä¡¸¦ È¥µ¿ÇÏÁö ¾Êµµ·Ï ÇØÁÝ´Ï´Ù. ¶ÇÇÑ ½º¿Ò °ø°£ÀÌ º¸ÅëÀÇ ÀϹÝÀûÀÎ ½º¿Ò ÆÄƼ¼Çó·³ »ç¿ëµÇ°Ô ÇØÁÝ´Ï´Ù. À̵é ÀÌ¿ÜÀÇ ¶Ç´Ù¸¥ ·çÆ® µð¹ÙÀ̽º³ª ½º¿Ò ÆÄƼ¼Ç¿¡ ´ëÇÑ ÁöÁ¤ÀÌ À־´Â ¾ÈµË´Ï´Ù. ¸®´ª½º°¡ °¡µ¿µÈ ÈÄ µµ½ºÆÄƼ¼ÇÀ» ÀÐÀ¸·Á¸é ¸î°¡Áö Ãß°¡ÀûÀÎ ÀÛÀº ¼öÁ¤ÀÌ ÇÊ¿äÇÕ´Ï´Ù. /initrd À̶ó´Â µð·ºÅ丮¸¦ ¸¸µé¾î ÁֽʽÿÀ. ÀÌ°ÍÀº ·çÇÁ¹é ·çÆ® ÆÄÀϽýºÅÛÀÌ ÀÏ´Ü ¸¶¿îÆ® µÈ ÈÄ Ãʱ⠷¥µð½ºÅ©°¡ ¸¶¿îÆ®µÇ´Â À§Ä¡ÀÔ´Ï´Ù. /DOS °°Àº ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µé¾î ÁøÂ¥ µµ½º ÆÄƼ¼ÇÀÌ ¸¶¿îÆ® µÇ´Â /initrd/mnt ·Î ¸µÅ©½ÃÅ°½Ê½Ã¿ä. µð½ºÅ©µéÀ» ¸¶¿îÆ®½ÃÅ°´Â ½ºÅ©¸³Æ® ÇÑÁÙÀ» rc ÆÄÀÏ¿¡ Ãß°¡Çϼ¼¿ä. ÀÌ´Â mount -f -t msdos /dev/hda1 /initrd/mnt °°Àº ¸í·ÉÀÌ¸é µË´Ï´Ù. ÀÌ°ÍÀº µµ½º ÆÄƼ¼ÇÀ» °¡Â¥(fake)·Î ¸¶¿îÆ®½ÃÅ°´Â °ÍÀε¥ ÀÌ·¸°Ô ÇÏ¸é ¸ðµç ÇÁ·Î±×·¥µé(°¡·É df)ÀÌ µµ½º ÆÄƼ¼ÇÀÌ ¿©±â¿¡ ÀÖ´Â °ÍÀ¸·Î ¾Ë°ÔµË´Ï´Ù. ¸¸ÀÏ ´ç½ÅÀÌ /linuxrc ÆÄÀϳ»¿¡¼­ ´Ù¸¥ ¿É¼ÇµéÀ» ½è´Ù¸é ÇÊÈ÷ ¿©±â¿¡µµ ±×°ÍµéÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ·çÆ® µð¹ÙÀ̽º»ó¿¡ Ä¿³ÎÀÌ ÀÖÀ» ÇÊ¿ä´Â ÀüÇô ¾ø½À´Ï´Ù. ¿Ö³ÄÇϸé Ä¿³ÎÀº ÀÌ¹Ì ±×Àü¿¡ ·ÎµåµÆ±â ¶§¹®ÀÌ´Ù. ÇÏÁö¸¸ ´ç½ÅÀÌ Ä¿³Î ¸ðµâÀ» »ç¿ëÇÑ´Ù¸é ¸ðµâµéÀ» ·çÆ®µð¹ÙÀ̽º¿¡ Æ÷ÇÔ½ÃÄÑ¾ß ÇÕ´Ï´Ù. ½º¿Ò µð¹ÙÀ̽º ¸¸µé±â ´ç½ÅÀÌ »ç¿ëÇÒ µð¹ÙÀ̽º´Â linuxswap.imgÀÔ´Ï´Ù ÀÌ ½º¿Ò µð¹ÙÀ̽º´Â ±ØÈ÷ °£´ÜÇÏ°Ô ¸¸µé¼ö ÀÖ½À´Ï´Ù. À§¿¡¼­Ã³·³ ºó ÆÄÀÏ Çϳª¸¦ Ãʱ⠷¥µð½ºÅ©¿ëÀ¸·Î ¸¸µç ÈÄ mkswap linuxswap.img Çؼ­ ÃʱâÈ­½ÃÅ°½Ê½Ã¿À. ½º¿Ò °ø°£ÀÇ Å©±â´Â ¼³Ä¡ÇÑ ½Ã½ºÅÛÀ¸·Î ´ç½ÅÀÌ ¹«½¼ ÀÏÀ» ÇÒ°ÍÀΰ¡¿¡ µû¶ó ´Ù¸¨´Ï´Ù. ÇÏÁö¸¸ ÇÊÀÚ´Â 8 MB ºÎÅÍ ´ç½ÅÀÌ °¡Áø ·¥¿ë·® »çÀÌÀÇ °ªÀ» ÃßõÇÏ°Ú½À´Ï´Ù. MSDOS µð·ºÅ丮 ¸¸µé±â »ç¿ëµÉ ÆÄÀϵéÀ» µµ½ºÆÄƼ¼Ç»óÀ¸·Î ¿Å°Ü¾ß ÇÕ´Ï´Ù. C:\LINUX ¶ó´Â µµ½º µð·ºÅ丮¿¡ ÇÊ¿äÇÑ ÆÄÀϵéÀº ´ÙÀ½°ú °°´Ù. LINUXDSK.IMG ·çÆ® µð¹ÙÀ̽º°¡ µÉ µð½ºÅ© À̹ÌÁö. LINUXSWP.IMG ½º¿Ò °ø°£ ºÎÆ® Ç÷ÎÇÇ ¸¸µé±â »ç¿ëµÉ ºÎÆ® Ç÷ÎÇÇ´Â ´Ü¼øÇÑ º¸ÅëÀÇ µµ½ºÆ÷¸Ë Ç÷ÎÇÇ ÇÑÀåÀÔ´Ï´Ù. ÀÌ°ÍÀº µµ½º»ó¿¡¼­ format a: /s ¸í·ÉÀ¸·Î ¸¸µì´Ï´Ù. ÀÌ µð½ºÅ© À§¿¡ ¾Æ·¡¿Í °°Àº AUTOEXEC.BAT ÆÄÀÏ°ú Ä¿³Î, ¾ÐÃàµÈ Ãʱ⠷¥µð½ºÅ©, LOADLIN ½ÇÇàÈ­ÀÏÀ» º¹»çÇØ ³Ö½À´Ï´Ù. AUTOEXEC.BAT µµ½ºÀÇ ÀÚµ¿½ÇÇàÈ­ÀÏ LOADLIN.EXE LOADLIN ½ÇÇàÈ­ÀÏ ZIMAGE ¸®´ª½º Ä¿³Î INITRDGZ.IMG ¾ÐÃàµÈ Ãʱ⠷¥µð½ºÅ© À̹ÌÁö AUTOEXEC.BAT ÆÄÀÏÀº ¾Æ·¡ÀÇ ÇÑÁÙÀ» Æ÷ÇÔÇؾ߸¸ ÇÕ´Ï´Ù. \loadlin \zImage initrd=\initrdgz.img root=/dev/loop0 ro ÀÌ°ÍÀº »ç¿ëÇÒ Ä¿³ÎÀ̹ÌÁö, ·¥µð½ºÅ© À̹ÌÁö, Ãʱ⠷¥µð½ºÅ©°¡ ³¡³­ÈÄÀÇ ·çÆ® µð¹ÙÀ̽º, ÀбâÀü¿ëÀ¸·Î ¸¶¿îÆ®µÇ´Â ·çÆ® ÆÄƼ¼ÇÀ» ÁöÁ¤ÇÑ °ÍÀÔ´Ï´Ù. ½Ã½ºÅÛÀÇ ºÎÆà ÀÌ »õ·Î¿î ·çÆ® µð¹ÙÀ̽º·Î ºÎÆ®Çϱâ À§Çؼ­´Â À§¿Í°°ÀÌ ÁغñµÈ Ç÷ÎÇÇ µð½ºÅ©¸¦ PC ¿¡ ³Ö°í ºÎÆÃÇÕ´Ï´Ù. ´ÙÀ½°ú °°Àº ÀÏÀÌ ÀϾÀ» º¼¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. DOS boots AUTOEXEC.BAT starts LOADLIN is run The Linux kernel is copied into memory The initial ramdisk is copied into memory The Linux kernel is started running The /linuxrc file on the initial ramdisk is run The DOS partition is mounted and the root and swap devices set up The boot sequence continues from the loopback device ÀÌ»ó°ú °°ÀÌ ¿Ï·áµÇ¸é ÀÌÁ¦ ºÎÆ® Ç÷ÎÇǸ¦ Á¦°ÅÇÏ°í ¸®´ª½º ½Ã½ºÅÛÀ» »ç¿ëÇÏ¸é µË´Ï´Ù. ¹ß»ýÇÒ ¼ö ÀÖ´Â ¹®Á¦µé À§ÀÇ °úÁ¤ÀÇ °¢ ´Ü°è¿¡¼­ÀÇ ½ÇÆп¡ ´ëÇØ ±× ÀÇ¹Ì¿Í Á¡°ËÇØ¾ß ¹Ù¸¦ ¼³¸íÇÏ°Ú½À´Ï´Ù. µµ½º ºÎÆÃÀº MS-DOS Sarting ... À̶ó´Â ¸Þ½ÃÁö°¡ È­¸é¿¡ ¶äÀ¸·Î¼­ ½±°Ô ¾Ë¼ö ÀÖ½À´Ï´Ù. ¸¸ÀÏ ÀÌ·± ¸Þ½ÃÁö°¡ È­¸é¿¡ ³ªÅ¸³ªÁö ¾Ê´Â´Ù¸é Ç÷ÎÇǵð½ºÅ©°¡ ºÎÆ®°¡´ÉÇÏ°Ô µÇ¾îÀÖÁö ¾Ê¾Ò°Å³ª PC °¡ Ç÷ÎÇÇ µð½ºÅ© ºÎÆÃÀÌ ¾ÈµÇµµ·Ï ¼³Á¤µÇ¾ú±â ¶§¹®ÀÔ´Ï´Ù. AUTOEXEC.BAT ÆÄÀϳ»ÀÇ ¸í·É¾îµéÀÌ ½ÇÇàµÉ ¶§´Â µðÆúÆ®·Î È­¸é¿¡ ³ªÅ¸³ªµµ·Ï µÇ¾îÀÖ½À´Ï´Ù. ¿ì¸®ÀÇ °æ¿ì LOADLIN ÇÑÁÙÀÌ ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù.. LOADLIN ÀÌ ½ÇÇàµÇ¸é¼­ È­¸é¿¡ Ãâ·ÂµÇ´Â ÀÛ¾÷ÀÌ µÎ°¡Áö ÀÖ½À´Ï´Ù. ¿ì¼± Ä¿³ÎÀÌ ¸Þ¸ð¸®·Î ·ÎµåµÇ´Â °ÍÀÌ°í, ±× ´ÙÀ½À¸·Î ·¥µð½ºÅ©°¡ ¸Þ¸ð¸®·Î º¹»çµÇ´Â °ÍÀÔ´Ï´Ù. ÀÌ µÎ ÀÛ¾÷ ¸ðµÎ Loading... ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÕ´Ï´Ù. Ä¿³ÎÀÌ ½º½º·ÎÀÇ ¾ÐÃàÀ» Ç®´Ù°¡ ¸¸¾à Ä¿³Î À̹ÌÁö°¡ ¼Õ»óµÈ °ÍÀ» ¹ß°ßÇϸé crc ¿¡·¯¸¦ ³»°Ô µË´Ï´Ù. ÀÌ»óÀÌ ¾ø´Ù¸é ±×´ÙÀ½À¸·Î ÃʱâÈ­ °úÁ¤À» Â÷·Ê·Î ¼öÇàÇÏ°Ô µÇ´Âµ¥ °¢ °úÁ¤¸¶´Ù Ä£ÀýÈ÷ Á¡°Ë»óȲÀ» ¾Ë·ÁÁÝ´Ï´Ù. Ãʱ⠷¥µð½ºÅ© µð¹ÙÀ̽ºÀÇ ·Îµù¿ª½Ã ÀÌ ´Ü°è¿¡¼­ ³ªÅ¸³³´Ï´Ù. ÀÌÁ¦ »õ·Î¿î ·çÆ® µð¹ÙÀ̽ºÀÇ Á¤»óÀûÀÎ ºÎÆ®°úÁ¤ÀÌ ¼Ó°³µÇ´Âµ¥ ÀÌ ¿ª½Ã Ä£ÀýÈ÷ ÁøÇà»óȲÀ» ¾Ë·ÁÁÝ´Ï´Ù. Àб⾲±â ¿ëÀ¸·Î ·çÆ®µð¹ÙÀ̽º¸¦ ¸¶¿îÆ®Çؼ­ ¹®Á¦°¡ »ý±æ¼ö ÀÖ´Ù¸é, LOADLIN ¸í·É¾î ¶óÀÎ ¿É¼ÇÀÎ 'ro'À» ½áÁÖ¸é À̸¦ ¹æÁöÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¹ÛÀÇ ÀϾ ¼ö ÀÖ´Â ¹®Á¦·Î´Â ºÎÆ®°úÁ¤½Ã ·çÆ® µð¹ÙÀ̽º¸¦ ¾îµð¿¡¼­ ã¾Æ¾ß ÇÏ´ÂÁö¸¦ ¸ð¸£´Â °æ¿ìÀε¥, ÀÌ´Â Çʽà /etc/fstab ¿¡ °ü·ÃµÈ ´ç½ÅÀÇ ½Ç¼öÀÏ °ÍÀÔ´Ï´Ù. ºÎÆ® °úÁ¤ÀÌ ¿Ï·áµÇ¸é ÀÌÁ¦ ¹®Á¦°¡ »ý±æ¼ö ÀÖ´Â ºÎºÐÀº ÇÁ·Î±×·¥µéÀÌ µµ½ºÆÄƼ¼ÇÀÇ ¸¶¿îÆ®µÇ¾ú´ÂÁö ¾Æ´ÑÁö¸¦ ¸ð¸£´Â °æ¿ì »ÓÀÔ´Ï´Ù. ÀÌ´Â ¾Õ¿¡¼­ ¼³¸íÇÑ °¡Â¥(fake) mount ¸í·ÉÀ» »ç¿ëÇÏ´Â °ÍÀÌ ÁÁÀº ¾ÆÀ̵ð¾î°¡ µË´Ï´Ù. À̸¦ ¾²¸é µµ½º µð¹ÙÀ̽º»óÀÇ ÆÄÀϵéÀ» ½±°Ô ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù. Âü°í ¹®¼­ ÇÊÀÚ°¡ ÃÖÃÊÀÇ ·çÇÁ¹é ·çÆ® ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé¶§ ÀÌ¿ëÇÑ ¹®¼­µé: ¸®´ª½º Ä¿³Î ¼Ò½º. ƯÈ÷ init/main.c ¸®´ª½º Ä¿³Î ¹®¼­. ƯÈ÷ Documentation/initrd.txt ¿Í Documentation/ramdisk.txt. LILO ¹®¼­ LOADLIN ¹®¼­ ±âŸ ·çÇÁ¹é ·çÆ® µð¹ÙÀ̽º°¡ À¯¿ëÇÑ °÷ ÀÏ´Ü µµ½º ÆÄƼ¼Ç»ó¿¡¼­ ÇϳªÀÇ ÆÄÀÏ·Î µÈ ÆÄÀϽýºÅÛÀ» ºÎÆÃÇÏ´Â ¿ø¸®¸¦ ¾Ë¾Ò´Ù¸é, ÀÌÁ¦ ¿©·¯°¡Áö·Î ÀÀ¿ëÇØ º¼ ¼ö ÀÖ½À´Ï´Ù. µµ½º Çϵåµð½ºÅ©¸¸À¸·Î ¼³Ä¡Çϱ⠺ÎÆ® Ç÷ÎÇǸ¦ ½á¼­ µµ½º Çϵåµð½ºÅ© »óÀÇ ÆÄÀϷκÎÅÍ ¸®´ª½º¸¦ ºÎÆÃÇÒ ¼ö ÀÖ´Ù¸é, ´ç¿¬È÷ Çϵåµð½ºÅ©¸¦ ½á¼­µµ ºÎÆýÃų ¼ö ÀÖ½À´Ï´Ù. AUTOEXEC.BAT ¸¦ ¼ÕºÁ¼­ ¸Þ´º¹æ½ÄÀ¸·Î ºÎÆ®Çϵµ·Ï ÇصРÈÄ, ¸Þ´º Áß Çϳª¿¡ LOADLIN À» ¼±ÅÃÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù¸é ºÎÆðúÁ¤ÀÌ ÈξÀ ´õ »¡¶óÁý´Ï´Ù. ´Ù¸¥ °ÍÀº ¸ðµÎ µ¿ÀÏÇÕ´Ï´Ù. LILO ·Î ºÎÆõǴ ¼³Ä¡ LOADLIN Àº ¸®´ª½º Ä¿³ÎÀ» ºÎÆýÃų¼ö ÀÖ´Â ¿©·¯ ÇÁ·Î±×·¥Áß ÇϳªÀÏ »ÓÀÔ´Ï´Ù. LILO ¿ª½Ã ¶È°°Àº ±â´ÉÀ» ÇÏÁö¸¸ ÀÌ°ÍÀº µµ½º°¡ ÇÊ¿ä¾ø½À´Ï´Ù. ÀÌ°æ¿ì µµ½º Æ÷¸ËµÈ Ç÷ÎÇǵð½ºÅ© ´ë½Å ext2fs Æ÷¸ËµÈ °ÍÀ» ½á¾ßÇÕ´Ï´Ù. ±×¹ÛÀÇ Ä¿³Î°ú µð½ºÅ©»óÀÇ Ãʱ⠷¥µð½ºÅ©¿¡ °üÇÑ ¼¼¼¼ÇÑ »çÇ×µéÀº ¾ÆÁÖ À¯»çÇÕ´Ï´Ù. ÇÊÀÚ°¡ LOADLIN ¹æ¹ýÀ» ¼±ÅÃÇÑ ÀÌÀ¯´Â LILO ¿¡ ÁÖ¾î¾ß ÇÏ´Â ¿É¼ÇµéÀÌ Á¶±Ý ´õ º¹ÀâÇ߱⠶§¹®ÀÔ´Ï´Ù. ¶ÇÇÑ LOADLIN ÂÊÀÌ µµ½ºÈ¯°æ¿¡¼­ ÀÐÈú¼ö Àֱ⠶§¹®¿¡ ÃʽÉÀڵ鿡°Ô´Â Ç÷ÎÇǵð½ºÅ©°¡ ¹«¾ùÀÎÁö ÆľÇÇϴµ¥ À¯¸®ÇÕ´Ï´Ù. VFAT / NTFS ¼³Ä¡ ÇÊÀÚ´Â NTFS ¿¡¼­µµ ÀÌ ¹æ¹ýÀ» ½ÃµµÇßÀ¸¸ç, ¾ÆÁ÷²¯ ¹®Á¦´Â ¾ø¾ú½À´Ï´Ù. ¸®´ª½º Ä¿³Î 2.0.x ¹öÀü¿¡¼­´Â ¾ÆÁ÷ NTFS ÆÄÀϽýºÅÛ µå¶óÀ̹ö°¡ ±âº»À¸·Î ¼³Á¤µÇ¾îÀÖÁö ¾Ê½À´Ï´Ù. ÇÏÁö¸¸ ´ÙÀ½ÀÇ ÆÐÄ¡¸¦ ¾µ¼ö ÀÖ½À´Ï´Ù. http://www.informatik.hu-berlin.de/~loewis/ntfs/. ¹öÀü 2.2.x ´ë¿¡¼­´Â Ä¿³Î¿¡ NTFS µå¶óÀ̹ö°¡ ±âº»À¸·Î Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. VFAT À̳ª NTFS ¸¦ ¾µ °æ¿ìÀÇ À¯ÀÏÇÑ º¯°æ»çÇ×µéÀº Ãʱ⠷¥µð½ºÅ©ÀÇ »ç¿ë¿¡ ÀÖ½À´Ï´Ù. /linuxrc ´Â msdos °¡ ¾Æ´Ï¶ó vfat À̳ª ntfs ŸÀÔÀÇ ÆÄÀϽýºÅÛÀ» ¸¶¿îÆ®Çϵµ·Ï º¯°æµÇ¾î¾ß ÇÕ´Ï´Ù. ÇÊÀÚ°¡ ¾Æ´Â ÇÑ¿¡´Â VFAT ÆÄƼ¼ÇÀ̶ó°í ÀÌ ¹æ¹ýÀÌ ¾ÈµÉ ÀÌÀ¯°¡ ¾ø½À´Ï´Ù. ÆÄƼ¼ÇÀ» ´Ù½Ã ÀâÁö¾Ê°í ¸®´ª½º¸¦ ¼³Ä¡Çϱ⠺¸Åë, PC »ó¿¡ Ç¥ÁØÀûÀÎ ¸®´ª½º ¹èÆ÷º»À» ¼³Ä¡ÇÒ ¶§´Â Ç÷ÎÇÇ µð½ºÅ©·ÎºÎÅÍÀÇ ºÎÆðú µð½ºÅ©ÀÇ ÆÄƼ¼ÇÀ» ´Ù½ÃÀâ´Â °úÁ¤À» °ÅÃÄ¾ß ÇÕ´Ï´Ù. ÀÌ °úÁ¤À» ºó ·çÇÁ¹é µð¹ÙÀ̽º¿Í ½º¿Ò ÆÄÀÏÀ» ¸¸µå´Â ºÎÆ®Ç÷ÎÇÇ·Î ´ëüÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é º¸Åë°ú ¶È°°ÀÌ ¼³Ä¡¸¦ °è¼ÓÇÏÁö¸¸ ÆÄƼ¼ÇÀÌ ¾Æ´Ñ ·çÇÁ¹é µð¹ÙÀ̽ºÀ§¿¡ ¼³Ä¡°¡ µÇ´Â °ÍÀÔ´Ï´Ù. ÀÌ ¹æ¹ýÀº UMSDOS ¸¦ ÀÌ¿ëÇÑ ¼³Ä¡¹æ¹ý ´ë½Å »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯¸é µµ½º ÆÄÀϽýºÅÛÀÇ ÇÒ´ç´ÜÀ§ÀÎ 32 KB ´ë½Å ext2 ÆÄÀϽýºÅÛÀÇ ÃÖ¼ÒÇÒ´ç´ÜÀ§ÀÎ 1 KB ¸¦ ÇÒ´çÇÒ ¼ö ÀÖ¾î µð½ºÅ©¸¦ º¸´Ù È¿À²ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº VFAT °ú NTFS Æ÷¸ËµÈ µð½ºÅ©¿¡µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ºÎÆ® ºÒ°¡´ÉÇÑ µð¹ÙÀ̽º·ÎºÎÅÍÀÇ ºÎÆà ÀÌ ¹æ¹ýÀ» ¾²¸é ÀϹÝÀûÀ¸·Î ºÎÆà ºÒ°¡´ÉÇÑ µð¹ÙÀ̽º·ÎºÎÅÍ ¸®´ª½º ½Ã½ºÅÛÀ» ºÎÆÃÇÒ ¼ö ÀÖ½À´Ï´Ù(¿ªÁÖ : ´Ù¼Ò ¿ÀÇØÀÇ ¼ÒÁö°¡ ÀÖÀ»Áö ¸ð¸£°Ú´Âµ¥ ¿©±â¼­ ÇÊÀÚ°¡ ¶æÇÏ´Â ¹Ù´Â ·çÆ®ÆÄƼ¼ÇÀ» ´Ù¾çÇÏ°Ô ÅÃÇÒ ¼ö ÀÖ´Ù´Â ÀǹÌÀÔ´Ï´Ù. ±âº»ÀûÀ¸·Î Ç÷ÎÇdzª Çϵå, ȤÀº ÃÖ±ÙÀÇ ½Ãµð·Ò ºÎÆà µîÀÇ ºÎÆð¡´ÉÇÑ ¸Åü´Â ¹Ýµå½Ã ÇÊ¿äÇÕ´Ï´Ù). CD-Rom Zip Disks Parallel port disk drives ºÐ¸í ±×¹Û¿¡µµ °¡´ÉÇÑ µð¹ÙÀ̽ºµéÀÌ ¸¹ÀÌ ÀÖ½À´Ï´Ù. NFS ·çÆ® ÆÄÀϽýºÅÛÀº ÀÌ¹Ì Ä¿³Î³»¿¡ ¿É¼ÇÀ¸·Î Æ÷ÇÔ½Ãų¼ö ÀÖµµ·Ï µÇ¾úÁö¸¸ ±× ´ë½Å ¿©±â¼­ ¼³¸íÇÑ ¹æ¹ýÀ» ½áµµ µË´Ï´Ù.