¿©·¯ °¡Áö Ä¿³Î ÆÁ #1
±Û¾´ÀÌ: Dave Jones (dave@ext2.net)
¿Å±äÀÌ: ÀÓÁ¾±Õ (hermes44@secsm.org)
¿ø¹®:
http://ext2.linuxberg.com/99/05/kernel/052999-kernel3.shtml
³»°Ô´Â Ä¿³ÎÀ» ºôµå(build)ÇÏ´Â °Í¿¡ Àͼ÷Ä¡ ¸øÇÑ Ä£±¸µéÀÌ ¸î ÀÖ´Ù. ºñ·Ï Ä¿³Î¿¡ Æ÷ÇÔµÇ¾î ¸ð¾ÆÁ® ÀÖ´Â Á¤º¸°¡ ÀÖ±â´Â ÇÏÁö¸¸, ¿©ÀüÈ÷ °°Àº Áú¹®µéÀÌ ¿Ã¶ó¿À´Â °ÍÀ» º¸°Ô µÈ´Ù.
¿©±â¿¡ ÀϹÝÀûÀ¸·Î ¾Ë¾Æ¾ß ÇÏÁö¸¸, ³»°¡ ¸¹Àº Áú¹®À» ¹Þ¾Ò´ø °ÍÀ¸·Î º¼ ¶§ ±×·¸Áö ¸øÇÑ ¸î¸î °¡ÁöÀÇ ÆÁµéÀÌ ÀÖ´Ù.
Ä¿³Î ÆÁ¿¡ °üÇÑ ±â»ç°¡ Á¤±ÔÀûÀ¸·Î ³ª¿À±â¸¦ Èñ¸ÁÇÑ´Ù.
´Ù¸¥ Ä¿³Î-ºô´õ¿Í °øÀ¯ÇÏ°í ½ÍÀº °Í ÀÖ´Ù¸é, ³»°Ô ÆíÁö¸¦ º¸³»°Å³ª Æ÷·³¿¡ ½á¶ó.
-
Q. ½ºÅ©·ÑµÇ´Â °ÍÀÌ ³Ê¹« ºü¸¨´Ï´Ù. ±×°Í ¸ðµÎ¿¡ ´ëÇؼ ¾Ë¾Æ¾ß ÇÒ ÇÊ¿ä°¡ ÀÖ³ª¿ä?
A. ¾Æ´Ï¿ä! ´ÙÀ½°ú °°ÀÌ, Ãâ·ÂµÇ´Â ¸Þ¼¼Áö¸¦ ¾È º¸ÀÌ°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù.
make -s zImage
¶Ç´Â
make -s bzImage
ÀÌ·¸°Ô ÇÏ¸é °æ°ú/¿¡·¯ ¸Þ¼¼Áö¸¸ º¸ÀÏ °ÍÀÔ´Ï´Ù.
-
Q. Á¦ ½Ã½ºÅÛ¿¡¼´Â Ä¿³Î ÄÄÆÄÀÏÀÌ ¿À·¡ °É¸³´Ï´Ù. ºü¸£°Ô ÇÏ´Â ¹æ¹ýÀÌ ¾ø³ª¿ä?
A. ¹°·Ð ÀÖ½À´Ï´Ù! µ¿½Ã¿¡ ¿©·¯ °³ÀÇ ÆÄÀÏÀ» ÄÄÆÄÀÏ Çϱâ À§Çؼ ¸®´ª½ºÀÇ ¸ÖƼŽºÅ· ´É·ÂÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. make ¸í·É¿¡ -j <¼ýÀÚ>¸¦ Ãß°¡ÇÏ¸é µË´Ï´Ù. <¼ýÀÚ>´Â µ¿½Ã¿¡ ºôµå ÀÛ¾÷À» ÇÏ´Â ÀÛ¾÷ÀÇ ¼ö¸¦ ³ªÅ¸³À´Ï´Ù.
make -j 32 bzImage
ÀÌ´Â µ¿½Ã¿¡ 32°³ÀÇ ÆÄÀÏÀ» ºôµåÇÏ¿© bzImage¸¦ ¸¸µì´Ï´Ù. ¸¸¾à ÃæºÐÇÑ ·¥ÀÌ ¾ø´Ù¸é, ÀÌ´Â ¿ªÈ¿°ú¸¦ °¡Á®¿Ã ¼ö ÀÖÀ½¿¡ ÁÖÀÇÇϼ¼¿ä. ´õ ÀÚÁÖ ½º¿Ò ¿µ¿ªÀ» ÇÊ¿äÇÏ°Ô µÇ¾î, °á±¹ ¼º´ÉÀ» ÀúÇϽÃÅ°±â ¶§¹®ÀÔ´Ï´Ù. »ç¿ëÀÚÀÇ ½Ã½ºÅÛ¿¡ ¸Â´Â ¼ýÀÚ¸¦ ¾Ë¾Æ³»±â À§Çؼ´Â ´Ù¸¥ ¼ýÀÚ·Î ½ÇÇèÀ» Çغ¸½Ã±â ¹Ù¶ø´Ï´Ù. ¾î¶² ¼ýÀÚ À̻󿡼´Â CPU°¡ ÄÄÆÄÀÏÀ» Çϴµ¥ ÃÖ´ë·Î »ç¿ëµÇ°í Àֱ⠶§¹®¿¡, ÀÛ¾÷ÀÇ ¼ýÀÚ¸¦ ´Ã¸®´Â °ÍÀÌ ´õ ÀÌ»óÀÇ ¼º´É Çâ»óÀ» °¡Á®¿ÀÁö ¾Ê½À´Ï´Ù.
°¢ÁÖ¸¦ º¸¼¼¿ä.
-
Q. Áö±Ý ºôµåÇÏ´Â ÀÛ¾÷ÀÇ ¼ýÀÚ°¡ ´õ ºü¸¥Áö, ¾î¶»°Ô ¾Ë¾Æ³¾ ¼ö ÀÖ³ª¿ä?
A. 'time' ¸í·ÉÀ» »ç¿ëÇϼ¼¿ä.
time make -j 32 bzImage
-
Q: ¸ðµâ¸¦ ºôµåÇÑ ÈÄ, 'make modules_install'À» Çߴµ¥ Àç´ë·Î µ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù. ¹«¾ù ¶§¹®Àΰ¡¿ä? /lib/modules/2.x.x µð·ºÅ丮¾È¿¡ modules.dep ÆÄÀÏÀ» ¹ß°ßÇߴµ¥, ±× ÆÄÀÏÀ» º¹»ç/ÆíÁý/ÇØÅ·À» ÇؾßÇϳª¿ä?
A: ¾Æ´Ï¿ä! make modules_installÀ» ÇÑ ÈÄ, 'depmod -a 2.2.x'¸¦ Çϼ¼¿ä. modules.dep°¡ ÀÚµ¿À¸·Î ¸¸µé¾îÁú °Í ÀÔ´Ï´Ù.
-
Q: ½Ã½ºÅÛ¿¡ ¿©·¯ °³ÀÇ Ä¿³ÎÀ» °¡Áö°í Àִµ¥, ºÎÆÃÇÒ ¶§ À߸øµÈ System.mapÀ̶ó´Â ¸Þ¼¼Áö°¡ ¶å´Ï´Ù. ¾î¶»°Ô °¢ Ä¿³Î¿¡ ¸Â´Â ¿Ã¹Ù¸¥ System.mapÀ» ·ÎµùÇÒ ¼ö ÀÖÀ»±î¿ä?
A: Àü¿¡´Â LiloÀÇ map ¿É¼ÇÀ» »ç¿ëÇ϶ó°í ¸»Çß½À´Ï´Ù. ¿©·¯ »ç¶÷ÀÌ Á¦°Ô ÁöÀûÀ» ÇßµíÀÌ ±×°ÍÀº Ʋ¸³´Ï´Ù. ÀÌ ¹®Á¦¿¡ ´ëÇÑ µÎ °¡Áö °¡´É¼º ÀÖ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. System.map ÆÄÀÏÀ» /boot/¿¡ Çϳª, /usr/src/linux/¿¡ ´Ù¸¥ Çϳª¸¦ µÓ´Ï´Ù. ±×·¯³ª ÀÌ´Â ÃÖ´ë µÎ °³ÀÇ Ä¿³Î À̹ÌÁö¸¸À» Çã¿ëÇÕ´Ï´Ù. ¶Ç ´Ù¸¥ ¹æ¹ýÀº klogd¸¦ ½ÃÀÛÇÏ´Â ½ºÅ©¸³Æ®¸¦ ´Ù½Ã ÀÛ¼ºÇÏ´Â °ÍÀÔ´Ï´Ù. Ä¿³Î ¹öÀüÀ» È®ÀÎÇÏ¿©(uname -r), 'System.map' µÚ¿¡ ºÙÀÎ ÈÄ, ±× ÆÄÀϸíÀ» -k ¿É¼ÇÀ¸·Î klogd·Î ³Ñ±â´Â °ÍÀÔ´Ï´Ù. RedHat 6.0¿¡¼, /etc/rc.d/init.d/syslog ÆÄÀÏÀ» °íÃÄ¾ß ÇÕ´Ï´Ù. 'daemon klogd' ÁÙÀ» ´ÙÀ½°ú °°ÀÌ °íĨ´Ï´Ù:
daemon klogd -k /boot/System.map-`uname -r`
Ä¿³ÎÀ» ºôµåÇÑ ÈÄ, ´ÙÀ½ ¸í·ÉÀ» ¼öÇàÇÕ´Ï´Ù:
mv /usr/src/linux/System.map /boot/System.map-`uname -r`
¸¸¾à ¼±ÅÃÇÑ ¹èÆ÷º»¿¡¼ ½ºÅ©¸³Æ®¸¦ À§¿Í °°Àº µ¿ÀÛÀ» Çϵµ·Ï ¹Ù²Ù·Á´Â ºÐÀÌ ÀÖ´Ù¸é, Á¦°Ô ¾î¶² º¯°æÀ» ÇؾßÇÏ´Â Áö ¾Ë·ÁÁÖ¼¼¿ä. ±×°ÍµéÀº Çѵ¥ ¸ð¾Æ ´ÙÀ½¿¡ Ä¿³Î-ÆÁ ±â»ç¸¦ ¾µ ¶§ ¾Ë·Áµå¸®°Ú½À´Ï´Ù.
-
Q: Á¦ ½Ã½ºÅÛ¿¡´Â ¿©·¯ °³ÀÇ Ä¿³ÎÀÌ ÀÖ½À´Ï´Ù. ¸Å¹ø lilo.conf¸¦ °íÃÄ¾ß ÇÏ´Â ¹®Á¦°¡ ÀÖ½À´Ï´Ù. ´õ ½¬¿î ¹æ¹ýÀº ¾ø³ª¿ä?
A: °¡Àå ½¬¿î ¹æ¹ýÀº lilo.conf¿¡ vmlinuz¿Í vmlinuz.old¸¦ ´Ù °¡Áö°í ÀÖ´Â °Ì´Ï´Ù. (map= Ç׸ñÀ¸·Î System.map°ú System.map.old¸¦ ÁöÁ¤ÇÏ°í)
(´ÙÀ½ ¿¹¿¡¼, ¿ì¸®´Â 2.2.5¸¦ µ¹¸®°í ÀÖ°í, 2.2.4¸¦ ¹é¾÷À¸·Î °¡Áö°í ÀÖÀ¸¸ç, 2.2.6À» ¼³Ä¡ÇÏ·Á°í ÇÕ´Ï´Ù.)
rm -f vmlinuz vmlinuz.old system.map system.map #½Éº¼¸¯ ¸µÅ© ¾ø¾Ö±â
rm -f vmlinuz-2.2.4 System.map-2.2.4 #¿¹Àü Ä¿³Î ¾ø¾Ö±â
ln -s vmlinuz-2.2.5 vmlinuz.old #¹é¾÷ ¸µÅ© ¼³Á¤
ln -s vmlinuz-2.2.6 vmlinuz #»õ·Î¿î Ä¿³Î ¸µÅ© ¼³Á¤
ln -s System.map-2.2.5 System.map.old #¹é¾÷ map ¸µÅ© ¼³Á¤
ln -s System.map-2.2.6 System.map #»õ·Î¿î map ¸µÅ© ¼³Á¤
/sbin/lilo
ÇÑ ¹ø¿¡ µÎ°³ ÀÌ»óÀÇ Ä¿³ÎÀ» °¡Áö°í ÀÖ´Ù¸é, ÀÌ ÀÛ¾÷Àº ´õ ±æ¾îÁú °ÍÀÔ´Ï´Ù. ±×·¡¼ ÀϹÝÀûÀ¸·Î »õ·Î¿î lilo Ç׸ñÀ» Ãß°¡ÇÏ´Â °ÍÀÌ ´õ ½±½À´Ï´Ù.
Á¤Á¤:
ÇÑ µ¶ÀÚ°¡ ³»°Ô ÄÄÆÄÀÏÀº ¸Å¿ì CPU ÀÇÁ¸ÀûÀÎ ÀÛ¾÷À̱⠶§¹®¿¡ ´ÜÀÏ ÇÁ·Î¼¼¼ ½Ã½ºÅÛ¿¡¼ makeÀÇ -j´Â Å« Â÷ÀÌ´Â ¾øÀ» °ÍÀ̶ó´Â ³»¿ëÀÇ ÆíÁö¸¦ º¸³Â´Ù. SMP ¹Ú½º¿¡¼ º¸´Ù À̵æÀº Å©Áö ¾Ê°ÚÁö¸¸ ³» ½Ã½ºÅÛ¿¡¼´Â ºôµå°¡ ´õ »¡¶óÁø µíÇÏ´Ù. ¿¹·Î, Ä¿³Î 2.2.3ac1À» -j 1·Î 98% CPU »ç¿ëÀ²·Î 8m 44s¿¡ ÄÄÆÄÀÏÇß´Ù. -j 32·Î Áõ°¡ÇÒ ¶§, 99% CPU »ç¿ëÀ²¿¡ ½Ã°£ÀÌ 8m 1s·Î ÁÙ¾ú´Ù. ½ÇÇèÇØ º¸¾Æ¶ó. ±× À̵æÀº ¼·Î ´Ù¸¦ °ÍÀÌ´Ù.