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

6. ¸¸µç °ÍµéÀ» Çϳª·Î ¸ðÀ¸±â : µð½ºÄÏ Á¦ÀÛ

´ç½ÅÀº ÀÌÁ¦ Ä¿³Î°ú ¾ÐÃà ·çÆ® ÆÄÀϽýºÅÛÀ» °¡Áö°í ÀÖ½À´Ï´Ù. ÇÑÀåÂ¥¸® boot/root µð½ºÅ©¸¦ ¸¸µé°Ú´Ù¸é Ä¿³Î°ú ¾ÐÃà ·çÆ® ÆÄÀϽýºÅÛÀ» ÇÕÄ£ ¿ë·®ÀÌ ÇÑ ÀåÀÇ µð½ºÄÏ¿¡ ´Ù µé¾î°¡´ÂÁö È®ÀÎÇØ º¸¾Æ¾ß ÇÕ´Ï´Ù. ¸¸ÀÏ µÎÀå Â¥¸® boot+root µð½ºÅ©¸¦ ¸¸µç´Ù¸é ·çÆ® ÆÄÀϽýºÅÛÀÌ ÇÑÀåÀÇ µð½ºÅ©¿¡ ´Ù µé¾î°¡´ÂÁö È®ÀÎÇØ º¸¾Æ¾ß ÇÕ´Ï´Ù.

¶ÇÇÑ, ºÎÆ®µð½ºÅ©ÀÇ Ä¿³ÎÀ» ºÎÆ®½ÃÅ°´Âµ¥ ÀÖ¾î ºÎÆ®·Î´õÀÇ ÀÏÁ¾ÀÎ LILO ¸¦ »ç¿ëÇÒ Áö ¿©ºÎ¸¦ °áÁ¤Çؾ߸¸ ÇÕ´Ï´Ù. ´Ù¸¥ ¹æ¹ýÀ¸·Î´Â LILO ¸¦ ¾²Áö ¾Ê°í Ä¿³ÎÀ» Á÷Á¢ µð½ºÄÏ¿¡ Ä«ÇÇÇؼ­ ±× µð½ºÄÏÀ¸·Î ºÎÆÃÇÏ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù. LILO ¸¦ ½èÀ» ¶§ÀÇ ÀåÁ¡Àº LILO ¸¦ ¾²¸é Çϵå¿þ¾î¸¦ ¾î¶»°Ô ÃʱâÈ­½ÃųÁö¿¡ ´ëÇÑ Æĸ®¸ÞÅ͸¦ ºÎÆýÿ¡ Ä¿³Î¿¡ ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù´Â Á¡ÀÔ´Ï´Ù(´ç½Å ½Ã½ºÅÛÀÇ /etc/lilo.conf ÆÄÀÏÀ» üũÇØ º¸½Ê½Ã¿À. ¸¸ÀÏ ÀÌ ÆÄÀÏÀÌ ÀÖ°í ±× ¾È¿¡ ''append=...'' ÇÏ´Â ¶óÀÎÀÌ ÀÖ´Ù¸é ´ç½ÅÀº ÀÌ¹Ì ÀÌ ±â´ÉÀ» ¾²°íÀÖ´Â °ÍÀÔ´Ï´Ù). LILO ¸¦ ½èÀ» ¶§ÀÇ ´ÜÁ¡Àº ºÎÆ®µð½ºÅ©°¡ º¸´Ù º¹ÀâÇØÁö°í ¿ë·®À» Á¶±Ý ´õ Â÷ÁöÇÑ´Ù´Â Á¡ÀÔ´Ï´Ù. LILO ¸¦ ¾²¸é ¼ÒÀ§ Ä¿³Î ÆÄÀϽýºÅÛÀ̶ó ºÒ¸®¿ì´Â º°µµÀÇ ÀÛÀº ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé¾î °Å±â¿¡´Ù Ä¿³Î°ú ±× ¹Û¿¡ LILO °¡ ÇÊ¿ä·Î ÇÏ´Â ¸î¸î ÆÄÀϵéÀ» ´ã¾ÆµÎ¾î¾ß¸¸ ÇÕ´Ï´Ù.

