´ç½ÅÀº ÀÌÁ¦ Ä¿³Î°ú ¾ÐÃà ·çÆ® ÆÄÀϽýºÅÛÀ» °¡Áö°í ÀÖ½À´Ï´Ù. ÇÑÀåÂ¥¸® boot/root µð½ºÅ©¸¦ ¸¸µé°Ú´Ù¸é Ä¿³Î°ú ¾ÐÃà ·çÆ® ÆÄÀϽýºÅÛÀ» ÇÕÄ£ ¿ë·®ÀÌ ÇÑ ÀåÀÇ µð½ºÄÏ¿¡ ´Ù µé¾î°¡´ÂÁö È®ÀÎÇØ º¸¾Æ¾ß ÇÕ´Ï´Ù. ¸¸ÀÏ µÎÀå Â¥¸® boot+root µð½ºÅ©¸¦ ¸¸µç´Ù¸é ·çÆ® ÆÄÀϽýºÅÛÀÌ ÇÑÀåÀÇ µð½ºÅ©¿¡ ´Ù µé¾î°¡´ÂÁö È®ÀÎÇØ º¸¾Æ¾ß ÇÕ´Ï´Ù.
¶ÇÇÑ, ºÎÆ®µð½ºÅ©ÀÇ Ä¿³ÎÀ» ºÎÆ®½ÃÅ°´Âµ¥ ÀÖ¾î ºÎÆ®·Î´õÀÇ ÀÏÁ¾ÀÎ LILO ¸¦ »ç¿ëÇÒ Áö ¿©ºÎ¸¦ °áÁ¤Çؾ߸¸ ÇÕ´Ï´Ù. ´Ù¸¥ ¹æ¹ýÀ¸·Î´Â LILO ¸¦ ¾²Áö ¾Ê°í Ä¿³ÎÀ» Á÷Á¢ µð½ºÄÏ¿¡ Ä«ÇÇÇؼ ±× µð½ºÄÏÀ¸·Î ºÎÆÃÇÏ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù. LILO ¸¦ ½èÀ» ¶§ÀÇ ÀåÁ¡Àº LILO ¸¦ ¾²¸é Çϵå¿þ¾î¸¦ ¾î¶»°Ô ÃʱâȽÃųÁö¿¡ ´ëÇÑ Æĸ®¸ÞÅ͸¦ ºÎÆýÿ¡ Ä¿³Î¿¡ ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù´Â Á¡ÀÔ´Ï´Ù(´ç½Å ½Ã½ºÅÛÀÇ /etc/lilo.conf ÆÄÀÏÀ» üũÇØ º¸½Ê½Ã¿À. ¸¸ÀÏ ÀÌ ÆÄÀÏÀÌ ÀÖ°í ±× ¾È¿¡ ''append=...
'' ÇÏ´Â ¶óÀÎÀÌ ÀÖ´Ù¸é ´ç½ÅÀº ÀÌ¹Ì ÀÌ ±â´ÉÀ» ¾²°íÀÖ´Â °ÍÀÔ´Ï´Ù). LILO ¸¦ ½èÀ» ¶§ÀÇ ´ÜÁ¡Àº ºÎÆ®µð½ºÅ©°¡ º¸´Ù º¹ÀâÇØÁö°í ¿ë·®À» Á¶±Ý ´õ Â÷ÁöÇÑ´Ù´Â Á¡ÀÔ´Ï´Ù. LILO ¸¦ ¾²¸é ¼ÒÀ§ Ä¿³Î ÆÄÀϽýºÅÛÀ̶ó ºÒ¸®¿ì´Â º°µµÀÇ ÀÛÀº ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé¾î °Å±â¿¡´Ù Ä¿³Î°ú ±× ¹Û¿¡ LILO °¡ ÇÊ¿ä·Î ÇÏ´Â ¸î¸î ÆÄÀϵéÀ» ´ã¾ÆµÎ¾î¾ß¸¸ ÇÕ´Ï´Ù.
LILO ¸¦ »þ¿ëÇÏ½Ã°Ú´Ù¸é °è¼Ó Àо°¡½Ã°í Á÷Á¢ Ä¿³ÎÀ» Àü¼ÛÇÏ´Â ¹æ¹ýÀ» ÅÃÇϽðڴٸé 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
´ç½ÅÀÌ ¸¸µç °Í°ú´Â ÆÄÀÏ Å©±â°¡ ¾à°£ Ʋ¸± ¼öµµ ÀÖÀ¸´Ï °ÆÁ¤ÇÏÁö ¸¶½Ê½Ã¿ä.
ÀÌÁ¦ µå¶óÀ̺êÀÇ µð½ºÄÏÀº ±×´ë·Î µÎ°í ·¥µð½ºÅ© ¿öµåÀÇ ¼³Á¤ ÆíÀ¸·Î °¡½Ã±â ¹Ù¶ø´Ï´Ù.
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
À» ½á¾ßÇÔ¿¡ ÁÖÀÇÇϼ¼¿ä.
Ä¿³Î À̹ÌÁö ³»¿¡´Â ·¥µð½ºÅ© ¿öµå¶ó´Â °ÍÀÌ ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº ´Ù¸¥ ¿É¼Çµé°ú ´õºÒ¾î¼ ·çÆ® ÆÄÀϽýºÅÛÀ» ¾îµð¿¡¼ ãÀ» °ÍÀÎÁö¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÌ ¿öµå´Â rdev
¸í·ÉÀ» ½á¼ È®ÀÎ ¹× ¼³Á¤ÀÌ °¡´ÉÇÕ´Ï´Ù. ±× ³»¿ëÀº ´ÙÀ½°ú °°ÀÌ Çؼ®ÇÕ´Ï´Ù.
bits 0-10: ·¥µð½ºÅ©°¡ ½ÃÀÛÇÏ´Â ¿ÀÇÁ¼Â. 1024 byte ºí·Ï ³»ÀÇ ¿ÀÇÁ¼ÂÀÔ´Ï´Ù bits 11-13: »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù bit 14: ·¥µð½ºÅ©·Î ·ÎµùµÉÁö¸¦ ³ªÅ¸³»´Â Ç÷¡±× bit 15: ·çÆ® ÆÄÀϽýºÅÛÀ» ·ÎµùÇϱâ Àü¿¡ Çѹø ¸ØÃâÁö¸¦ °áÁ¤ÇÏ´Â Ç÷¡±×
¸¸¾à 15¹ø ºñÆ®°¡ ¼³Á¤µÇ¾î ÀÖÀ¸¸é ºÎÆýÿ¡ »õ·Î¿î µð½ºÄÏÀ» Áý¾î³ÖÀ¸¶ó´Â ¸Þ½ÃÁö¸¦ ¹Þ°Ô µÉ °ÍÀÔ´Ï´Ù. ÀÌ ±â´ÉÀº µÎ °³ÀÇ µð½ºÅ©·Î ºÎÆÃÇÒ °æ¿ì ÇÊ¿äÇÕ´Ï´Ù.
ÇÑ °³ÀÇ boot/root µð½ºÄÏÀ» ¸¸µé °ÍÀÎÁö ¾Æ´Ï¸é µÎ°³ÀÇ "boot+root" µð½ºÄÏ ¼¼Æ®¸¦ ¸¸µé °ÍÀÎÁö¿¡ µû¶ó ´ÙÀ½ µÎ °¡Áö °æ¿ì°¡ »ý±æ ¼ö ÀÖ½À´Ï´Ù.
KERNEL_BLOCKS
°ª°ú µ¿ÀÏ)ÀÌ µË´Ï´Ù. ºñÆ® 14 ´Â 1 ·Î, ºñÆ® 15 ´Â 0 À¸·Î ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù.
¿¹¸¦ µé¾î, ´ç½ÅÀÌ ÇÑÀåÂ¥¸® µð½ºÅ©¸¦ ¸¸µå´Âµ¥ ·çÆ® ÆÄÀϽýºÅÛÀÌ 253 ºí·Ï(½ÊÁø¼öÀÔ´Ï´Ù)¿¡¼ ½ÃÀÛÇÑ´Ù°í Ĩ½Ã´Ù. ·¥µð½ºÅ© ¿öµåÀÇ °ªÀº 253(½ÊÁø¼ö)¿¡´Ù ºñÆ® 14 ´Â 1, ºñÆ® 15 ´Â 0 À¸·Î ¼¼ÆÃÇÑ °ªÀÔ´Ï´Ù. ÀÌ ·¥µð½ºÅ© ¿öµå °ªÀ» ±¸ÇÏ·Á¸é ´Ü¼øÈ÷ ¸ðµÎ ½ÊÁø¼ö·Î º¯È¯ÇØ ´õÇÏ¸é µË´Ï´Ù. 253 + (2^14) = 253 + 16384 = 16637 ÀÔ´Ï´Ù. ÀÌ °ªÀÌ ¾îµð¼ ¿Â °ÇÁö ¾Æ¹«·¡µµ ÀÌÇظ¦ ¸ø½Ã°Ú´Ù¸é ÀüÀÚ°è»ê±â¸¦ ½á¼ ÀÌ °ªÀ» ÀÌÁø¼ö·Î º¯È¯ÇØ º¸½Ã¸é ÀÌÇØ°¡ °¡½Ç °ÍÀÔ´Ï´Ù.
·¥µð½ºÅ© ¿öµå¿¡ ÇØ´çÇÏ´Â °ªÀ» ÁÖÀDZí°Ô °è»êÇÑ ´ÙÀ½, ±× °ª´ë·Î rdev -r
¸í·ÉÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù. ½ÊÁø¼ö¸¦ »ç¿ëÇØ¾ß ÇÔ¿¡ ÁÖÀÇÇϽʽÿä. LILO¸¦ »ç¿ëÇÏ°Ú´Ù¸é ¸¶¿îÆ®µÉ Ä¿³ÎÀÇ °æ·Î, ¿¹¸¦ µé¸é /mnt/vmlinuz
°°Àº °ÍÀ» rdev
¸í·É¾î¿¡ ÆĶó¸ÞÅÍ·Î ½áÁÖ¾î¾ß ÇÕ´Ï´Ù. LILO ¸¦ ¾²Áö ¾Ê°í Ä¿³ÎÀ» Á÷Á¢ dd
¸í·ÉÀ¸·Î º¹»çÇß´Ù¸é ´ë½Å Ç÷ÎÇÇ µð¹ÙÀ̽ºÀÇ À̸§À» ½áÁÝ´Ï´Ù (¿¹¸¦µé¸é /dev/fd0
).
rdev -r KERNEL_OR_FLOPPY_DRIVE VALUE
LILO¸¦ »ç¿ëÇÑ´Ù¸é ÀÌÁ¦ µð½ºÄÏÀ» ¾ð¸¶¿îÆ® ½ÃÅ°½Ê½Ã¿À.
¸¶Áö¸· ´Ü°è´Â ·çÆ® ÆÄÀϽýºÅÛÀ» Ç÷ÎÇÇ µð½ºÄÏ¿¡ ´ã´Â °ÍÀÔ´Ï´Ù.
dd
¸í·É¿¡ seek
¿É¼ÇÀ» ÁֽʽÿÀ. ÀÌ ¿É¼ÇÀº ¾ó¸¶¸¸ÅÀÇ ºí·ÏÀ» °Ç³Ê¶Ù¾î¾ß ÇÏ´ÂÁö¸¦ ¼³Á¤ÇÕ´Ï´Ù.
dd if=rootfs.gz of=/dev/fd0 bs=1k seek=KERNEL_BLOCKS
dd if=rootfs.gz of=/dev/fd0 bs=1k
ÃàÇÏÇÕ´Ï´Ù. ÀÌÁ¦ ³¡³µ½À´Ï´Ù! ÀÀ±Þ»óȲ¿ëÀ¸·Î µû·Î º¸°üÇØ µÎ±âÀü¿¡ ¸ÕÀú ÀÌ ºÎÆ®µð½ºÅ©°¡ Á¦´ë·Î µ¿ÀÛÇÏ´ÂÁö Ç×»ó È®ÀÎÇغ¸½Ã±â ¹Ù¶ø´Ï´Ù! ¸¸ÀÏ ºÎÆ®¿¡ ½ÇÆÐÇϼ̴ٸé ÀÌ ¹®¼¸¦ °è¼Ó Àо°¡½Ê½Ã¿À.