ÀÌÁ¦ ·çÇÁ¹é µð¹ÙÀ̽º¸¦ ¸¸µå´Â ÀϹÝÀûÀÎ ¿ø¸®¸¦ ¼³¸íÇÏ°Ú½À´Ï´Ù.
·çÇÁ¹é ·çÆ® µð¹ÙÀ̽º¸¦ ¸¸µé·Á¸é ´ÙÀ½ ¸î°¡Áö°¡ ÇÊ¿äÇÕ´Ï´Ù.
ÀÛ¾÷¿¡ »ç¿ëÇÒ ¸®´ª½º ½Ã½ºÅÛ
´ëÇü ÆÄÀϵéÀ» ¸ñÇ¥ ÆÄƼ¼ÇÀÎ 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 ºÎÅÍ ´ç½ÅÀÌ °¡Áø ·¥¿ë·® »çÀÌÀÇ °ªÀ» ÃßõÇÏ°Ú½À´Ï´Ù.
»ç¿ëµÉ ÆÄÀϵéÀ» µµ½ºÆÄƼ¼Ç»óÀ¸·Î ¿Å°Ü¾ß ÇÕ´Ï´Ù.
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 |
ÀÌ°ÍÀº »ç¿ëÇÒ Ä¿³ÎÀ̹ÌÁö, ·¥µð½ºÅ© À̹ÌÁö, Ãʱ⠷¥µð½ºÅ©°¡ ³¡³ÈÄÀÇ ·çÆ® µð¹ÙÀ̽º, ÀбâÀü¿ëÀ¸·Î ¸¶¿îÆ®µÇ´Â ·çÆ® ÆÄƼ¼ÇÀ» ÁöÁ¤ÇÑ °ÍÀÔ´Ï´Ù.