LILO ¸¦ »þ¿ëÇÏ½Ã°Ú´Ù¸é °è¼Ó Àо°¡½Ã°í Á÷Á¢ Ä¿³ÎÀ» Àü¼ÛÇÏ´Â ¹æ¹ýÀ» ÅÃÇϽðڴٸé LILO ¾øÀÌ Ä¿³Î¸¸ ´ã±â ºÎºÐÀ¸·Î °Ç³Ê¶Ù½Ã±â ¹Ù¶ø´Ï´Ù.

6.1 µð½ºÄÏ¿¡ LILO ¿Í Ä¿³ÎÀ» ÇÔ²² ´ã±â

¸Ç ¸ÕÀú ÇÒ ÀÏÀº LILO ¸¦ À§ÇÑ ÀÛÀº ¼³Á¤ÆÄÀÏÀ» ¸¸µå´Â °ÍÀÔ´Ï´Ù. ´ÙÀ½°ú ºñ½ÁÇÑ ³»¿ëÀÌ µË´Ï´Ù.



          boot      =/dev/fd0
          install   =/boot/boot.b
          map       =/boot/map
          read-write
          backup    =/dev/null
          compact
          image     = KERNEL
          label     = Bootdisk
          root      =/dev/fd0

À̵é ÆĶó¸ÞÅÍ¿¡ ´ëÇؼ­´Â LILO »ç¿ëÀÚ ¼³¸í¼­¸¦ ÂüÁ¶ÇϽʽÿÀ. ¶ÇÇÑ ´ç½ÅÀÇ Çϵåµð½ºÅ©ÀÇ /etc/lilo.conf ÆÄÀÏ¿¡ ÀûÇôÀÖ´Â append = ... ¶óÀÎÀ» º¸°í À§ÀÇ È­ÀÏ ³¡¿¡ ±×´ë·Î Àû¾îÁÖ¾î¾ß¸¸ ÇÒ °ÍÀÔ´Ï´Ù.

ÀÌ ÆÄÀÏÀ» bdlilo.conf ¶ó´Â À̸§À¸·Î ÀúÀåÇϽʽÿÀ.

ÀÌÁ¦ Ä¿³Î ÆÄÀϽýºÅÛÀ̶ó ºÒ¸®¿ì´Â ÀÛÀº ÆÄÀϽýºÅÛÀ» ¸¸µé¾î¾ß¸¸ ÇÕ´Ï´Ù. ÀÌ°ÍÀº ·çÆ® ÆÄÀϽýºÅÛ°ú´Â º°°³ÀÇ °ÍÀÔ´Ï´Ù.

