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 ·çÆ® ÆÄÀϽýºÅÛÀº ÀÌ¹Ì Ä¿³Î³»¿¡ ¿É¼ÇÀ¸·Î Æ÷ÇÔ½Ãų¼ö ÀÖµµ·Ï µÇ¾úÁö¸¸ ±× ´ë½Å ¿©±â¼ ¼³¸íÇÑ ¹æ¹ýÀ» ½áµµ µË´Ï´Ù.