¸ÕÀú, ÆÄÀϽýºÅÛÀÇ Å©±â¸¦ ¾ó¸¶·Î ÇؾßÇÒÁö ¾Ë¾Æ³»¾ß ÇÕ´Ï´Ù. ¸¸µé¾î³½ Ä¿³ÎÀÇ ºí·Ï ´ÜÀ§ Å©±â°¡ ¾ó¸¶ÀÎÁö È®ÀÎÇÏ°í(ls -l KERNEL" ·Î Ãâ·ÂµÈ °ªÀ» 1024·Î ³ª´©¾î¼­ ¿Ã¸²ÇÑ °ªÀÔ´Ï´Ù) °Å±â¿¡ 50 À» ´õÇÕ´Ï´Ù. 50 ºí·ÏÀº inode ¿Í ±× ¹ÛÀÇ ¸î °¡Áö ÆÄÀϵ鿡 ÇÊ¿äÇÑ ´ë·«ÀûÀÎ Å©±âÀÔ´Ï´Ù. ¿øÇϽŴٸé Á¤È®È÷ °è»êÇØ º¼ ¼öµµ ÀÖ½À´Ï´Ù. ¾Æ´Ï¸é ±×³É 50 À» »ç¿ëÇϼ¼¿ä. µÎÀåÀÇ µð½ºÄÏÀ¸·Î ÇϽŴٸé ÀÌ Å©±â¸¦ Á» ³Ë³ËÈ÷ Àâ¾Æµµ ÁÁ½À´Ï´Ù. ¿Ö³ÄÇϸé ù¹ø° µð½ºÅ©´Â ¾î·µç Ä¿³ÎÀü¿ëÀ¸·Î¸¸ »ç¿ëµÇ±â ¶§¹®ÀÔ´Ï´Ù. °è»êÇÑ ¼ýÀÚ¸¦ KERNEL_BLOCKS ¶ó°í ºÎ¸£±â·Î ÇսôÙ.

Ç÷ÎÇÇ µð½ºÄÏÀ» µå¶óÀ̺꿡 ³Ö°í ±× À§¿¡ ext2 Ä¿³Î ÆÄÀϽýºÅÛÀ» ¸¸µì½Ã´Ù(ÆíÀÇ»ó µå¶óÀ̺êÀÇ À̸§Àº /dev/fd0¶ó °¡Á¤ÇÕ´Ï´Ù).

          mke2fs -i 8192 -m 0 /dev/fd0 KERNEL_BLOCKS

“ -i 8192 ” ´Â 8192 ¹ÙÀÌÆ® ´ç ÇϳªÀÇ inode ¸¦ ÇÒ´çÇÕ´Ï´Ù. ±× ´ÙÀ½, ÀÌ ÆÄÀϽýºÅÛÀ» ¸¶¿îÆ®ÇÏ°í lost+found µð·ºÅ丮¸¦ »èÁ¦ÇÑ ÈÄ LILO ¸¦ À§ÇÑ dev ¿Í boot µð·ºÅ丮¸¦ ¸¸µì´Ï´Ù.

          mount /dev/fd0 /mnt
          rm -rf /mnt/lost+found
          mkdir /mnt/{boot,dev}

±× ´ÙÀ½, µð¹ÙÀ̽º /dev/null °ú /dev/fd0 ¸¦ ¸¸µì´Ï´Ù. µð¹ÙÀ̽º ³Ñ¹ö¸¦ ã´Â ´ë½Å ±×³É ´ç½ÅÀÇ ¸®´ª½º ½Ã½ºÅ۷κÎÅÍ -R ¿É¼ÇÀ» ÁÖ¾î º¹»çÇØ¿À¸é µË´Ï´Ù.

          cp -R /dev/{null,fd0} /mnt/dev

LILO ´Â ±× ºÎÆ®·Î´õÀÎ boot.b ÀÇ º¹»çº»À» ÇÊ¿ä·Î Çϴµ¥, ÀÌ boot.b ´Â ´ç½ÅÀÇ ¸®´ª½º ½Ã½ºÅÛ¿¡¼­ °¡Á®¿À¸é µË´Ï´Ù. º¸Åë ÀÌ ÆÄÀÏÀº /boot µð·ºÅ丮¿¡ ÀÖ½À´Ï´Ù.

          cp /boot/boot.b /mnt/boot

¸¶Áö¸·À¸·Î ¾Õ Àý¿¡¼­ ¸¸µç LILO ¼³Á¤ÆÄÀÏÀ» Ä¿³Î°ú ÇÔ²² Ç÷ÎÇÇ·Î º¹»çÇØ ³Ö½À´Ï´Ù. µÎ °¡Áö ¸ðµÎ ·çÆ®µð·ºÅ丮¿¡ µé¾î°©´Ï´Ù.

          cp bdlilo.conf KERNEL /mnt

ÀÌÁ¦ LILO °¡ ÇÊ¿ä·Î ÇÏ´Â ¸ðµç °ÍµéÀÌ Ä¿³Î ÆÄÀϽýºÅÛ¿¡ µé¾î°¬À¸¹Ç·Î Áغñ´Â ¸ðµÎ ³¡³µ½À´Ï´Ù. LILO ÀÇ -r Ç÷¡±×´Â ºÎÆ®·Î´õ¸¦ ´Ù¸¥ ·çÆ®¿¡ ¼³Ä¡ÇÒ ¶§ »ç¿ëµË´Ï´Ù.

         lilo -v -C bdlilo.conf -r /mnt

LILO°¡ ¾Æ¹« ¿¡·¯µµ ¾øÀÌ Á¦´ë·Î µ¿ÀÛÇß´Ù¸é Ä¿³Î ÆÄÀϽýºÅÛÀº ´ÙÀ½°ú ºñ½ÁÇÑ ¸ð½ÀÀÌ µÉ °ÍÀÔ´Ï´Ù.


  total 361
    1 -rw-r--r--   1 root     root          176 Jan 10 07:22 bdlilo.conf
    1 drwxr-xr-x   2 root     root         1024 Jan 10 07:23 boot/
    1 drwxr-xr-x   2 root     root         1024 Jan 10 07:22 dev/
  358 -rw-r--r--   1 root     root       362707 Jan 10 07:23 vmlinuz
  boot:
  total 8
    4 -rw-r--r--   1 root     root         3708 Jan 10 07:22 boot.b
    4 -rw-------   1 root     root         3584 Jan 10 07:23 map
  dev:
  total 0
    0 brw-r-----   1 root     root       2,   0 Jan 10 07:22 fd0
    0 crw-r--r--   1 root     root       1,   3 Jan 10 07:22 null

´ç½ÅÀÌ ¸¸µç °Í°ú´Â ÆÄÀÏ Å©±â°¡ ¾à°£ Ʋ¸± ¼öµµ ÀÖÀ¸´Ï °ÆÁ¤ÇÏÁö ¸¶½Ê½Ã¿ä.

ÀÌÁ¦ µå¶óÀ̺êÀÇ µð½ºÄÏÀº ±×´ë·Î µÎ°í ·¥µð½ºÅ© ¿öµåÀÇ ¼³Á¤ ÆíÀ¸·Î °¡½Ã±â ¹Ù¶ø´Ï´Ù.

6.2 LILO ¾øÀÌ Ä¿³Î¸¸ ´ã±â

LILO ¸¦ »ç¿ëÇÏÁö ¾Ê°Ú´Ù¸é dd ¸í·ÉÀ» ½á¼­ Ä¿³ÎÀ» ºÎÆ®µð½ºÅ©¿¡ ´ã¾Æ¾ß ÇÕ´Ï´Ù.

          % dd if=KERNEL of=/dev/fd0 bs=1k
          353+1 records in
          353+1 records out

À§ÀÇ ¿¹¿¡¼­ dd ´Â 353 °³ÀÇ ¿ÏÀüÇÑ ·¹ÄÚµå¿Í 1°³ÀÇ ºÎºÐ·¹Äڵ带 ½á³Ö¾ú½À´Ï´Ù. µû¶ó¼­ Ä¿³ÎÀº µð½ºÄÏ ¾ÕºÎºÐÀÇ 354 ºí·ÏµéÀ» Á¡À¯ÇÏ°Ô µË´Ï´Ù. ÀÌ ¼ýÀÚ¸¦ KERNEL_BLOCKS ¶ó°í ºÎ¸£°ÚÀ¸´Ï ±â¾ïÇØ µÎ½Ê½Ã¿À. ´ÙÀ½ Àý¿¡¼­ »ç¿ëÇÒ °ÍÀÔ´Ï´Ù.

¸¶Áö¸·À¸·Î ·çÆ®µð¹ÙÀ̽º¸¦ µð½ºÄÏ ÀÚü·Î ¼³Á¤ÇÑ ÈÄ ·çÆ®°¡ read/write ·Î ·ÎµåµÇµµ·Ï ¼³Á¤ÇØ µÓ´Ï´Ù.

          rdev /dev/fd0 /dev/fd0
          rdev -R /dev/fd0 0

µÎ ¹ø° ÁÙÀÇ rdev ¸í·É¿¡¼­ ´ë¹®ÀÚ -R À» ½á¾ßÇÔ¿¡ ÁÖÀÇÇϼ¼¿ä.

6.3 ·¥µð½ºÅ© ¿öµåÀÇ ¼³Á¤

Ä¿³Î À̹ÌÁö ³»¿¡´Â ·¥µð½ºÅ© ¿öµå¶ó´Â °ÍÀÌ ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº ´Ù¸¥ ¿É¼Çµé°ú ´õºÒ¾î¼­ ·çÆ® ÆÄÀϽýºÅÛÀ» ¾îµð¿¡¼­ ãÀ» °ÍÀÎÁö¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÌ ¿öµå´Â rdev ¸í·ÉÀ» ½á¼­ È®ÀÎ ¹× ¼³Á¤ÀÌ °¡´ÉÇÕ´Ï´Ù. ±× ³»¿ëÀº ´ÙÀ½°ú °°ÀÌ Çؼ®ÇÕ´Ï´Ù.

   
   bits  0-10:   ·¥µð½ºÅ©°¡ ½ÃÀÛÇÏ´Â ¿ÀÇÁ¼Â. 1024 byte ºí·Ï ³»ÀÇ ¿ÀÇÁ¼ÂÀÔ´Ï´Ù
   bits 11-13:   »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù
   bit     14:   ·¥µð½ºÅ©·Î ·ÎµùµÉÁö¸¦ ³ªÅ¸³»´Â Ç÷¡±×
   bit     15:   ·çÆ® ÆÄÀϽýºÅÛÀ» ·ÎµùÇϱâ Àü¿¡ Çѹø ¸ØÃâÁö¸¦ °áÁ¤ÇÏ´Â Ç÷¡±×

¸¸¾à 15¹ø ºñÆ®°¡ ¼³Á¤µÇ¾î ÀÖÀ¸¸é ºÎÆýÿ¡ »õ·Î¿î µð½ºÄÏÀ» Áý¾î³ÖÀ¸¶ó´Â ¸Þ½ÃÁö¸¦ ¹Þ°Ô µÉ °ÍÀÔ´Ï´Ù. ÀÌ ±â´ÉÀº µÎ °³ÀÇ µð½ºÅ©·Î ºÎÆÃÇÒ °æ¿ì ÇÊ¿äÇÕ´Ï´Ù.

ÇÑ °³ÀÇ boot/root µð½ºÄÏÀ» ¸¸µé °ÍÀÎÁö ¾Æ´Ï¸é µÎ°³ÀÇ "boot+root" µð½ºÄÏ ¼¼Æ®¸¦ ¸¸µé °ÍÀÎÁö¿¡ µû¶ó ´ÙÀ½ µÎ °¡Áö °æ¿ì°¡ »ý±æ ¼ö ÀÖ½À´Ï´Ù.

  1. ÇÑ °³ÀÇ µð½ºÄϸ¦ ¸¸µç´Ù¸é ¾ÐÃà ·çÆ®ÆÄÀÏ ½Ã½ºÅÛÀº Ä¿³Î ¹Ù·Î µÚ¿¡ ¿¬À̾î À§Ä¡ÇÏ°Ô µÇ¹Ç·Î ±× ¿ÀÇÁ¼ÂÀº ù¹ø° ºó ºí·°(KERNEL_BLOCKS °ª°ú µ¿ÀÏ)ÀÌ µË´Ï´Ù. ºñÆ® 14 ´Â 1 ·Î, ºñÆ® 15 ´Â 0 À¸·Î ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ´ç½ÅÀÌ ÇÑÀåÂ¥¸® µð½ºÅ©¸¦ ¸¸µå´Âµ¥ ·çÆ® ÆÄÀϽýºÅÛÀÌ 253 ºí·Ï(½ÊÁø¼öÀÔ´Ï´Ù)¿¡¼­ ½ÃÀÛÇÑ´Ù°í Ĩ½Ã´Ù. ·¥µð½ºÅ© ¿öµåÀÇ °ªÀº 253(½ÊÁø¼ö)¿¡´Ù ºñÆ® 14 ´Â 1, ºñÆ® 15 ´Â 0 À¸·Î ¼¼ÆÃÇÑ °ªÀÔ´Ï´Ù. ÀÌ ·¥µð½ºÅ© ¿öµå °ªÀ» ±¸ÇÏ·Á¸é ´Ü¼øÈ÷ ¸ðµÎ ½ÊÁø¼ö·Î º¯È¯ÇØ ´õÇÏ¸é µË´Ï´Ù. 253 + (2^14) = 253 + 16384 = 16637 ÀÔ´Ï´Ù. ÀÌ °ªÀÌ ¾îµð¼­ ¿Â °ÇÁö ¾Æ¹«·¡µµ ÀÌÇظ¦ ¸ø½Ã°Ú´Ù¸é ÀüÀÚ°è»ê±â¸¦ ½á¼­ ÀÌ °ªÀ» ÀÌÁø¼ö·Î º¯È¯ÇØ º¸½Ã¸é ÀÌÇØ°¡ °¡½Ç °ÍÀÔ´Ï´Ù.
  2. µÎ°³ÀÇ µð½ºÄÏ ¼¼Æ®¸¦ ¸¸µç´Ù¸é ·çÆ® ÆÄÀϽýºÅÛÀº µÎ ¹ø° µð½ºÄÏÀÇ 0 ¹ø ºí·ÏºÎÅÍ ½ÃÀÛÇÒ °ÍÀÌ°í µû¶ó¼­ ±× ¿ÀÇÁ¼ÂÀº 0 ÀÔ´Ï´Ù. ºñÆ® 14´Â 1 ·Î, ºñÆ® 15 µµ 1 ·Î ¼³Á¤ÇÕ´Ï´Ù. µû¶ó¼­ ·¥µð½ºÅ© ¿öµåÀÇ ½ÊÁø¼ö °ªÀº ÀÌ °æ¿ì 2^14 + 2^15 = 49152 °¡ µË´Ï´Ù.

·¥µð½ºÅ© ¿öµå¿¡ ÇØ´çÇÏ´Â °ªÀ» ÁÖÀDZí°Ô °è»êÇÑ ´ÙÀ½, ±× °ª´ë·Î rdev -r ¸í·ÉÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù. ½ÊÁø¼ö¸¦ »ç¿ëÇØ¾ß ÇÔ¿¡ ÁÖÀÇÇϽʽÿä. LILO¸¦ »ç¿ëÇÏ°Ú´Ù¸é ¸¶¿îÆ®µÉ Ä¿³ÎÀÇ °æ·Î, ¿¹¸¦ µé¸é /mnt/vmlinuz °°Àº °ÍÀ» rdev ¸í·É¾î¿¡ ÆĶó¸ÞÅÍ·Î ½áÁÖ¾î¾ß ÇÕ´Ï´Ù. LILO ¸¦ ¾²Áö ¾Ê°í Ä¿³ÎÀ» Á÷Á¢ dd ¸í·ÉÀ¸·Î º¹»çÇß´Ù¸é ´ë½Å Ç÷ÎÇÇ µð¹ÙÀ̽ºÀÇ À̸§À» ½áÁÝ´Ï´Ù (¿¹¸¦µé¸é /dev/fd0).

       rdev -r KERNEL_OR_FLOPPY_DRIVE  VALUE

LILO¸¦ »ç¿ëÇÑ´Ù¸é ÀÌÁ¦ µð½ºÄÏÀ» ¾ð¸¶¿îÆ® ½ÃÅ°½Ê½Ã¿À.

6.4 ·çÆ® ÆÄÀϽýºÅÛÀ» µð½ºÄÏ¿¡ ´ã±â

¸¶Áö¸· ´Ü°è´Â ·çÆ® ÆÄÀϽýºÅÛÀ» Ç÷ÎÇÇ µð½ºÄÏ¿¡ ´ã´Â °ÍÀÔ´Ï´Ù.

ÃàÇÏÇÕ´Ï´Ù. ÀÌÁ¦ ³¡³µ½À´Ï´Ù! ÀÀ±Þ»óȲ¿ëÀ¸·Î µû·Î º¸°üÇØ µÎ±âÀü¿¡ ¸ÕÀú ÀÌ ºÎÆ®µð½ºÅ©°¡ Á¦´ë·Î µ¿ÀÛÇÏ´ÂÁö Ç×»ó È®ÀÎÇغ¸½Ã±â ¹Ù¶ø´Ï´Ù! ¸¸ÀÏ ºÎÆ®¿¡ ½ÇÆÐÇϼ̴ٸé ÀÌ ¹®¼­¸¦ °è¼Ó Àо°¡½Ê½Ã¿À.


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