![]() |
1. ºÎÆÃ°úÁ¤
½Ã½ºÅÛ¿¡ Àü¿øÀÌ µé¾î¿Í¼ »õ·Ó°Ô ½ÃÀ۵Ǵ °ÍÀ» ºÎÆÃÀ̶ó°í ÇÑ´Ù. ÀÌ ºÎÆÃ °úÁ¤À» ºÎÆ®½ºÆ®·¦(Bootstrap)À̶ó°í Çϴµ¥ ºÎÆ® ½ºÆ®·¦À̶õ ÀÚ½ÅÀ» ÀåÈ(Boot)ÀÇ ²ö(Strap)À» ¹°í¼ ÀϾÁ´Â »ç¶÷À» °¡¸£Å²´Ù.
¿î¿µÃ¼Á¦ÀÇ ÃÖ¼Ò ºÎºÐÀ» ÁÖ ¸Þ¸ð¸®ÀÇ °ø°£À¸·Î ·ÎµåÇØ¼ ÇÁ·Î¼¼¼°¡ À̸¦ ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀ» ÀǹÌÇÑ´Ù. ºÎÆ®½ºÆ®·¦ ÄÚµå´Â º¸Åë ¾î¼Àºí·¯·Î ÀÌ·ç¿öÁ® Àִµ¥ ÇÏ´Â ¿ªÇÒÀº Ä¿³Î ÀÚ·á ±¸Á¶ÀÇ ÃʱâÈ ¹× ½ºÅðú ·¹Áö½ºÅ͸¦ ÃʱâÈ ÇÏ°í ´ÙÀ½ÀÇ CÄڵ尡 ½ÇÇàÇÒ ¼ö ÀÖ´Â ÇüŸ¦ ¸¸µé¾î ÁØ´Ù.
¸®´ª½ºÀÇ ºÎÆÃÀº ´ÙÀ½ÀÇ ¼¼ ´Ü°è·Î ±¸ºÐÀÌ µÈ´Ù.
ù ¹øÂ° ´Ü°è : ÄÄÇ»ÅÍ¿¡ Àü¿øÀÌ µé¾î¿À¸é¼ BIOS°¡ ±¸µ¿µÇ´Â ´Ü°è(POST)
µÎ ¹øÂ° ´Ü°è : ºÎÆ®·Î´õ°¡ ½ÇÇàÇØ¼ Ä¿³ÎÀ» ¸Þ¸ð¸®·Î ·ÎµùÇÏ´Â ´Ü°è(lilo³ª GRUB)
¼¼ ¹øÂ° ´Ü°è : ¸®´ª½º Ä¿³ÎÀÌ ¸Þ¸ð¸® »ó¿¡¼ ÃʱâÈ ÇÏ´Â ´Ü°è
ºÎÆÃ½Ã Ubuntu 7.10ÀÇ °æ¿ì ºÎÆ®·Î´õ¸¦ GRUB¸¦ »ç¿ëÇϸç Ãʱâȴܰ迡¼´Â Upstart¸¦ »ç¿ëÇÑ´Ù.
x86 ÇÁ·Î¼¼¼´Â ³ôÀº ¿ì¼± ¼øÀ§ÀÇ ÇÏÀ§ ȣȯ¼ºÀ» °¡Á³´Ù. ±×·¡¼ PC Æß¿þ¾î´Â ÃÊâ±âÀÇ 8086ÀÇ ¿¹ÀüÀÇ ÁÖ¼Ò ¹æ½ÄÀ» ÀÌ¿ëÇÏ¿© ¿î¿µÃ¼Á¦¸¦ ºÎÆÃÇÑ´Ù. ÀÏ´Ü ºÎÆ® µð¹ÙÀ̽º°¡ ¼±ÅõǸé ù ¼½ÅÍ´Â ÁÖ¼Ò 0x7C00ÀÇ ¸Þ¸ð¸®¿¡ ·ÎµåµÇ°í Á¦¾î°¡ ÁÖ¾îÁø´Ù.
»õ·Ó°Ô Àü¿øÀÌ µé¾î°£ ÇÁ·Î¼¼¼´Â Real mode »óÅÂÀ̰í ÀÌ¹Ì Æß¿þ¾î°¡ °ü¸®ÇÏ´Â µ¥ÀÌÅÍ Å×À̺íÀÌ ÀϺθ¦ Â÷ÁöÇÑ Ã³À½ 640KBÀÇ ¹°¸®Àû ·¥¸¸ ÁÖ¼Ò·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. Ä¿³ÎÀÌ À̰ͺ¸´Ù Å©±â ¶§¹®¿¡ ¸®´ª½º °³¹ßÀÚ´Â Ä¿³Î À̹ÌÁö¸¦ ¸Þ¸ð¸®¿¡ ·ÎµåÇϱâ À§ÇØ Æò¹üÇÏÁö ¾ÊÀº ¹æ¹ýÀ» ã¾Æ¾ß Çß´Ù. ±× °á°ú°¡ ÇÏÀ§ ¸Þ¸ð¸®¿¡ ¸Â´Â ¾ÐÃàµÈ Ä¿³Î À̹ÌÁöÀ̸ç, º¸È£ ¸ðµå¿¡ µé¾î°£ ÈÄ¿¡ ÀÚ½ÅÀ» »óÀ§ ¸Þ¸ð¸®¿¡ ÇÕÃàÇØÁ¦ ÇÒ ¼ö ÀÖ´Â zImage ÆÄÀÏÀÌ´Ù.
±×·¡¼ ºÎÆ® ¼½ÅÍ´Â ÀÚ½ÅÀÌ 500 ¹ÙÀÌÆ®ÀÇ ÄÚµå¿Í 500KB Á¤µµÀÇ »ç¿ë°¡´ÉÇÑ ¸Þ¸ð¸®¸¦ ´ëÇϰí ÀÖ´Ù´Â °ÍÀ» ÀνÄÇÏ°Ô µÈ´Ù. Á¤È®ÇÏ°Ô ºÎÆ® Äڵ尡 ÇÏ´Â ÀÏÀº ½Ã½ºÅÛÀÌ ¾î¶»°Ô ºÎÆ®µÇ´Â°¡¿¡ ´Þ·ÁÀÖ´Ù. Á¤È®ÇÏ°Ô ºÎÆ® Äڵ尡 ÇÏ´Â ÀÏÀº ½Ã½ºÅÛÀÌ ¾î¶»°Ô ºÎÆ®µÇ´Â°¡¿¡ ´Þ·Á ÀÖ´Ù. ºÎÆ® ¼½Åʹ ù¹øÂ° Ä¿³Î ¼½ÅÍÀ̰ųª GRUBÀÏ ¼ö ÀÖ´Ù.
(1) BIOS°¡ ±¸µ¿µÇ´Â ´Ü°è
1) ÀÚüÁø´Ü±â´É(POST)
ÄÄÇ»ÅͰ¡ ½ÇÇàµÇ¸é x86¸Ó½ÅÀÇ °æ¿ì BIOS°¡ 0x7C00¿¡ ÀÖ´Â ¸í·É¾î¸¦ BIOSÀÇ Startup Routine¿¡ ÀÇÇÏ¿© ¸Þ¸ð¸®·Î ·ÎµåÇÑ´Ù.
ÄÄÇ»ÅÍ¿¡ Àü¿øÀÌ µé¾î¿À¸é ÄÄÇ»ÅÍÀÇ Reset Çϵå¿þ¾î°¡ CPUÀÇ ¸®¼Â(RESET) ÇÉ¿¡ Á¤ÇØÁø ³í¸® ½ÅÈ£¸¦ Àü´ÞÇÑ´Ù. ¸®¼Â ½ÅÈ£¸¦ ¹ÞÀº ÇÁ·Î¼¼¼´Â ·¹Áö½ºÅ͵éÀ» ÃʱâÀÇ °ªÀ¸·Î ¼³Á¤ÇÑ ÈÄ Á¤ÇØÁø ¹°¸®ÁÖ¼Ò¿¡ ÀÖ´Â ÀνºÆ®·°¼Ç(Instruction)À» °¡Á®¿Í¼ ½ÇÇàÇÑ´Ù. À̶§ ¹°¸®ÁÖ¼Ò´Â ROMÀ̶ó°í ºÒ¸®¿ì´Â Àбâ Àü¿ë ¸Þ¸ð¸®¿¡ ÀÖ´Â ÁÖ¼Ò·Î ¸ÅÇÎÀÌ µÇ´Âµ¥ ROM¿¡´Â ÄÄÇ»ÅÍÀÇ Ãʱ⠵¿ÀÛÀ» ÁöÁ¤ÇÏ´Â ¸¶ÀÌÅ©·Î Äڵ尡 µé¾î°¡ ÀÖ´Ù. x86¿¡¼´Â BIOS(Basic Input/Output System)¶ó´Â Äڵ尡 µé¾î°¡ ÀÖ´Ù. µµ½º³ª ´Ù¸¥ ¿î¿µÃ¼Á¦¿¡¼´Â BIOS¸¦ ÀÌ¿ëÇÏ¿© ÀÎÅÍ·´Æ® ¹æ½ÄÀÇ Àú¼öÁØ ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù.
¸®´ª½º¿¡¼´Â x86¿¡¼ Á¦°øÇØÁÖ´Â BIOS¸¦ »ç¿ëÇÏÁö ¾Ê°í ÀڽŸ¸ÀÇ ÀåÄ¡ µå¶óÀ̹ö¸¦ »ç¿ëÇÑ´Ù. Ä¿³ÎÀº º¸È£¸ðµå(protected mode)¿¡¼ µ¿ÀÛÇϹǷΠ½ÇÁ¦ ¸ðµå(Real mode)¿¡¼ µ¿ÀÛÇÏ´Â BIOSÀÇ ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù.(´ëÇ¥ÀûÀÎ ¿¹·Î BIOS¿Í ¸®´ª½ºÀÇ ÀÎÅÍ·´Æ® ¼øÀ§°¡ ´Ù¸£´Ù.)
BIOSÀÇ °úÁ¤Àº ´ÙÀ½ÀÇ ³× °¡Áö µ¿ÀÛÀ¸·Î ¿ä¾àÇÒ ¼ö ÀÖ´Ù.
¨ç ÄÄÇ»ÅÍ Çϵå¿þ¾î¿¡ ´ëÇÑ Å×½ºÆ®¸¦ ÇÑ´Ù.(POST : °¢°¢ÀÇ ÀåÄ¡ÀÇ À¯¹«¿Í Á¦´ë·Î µ¿ÀÛÇÏ´ÂÁö È®ÀÎÇÑ´Ù.)
¨è Çϵå¿þ¾î ÀåÄ¡¸¦ ÃʱâÈÇÑ´Ù.(°¢°¢ Çϵå¿þ¾îÀÇ IRQ°¡ Ãæµ¹ÇÏÁö ¾Êµµ·Ï ÇÑ´Ù.)
¨é °¢°¢ÀÇ µð½ºÅ©µé¿¡¼ ºÎÆÃÇÒ ¿î¿µÃ¼Á¦¸¦ ã´Â´Ù.(µð½ºÅ©ÀÇ Ã¹ ¹øÂ° ¼½ÅÍ¿¡ Á¢±ÙÇÑ´Ù.)
¨ê ºÎÆÃÇÒ ¿î¿µÃ¼Á¦¸¦ ãÀ¸¸é ÀåÄ¡ÀÇ Ã¹ ¹øÂ° ¼½ÅÍÀÇ ³»¿ëÀ» ÀÐ¾î¼ ¹°¸® ÁÖ¼Ò 0x0007c00À¸·Î º¹»çÇÏ°í ±× ÁÖ¼Ò·Î Á¡ÇÁÇÏ¿© ¹æ±ÝÀü¿¡ ÀоîµéÀÎ Äڵ带 ¼öÇàÇÑ´Ù.
2) ºÎÆÃ¸Åü°Ë»ö°ú ºÎÆ®·Î´õ ½ÇÇà
POST°úÁ¤ÀÌ ÀÌ»ó¾øÀÌ ÁøÇà ¿Ï·áµÇ¸é °Ë»öµÈ ºÎÆÃ¸Åü(Çϵåµð½ºÅ©, CD-ROM, Ç÷ÎÇÇ µð½ºÅ©µî)¿¡¼ ºÎÆ®·Î´õ(¿¹:GRUB, LILO)¸¦ ºÒ·¯µéÀδÙ. Áï, ¿¹¸¦ µé¾î Çϵåµð½ºÅ©°¡ ºÎÆÃ¸Åü·Î ¼±ÅõǾú´Ù¸é Çϵåµð½ºÅ©ÀÇ ºÎÆÃÆÄƼ¼Ç¿¡ ÀÖ´Â 0¹ø¼½ÅÍ(MBR: Master Boot Record)¿¡ ÀÖ´Â ºÎÆ®·Î´õ(Boot Loader, Áï, GRUB)À» ÀоîµéÀÌ°Ô µÈ´Ù. ºÎÆ®·Î´õ(GRUB)°¡ ¸Þ¸ð¸®¿¡ ÀûÀçµÇ¸é BIOS´Â Á¾·áµÇ°í, ½Ã½ºÅÛÁ¦¾î±ÇÀº ºÎÆ®·Î´õ(GRUB)ÀÌ °®°ÔµÈ´Ù.
(2) ºÎÆ®·Î´õ°¡ ½ÇÇàÇØ¼ Ä¿³ÎÀ» ¸Þ¸ð¸®·Î ·ÎµùÇÏ´Â ´Ü°è
1) ºÎÆ®·Î´õ(GRUB)ÀÇ ½ÇÇà
GRUBÀº ½ÇÇà°ú ÇÔ²² /boot/grub/grub.confÆÄÀÏÀ» ÀÐ¾î¼ ¾î¶² ºÎÆÃ¸Þ´º(Ä¿³Î)·Î ºÎÆÃÀ» ÇÒ °ÍÀΰ¡¸¦ °áÁ¤(ÀÚµ¿°áÁ¤ ¶Ç´Â »ç¿ëÀÚ¼±ÅÃ)ÇÏ°Ô µÈ´Ù. ÀÌÈÄ GRUBÀº Ä¿³Î(kernel)À̹ÌÁö¸¦ ºÒ·¯µéÀÌ°í ½Ã½ºÅÛ Á¦¾î±ÇÀ» Ä¿³Î¿¡°Ô ³Ñ°ÜÁØ´Ù.
2) Ä¿³ÎÀÇ ·Îµù
ÄÄÇ»ÅͰ¡ »õ·Î ½ÃÀÛµÇ¸é ºÎÆÃ½Ã¿¡´Â x86 ½Ã½ºÅÛ¿¡¼´Â ÄÄÇ»ÅÍ¿¡ ¼³Ä¡µÈ ¸Þ¸ð¸®ÀÇ ¾çÀÌ ¾ó¸¶°¡ µÇ´øÁö 640KBÀÇ °ø°£¸¸ »ç¿ëÀÌ °¡´ÉÇÏ´Ù. ÀϹÝÀûÀÎ °æ¿ì Ä¿³ÎÀÌ »ç¿ëÇÏ´Â ¸Þ¸ð¸®ÀÇ Å©±â´Â ÀÌ Å©±â¸¦ ³Ñ¾î°¡±â ¶§¹®¿¡ Ä¿³ÎÀº ¾ÐÃàµÈ ÇüÅ·ΠÀÖ°Ô µÈ´Ù. ÀϹÝÀûÀÎ ¸®´ª½ºÀÇ Ä¿³ÎÀº vmlinux(¿©±â¼ vmÀº Virtual Memory¸¦ ¶æÇÔ)ÀÌÁö¸¸ zImage³ª bzImage(gzipÀ¸·Î ¾ÐÃàµÈ ÇüÅÂ)¿Í °°Àº ÇüÅ·Π»ç¿ëµÈ´Ù. ½Ã½ºÅÛÀÌ ºÎÆÃÀÌ µÇ¸é 640KBÀÇ ÇÏÀ§ ¸Þ¸ð¸®¿¡ Ä¿³ÎÀ» ·Îµå ÇÑ ÈÄ »óÀ§ ¸Þ¸ð¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¼¼ÆÃÇÑ ÈÄ Ä¿³ÎÀÇ À̹ÌÁöÀÇ ¾ÐÃàÀ» ÇØÁ¦ÇÑ´Ù.
GRUBÀº ÇØ´çÇÏ´Â Ä¿³ÎÀÇ À̹ÌÁö¸¦ ·ÎµùÇØ¼ ½ÇÇàÇÏ°Ô µÈ´Ù. ±âº» ¼³Á¤À¸·Î´Â /vmlinuz ¶Ç´Â /boot/vmlinuzÀ̹ÌÁö°¡ ½ÇÇàµÈ´Ù. ¿©±â¼ swapper ¶ó°íµµ ºÒ¸® ¿ì´Â ÇÁ·Î¼¼½º id 0 ÀÎ ÇÁ·Î¼¼½º°¡ ½ÇÇàµÈ´Ù. ÀÌ ÇÁ·Î¼¼½º´Â ¿î¿µÃ¼Á¦ ±× ÀÚü¶ó°íµµ ÇÒ ¼ö ÀÖ´Â ÇÁ·Î¼¼½º·Î½á, ¸Þ¸ð¸® °ü¸®, µð½ºÅ© °ü¸®, ÇÁ·Î¼¼½º °ü¸® µîÀ» ¼öÇàÇÑ´Ù. ÀÌ ÇÁ·Î¼¼½º´Â ÇÁ·Î¼¼½º id 1 ÀÎ init ¶ó´Â ÇÁ·Î¼¼½º¸¦ ½ÇÇà½Ã۰í´Â º»¿¬ÀÇ ±â´ÉÀÎ swapper·Î¼ÀÇ ±â´ÉÀ» ¼öÇàÇϱ⠽ÃÀÛÇÑ´Ù.
swapper¶õ "Àáµé¾î" ÀÖ´Â ÇÁ·Î¼¼½º¸¦ ¸Þ¸ð¸®¿¡¼ ³»·Á¼ µð½ºÅ© °ø°£¿¡ Àá½Ã "½º¿Ò"½ÃÄ×´Ù°¡, ±× ÇÁ·Î¼¼½º°¡ ±ú¾î³ª¾ß¸¸ ÇÒ ½Ã±â°¡ ¿À¸é, µð½ºÅ©ÀÇ ÇÁ·Î¼¼½º¸¦ ´Ù½Ã ¸Þ¸ð¸®·Î ÀûÀçÇØ ÁÖ´Â µîÀÇ ÀÏÀ» ÇÏ´Ù.
(2) ¸®´ª½º Ä¿³ÎÀÌ ¸Þ¸ð¸® »ó¿¡¼ ÃʱâÈ ÇÏ´Â ´Ü°è
1) Ä¿³Î(Kernel) ¼Ò½º ºÐ¼®
GRUBÀº ¸®´ª½º¿¡¼ ºÎÆÃ°ú °ü·ÃµÈ Ä¿³Î ¼Ò½º´Â 'arch/i386/boot/'¿¡ À§Ä¡ÇÏ°Ô µÈ´Ù. (x86ÀÇ °æ¿ì) bootÀÇ µð·ºÅ丮ÀÇ ±¸Á¶´Â ´ÙÀ½°ú °°´Ù.
¿©±â¼ °ü½ÉÀ» °¡Á®¼ ºÐ¼®ÇÒ ÆÄÀÏÀº bootsect.S, setup.S¿Í compressed µð·ºÅ丮 ¾È¿¡ ÀÖ´Â head.SÀÌ´Ù.
¨ç bootsect.S : Ä¿³ÎÀÌ ºÎÆÃÀÌ µÇ¸é bootsect.S¿¡¼ ¹ÙÀÌ¿À½º¿¡¼ 0x7C00À¸·Î ·ÎµåµÈ Ä¿³ÎÀ» 0x90000·Î º¹»çÇÑ´Ù. ºÎÆÃ°ú °ü·ÃµÈ ±âº»ÀûÀÎ µð½ºÅ©Á¤º¸ ¹× ÆÄ¶ó¹ÌÅÍ Á¤º¸¸¦ »ìÆìº¸°í setup.S¸¦ È£ÃâÇÑ´Ù.
¨è setup.S : ½Ã½ºÅÛ¿¡¼ »ç¿ëÇÒ data¸¦ BIOS·ÎºÎÅÍ Àоî¿Í¼ system ¸Þ¸ð¸®¿¡ ÀúÀåÇÑ´Ù.
¨é head.S : ¾ÐÃàµÈ Ä¿³ÎÀÇ ¾ÐÃàÀ» ÇØÁ¦Çϰí Ä¿³ÎÀ» ½ÇÇàÇÏ´Â start_kernel()À» È£ÃâÇÑ´Ù.
2) swapperÀÇ initÇÁ·Î¼¼½º ½ÇÇà
Ä¿³Î ºÎÆ® ÇÁ·Î¼¼½º´Â ¸Å¿ì º¹ÀâÇÏÁö¸¸ ¸Å¿ì ºü¸£´Ù. ´ëºÎºÐÀÇ Äڵ尡 ÇØ´ç ½Ã½ºÅÛÀÇ ±â°è¾î·Î ÀÛ¼ºµÇ±â ¶§¹®ÀÌ´Ù. Ä¿³Î ºÎÆ® ¼ø¼ÀÇ ¸»¹Ì¿¡, init ÇÁ·Î¼¼½º°¡ ½ÃÀ۵Ǹç, initÀº ¸®´ª½º ½Ã½ºÅÛ¿¡¼ »ý¼ºµÈ ù ¹øÂ° ÇÁ·Î¼¼½º À̹ǷÎ, À̰ÍÀº ´Ù¸¥ ¸ðµç ÇÁ·Î¼¼½ºµéÀÇ ºÎ¸ð(Parent)ÀÎ ¼ÀÀÌ´Ù. (¸ðµç ÇÁ·Î¼¼½ºµéÀº initÀÇ ÀÚ¼Õ(child)À̶ó°í ÇÒ ¼ö ÀÖ´Ù.)
init ÇÁ·Î¼¼½º´Â Ä¿³Î ºÎÆ® ½ÃÄö½º°¡ ¿Ï·áµÇ¸é¼ »ý¼ºµÈ ù ¹øÂ° ÇÁ·Î¼¼½ºÀÌ´Ù. ¸®´ª½º´Â init ÇÁ·Î¼¼½º¸¦ »ç¿ëÇÏ¿© ¼ºñ½º¿Í ¾ÖÇø®ÄÉÀ̼ÇÀ» ÃʱâÈ Çϴµ¥, À̰ÍÀÌ ¸®´ª½º¸¦ ´õ¿í À¯¿ëÇÏ°Ô ¸¸µç´Ù.
init ÇÁ·Î¼¼½º°¡ ½ÃÀÛµÉ ¶§, /etc/inittab.À̶ó°í ÇÏ´Â ÆÄÀÏÀ» ¿¬´Ù. ÀÌ ÆÄÀÏÀº init¿ë ¼³Á¤ ÆÄÀÏÀ̰í, ½Ã½ºÅÛÀ» ÃʱâÈ ÇÏ´Â ¹æ¹ýÀ» Á¤ÀÇÇϰí ÀÖ´Ù. ÀÌ ÆÄÀÏ¿¡´Â Àü¿ø ¿À·ù°¡ ¹ß»ýÇÒ ¶§ ¹«¾ùÀ» ÇØ¾ß ÇÏ´ÂÁö¿¡ ´ëÇÑ Á¤º¸¿Í, Ctrl-Alt-Delete Ű ½ÃÄö½º¸¦ ŽÁöÇÒ ¶§ ¹ÝÀÀÇÏ´Â ¹æ¹ý µîÀ» ¼ö·ÏÇϰí ÀÖ´Ù.
ÇÏÁö¸¸ Ubuntu¿¡¼´Â ÀüÅëÀûÀÎ init ÇÁ·Î¼¼½º¸¦ ½ÇÇàÇÏÁö ¾Ê°í event¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â Ubuntu °íÀ¯ÀÇ init ÇÁ·Î¼¼½º¸¦ ½ÇÇàÇϱ⠶§¹®¿¡ inittab°ú sysinitµîÀÇ ÆÄÀÏÀº Á¸ÀçÇÏÁö ¾Ê´Â´Ù. upstart¸¦ ÅëÇÏ¿© event¸¦ ó¸®ÇÏ¿© Ãʱâȸ¦ ÇÑ´Ù.
Upstart°¡ ½ÇÇàÀÌ µÇ¾î Run level¿¡ ¸ÂÃß¾î ¼³Á¤µÇ¾îÁø ÃʱâÈ ½ºÅ©¸³Æ®¸¦ º´·ÄÀûÀÎ ±¸Á¶·Î ºñµ¿±â½Ä À̺¥Æ®µéÀÌ ½ÇÇàÀÌ µÉ °ÍÀÌ´Ù.
[½ÇÇà·¹º§(runlevels) ÀÇ Á¾·ù] - 0 : ½Ã½ºÅÛ ÁßÁö
1 : ´ÜÀÏ »ç¿ëÀÚ, single mode, network »ç¿ëºÒ°¡
2 : »ç¿ëµÇÁö ¾ÊÀ½
3 : ´ÙÁß»ç¿ëÀÚ, multiuser, ±âº»ÀûÀÎ ½ÇÇà·¹º§
4 : »ç¿ëµÇÁö ¾ÊÀ½
5 : X À©µµ¿ì ½Ã½ºÅÛ
6 : ½Ã½ºÅÛ Á¦½ÃÀÛ,reboot ±â´É
2. dmesg¸¦ ÀÌ¿ëÇÑ ºÎÆÃ½Ã Çϵå¿þ¾î Á¤º¸
(1) GRUBÀ» ÅëÇÏ¿© Ä¿³Î À̹ÌÁö ·Îµù
[ 0.000000] Linux version 2.6.22-14-generic (buildd@terranova) (gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)) #1 SMP Tue Feb 12 07:42:25 UTC 2008 (Ubuntu 2.6.22-14.52-generic)
(2) Memory ÃʱâÈ
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
[ 0.000000] BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 000000004ffd0000 (usable)
[ 0.000000] BIOS-e820: 000000004ffd0000 - 000000004ffdf000 (ACPI data)
[ 0.000000] BIOS-e820: 000000004ffdf000 - 0000000050000000 (ACPI NVS)
[ 0.000000] BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved)
[ 0.000000] 383MB HIGHMEM available.
[ 0.000000] 896MB LOWMEM available.
[ 0.000000] Entering add_active_range(0, 0, 327632) 0 entries of 256 used
[ 0.000000] Zone PFN ranges:
[ 0.000000] DMA 0 -> 4096
[ 0.000000] Normal 4096 -> 229376
[ 0.000000] HighMem 229376 -> 327632
[ 0.000000] early_node_map[1] active PFN ranges
[ 0.000000] 0: 0 -> 327632
[ 0.000000] On node 0 totalpages: 327632
[ 0.000000] DMA zone: 32 pages used for memmap
[ 0.000000] DMA zone: 0 pages reserved
[ 0.000000] DMA zone: 4064 pages, LIFO batch:0
[ 0.000000] Normal zone: 1760 pages used for memmap
[ 0.000000] Normal zone: 223520 pages, LIFO batch:31
[ 0.000000] HighMem zone: 767 pages used for memmap
[ 0.000000] HighMem zone: 97489 pages, LIFO batch:31
[ 0.000000] DMI 2.3 present.
(3) Upstart¸¦ ÅëÇÑ init Run level ½ºÅ©¸³Æ® ½ÇÇà
[ 0.000000] ACPI: RSDP signature @ 0xC00F55D0 checksum 0
[ 0.000000] ACPI: RSDP 000F55D0, 0014 (r0 ACPIAM)
[ 0.000000] ACPI: RSDT 4FFD0000, 0030 (r1 SEC MAGIC 11000324 MSFT 97)
[ 0.000000] ACPI: FACP 4FFD0200, 0081 (r2 SEC MAGIC 11000324 MSFT 97)
[ 0.000000] ACPI: DSDT 4FFD03F0, 3429 (r1 SEC MAGIC 0 INTL 2002026)
[ 0.000000] ACPI: FACS 4FFDF000, 0040
[ 0.000000] ACPI: APIC 4FFD0390, 005C (r1 SEC OEMAPIC 11000324 MSFT 97)
[ 0.000000] ACPI: OEMB 4FFDF040, 0040 (r1 SEC AMI_OEM 11000324 MSFT 97)
(3) Çϵå¿þ¾î ÀåÄ¡ ÃʱâÈ
[ 0.000000] ACPI: PM-Timer IO Port: 0x808
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
[ 0.000000] Processor #0 15:2 APIC version 20
[ 0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x81] disabled)
[ 0.000000] ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
[ 0.000000] IOAPIC[0]: apic_id 1, version 2, address 0xfec00000, GSI 0-23
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
[ 0.000000] ACPI: IRQ0 used by override.
[ 0.000000] ACPI: IRQ2 used by override.
[ 0.000000] ACPI: IRQ9 used by override.
[ 0.000000] Enabling APIC mode: Flat. Using 1 I/O APICs
[ 0.000000] Using ACPI (MADT) for SMP configuration information
[ 0.000000] Allocating PCI resources starting at 60000000 (gap: 50000000:aff80000)
[ 0.000000] Built 1 zonelists. Total pages: 325073
[ 0.000000] Kernel command line: root=UUID=7f1a16e4-b7f0-44d3-abce-dc4bf5c5af8e ro quiet splash
[ 0.000000] mapped APIC to ffffd000 (fee00000)
[ 0.000000] mapped IOAPIC to ffffc000 (fec00000)
[ 0.000000] Enabling fast FPU save and restore... done.
[ 0.000000] Enabling unmasked SIMD FPU exception support... done.
[ 0.000000] Initializing CPU#0
[ 0.000000] PID hash table entries: 4096 (order: 12, 16384 bytes)
[ 0.000000] Detected 2806.497 MHz processor.
[ 13.881279] Console: colour VGA+ 80x25
[ 13.881999] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 13.882706] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 13.933795] Memory: 1287324k/1310528k available (2015k kernel code, 21988k reserved, 915k data, 364k init, 393024k highmem)
[ 13.933807] virtual kernel memory layout:
[ 13.933808] fixmap : 0xfff4d000 - 0xfffff000 ( 712 kB)
[ 13.933809] pkmap : 0xff800000 - 0xffc00000 (4096 kB)
[ 13.933810] vmalloc : 0xf8800000 - 0xff7fe000 ( 111 MB)
[ 13.933812] lowmem : 0xc0000000 - 0xf8000000 ( 896 MB)
[ 13.933814] .init : 0xc03e3000 - 0xc043e000 ( 364 kB)
[ 13.933815] .data : 0xc02f7e86 - 0xc03dce84 ( 915 kB)
[ 13.933816] .text : 0xc0100000 - 0xc02f7e86 (2015 kB)
[ 13.933819] Checking if this processor honours the WP bit even in supervisor mode... Ok.
[ 13.933872] SLUB: Genslabs=22, HWalign=64, Order=0-1, MinObjects=4, CPUs=1, Nodes=1
[ 14.013711] Calibrating delay using timer specific routine.. 5617.27 BogoMIPS (lpj=11234546)
[ 14.013750] Security Framework v1.0.0 initialized
[ 14.013761] SELinux: Disabled at boot.
[ 14.013776] Mount-cache hash table entries: 512
[ 14.013969] CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000
[ 14.013983] CPU: Trace cache: 12K uops, L1 D cache: 8K
[ 14.013986] CPU: L2 cache: 512K
[ 14.013989] CPU: Hyper-Threading is disabled
[ 14.013991] CPU: After all inits, caps: bfebfbff 00000000 00000000 0000b080 00004400 00000000 00000000
[ 14.014005] Compat vDSO mapped to ffffe000.
[ 14.014022] Checking 'hlt' instruction... OK.
[ 14.029835] SMP alternatives: switching to UP code
[ 14.030128] Freeing SMP alternatives: 11k freed
[ 14.030426] Early unpacking initramfs... done
[ 14.317711] ACPI: Core revision 20070126
[ 14.317771] ACPI: Looking for DSDT in initramfs... error, file /DSDT.aml not found.
[ 14.319469] CPU0: Intel(R) Pentium(R) 4 CPU 2.80GHz stepping 09
[ 14.319510] Total of 1 processors activated (5617.27 BogoMIPS).
[ 14.319623] ENABLING IO-APIC IRQs
[ 14.319806] ..TIMER: vector=0x31 apic1=0 pin1=2 apic2=-1 pin2=-1
[ 14.464697] Brought up 1 CPUs
[ 14.464827] Booting paravirtualized kernel on bare hardware
[ 14.464904] Time: 2:45:28 Date: 03/04/108
[ 14.464930] NET: Registered protocol family 16
[ 14.465033] EISA bus registered
[ 14.465049] ACPI: bus type pci registered
[ 14.466556] PCI: PCI BIOS revision 2.10 entry at 0xf0031, last bus=1
[ 14.466558] PCI: Using configuration type 1
[ 14.466560] Setting up standard PCI resources
[ 14.479634] ACPI: EC: Look up EC in DSDT
[ 14.482598] ACPI: Interpreter enabled
[ 14.482602] ACPI: (supports S0 S1 S3 S4 S5)
[ 14.482622] ACPI: Using IOAPIC for interrupt routing
[ 14.490489] ACPI: PCI Root Bridge [PCI0] (0000:00)
[ 14.490507] PCI: Probing PCI hardware (bus 00)
[ 14.490724] Enabling SiS 96x SMBus.
[ 14.491371] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[ 14.496121] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 10 *11 12 14 15)
[ 14.496220] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 10 11 12 14 15) *0, disabled.
[ 14.496317] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 7 10 11 12 14 15)
[ 14.496413] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 *5 7 10 11 12 14 15)
[ 14.496511] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 *5 7 10 11 12 14 15)
[ 14.496647] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 10 *11 12 14 15)
[ 14.496776] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 7 10 11 12 14 15) *0, disabled.
[ 14.496873] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 *5 7 10 11 12 14 15)
[ 14.496971] Linux Plug and Play Support v0.97 (c) Adam Belay
[ 14.496987] pnp: PnP ACPI init
[ 14.496998] ACPI: bus type pnp registered
[ 14.500590] pnp: PnP ACPI: found 15 devices
[ 14.500593] ACPI: ACPI bus type pnp unregistered
[ 14.500598] PnPBIOS: Disabled by ACPI PNP
[ 14.500661] PCI: Using ACPI for IRQ routing
[ 14.500664] PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report
[ 14.504000] NET: Registered protocol family 8
[ 14.504002] NET: Registered protocol family 20
[ 14.504090] pnp: 00:0b: ioport range 0x295-0x296 has been reserved
[ 14.504093] pnp: 00:0b: ioport range 0x3e0-0x3e7 has been reserved
[ 14.504098] pnp: 00:0c: iomem range 0xffe80000-0xffefffff has been reserved
[ 14.504102] pnp: 00:0c: iomem range 0xfff80000-0xffffffff could not be reserved
[ 14.504107] pnp: 00:0d: iomem range 0xfec00000-0xfec00fff has been reserved
[ 14.504110] pnp: 00:0d: iomem range 0xfee00000-0xfee00fff has been reserved
[ 14.504115] pnp: 00:0e: iomem range 0x0-0x9ffff could not be reserved
[ 14.504117] pnp: 00:0e: iomem range 0xc0000-0xdffff could not be reserved
[ 14.504120] pnp: 00:0e: iomem range 0xe0000-0xfffff could not be reserved
[ 14.504123] pnp: 00:0e: iomem range 0x100000-0x4fffffff could not be reserved
[ 14.504565] Time: tsc clocksource has been installed.
[ 14.534389] PCI: Bridge: 0000:00:01.0
[ 14.534391] IO window: disabled.
[ 14.534398] MEM window: dde00000-dfefffff
[ 14.534403] PREFETCH window: cdd00000-ddcfffff
[ 14.534429] NET: Registered protocol family 2
// TCP/IP ¼³Á¤
[ 14.564477] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 14.564638] TCP established hash table entries: 131072 (order: 8, 1572864 bytes)
[ 14.566425] TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
[ 14.566957] TCP: Hash tables configured (established 131072 bind 65536)
[ 14.566964] TCP reno registered
[ 14.576602] checking if image is initramfs... it is
[ 15.035328] Switched to high resolution mode on CPU 0
[ 15.143116] Freeing initrd memory: 7066k freed
[ 15.143525] audit: initializing netlink socket (disabled)
[ 15.143542] audit(1207277127.968:1): initialized
[ 15.143636] highmem bounce pool size: 64 pages
[ 15.145663] VFS: Disk quotas dquot_6.5.1
[ 15.145717] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
// ÀÔÃâ·Â ½ºÄÉÁÙ·¯
[ 15.145829] io scheduler noop registered
[ 15.145831] io scheduler anticipatory registered
[ 15.145833] io scheduler deadline registered
[ 15.145850] io scheduler cfq registered (default)
[ 15.506143] Boot video device is 0000:01:00.0
[ 15.506315] isapnp: Scanning for PnP cards...
[ 15.859475] isapnp: No Plug & Play device found
[ 15.886368] Real Time Clock Driver v1.12ac
// ½Ã¸®¾ó Æ÷Æ®
[ 15.886473] Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
[ 15.886582] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 15.886804] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[ 15.887501] 00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 15.887836] 00:08: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[ 15.888617] RAMDISK driver initialized: 16 RAM disks of 65536K size 1024 blocksize
[ 15.888867] input: Macintosh mouse button emulation as /class/input/input0
[ 15.888956] PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at 0x60,0x64 irq 1,12
[ 15.889285] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 15.889291] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 15.889459] mice: PS/2 mouse device common for all mice
[ 15.889573] EISA: Probing bus 0 at eisa.0
[ 15.889612] EISA: Detected 0 cards.
[ 15.889817] TCP cubic registered
[ 15.889834] NET: Registered protocol family 1
[ 15.889858] Using IPI No-Shortcut mode
[ 15.890023] Magic number: 4:730:762
[ 15.890028] hash matches device serio0
[ 15.890635] Freeing unused kernel memory: 364k freed
[ 15.933207] input: AT Translated Set 2 keyboard as /class/input/input1
[ 17.105114] AppArmor: AppArmor initialized<5>audit(1207277129.968:2): type=1505 info="AppArmor initialized" pid=1183
[ 17.112360] fuse init (API version 7.8)
[ 17.117644] Failure registering capabilities with primary security module.
[ 17.132594] ACPI: Processor [CPU1] (supports 8 throttling states)
[ 17.132610] ACPI Exception (processor_core-0783): AE_NOT_FOUND, Processor Device is not present [20070126]
[ 17.749076] SCSI subsystem initialized
[ 17.754375] libata version 2.21 loaded.
[ 17.756026] pata_sis 0000:00:02.5: version 0.5.1
[ 17.756181] scsi0 : pata_sis
[ 17.756230] scsi1 : pata_sis
[ 17.756338] ata1: PATA max UDMA/133 cmd 0x000101f0 ctl 0x000103f6 bmdma 0x0001ff00 irq 14
[ 17.756342] ata2: PATA max UDMA/133 cmd 0x00010170 ctl 0x00010376 bmdma 0x0001ff08 irq 15
[ 17.805275] usbcore: registered new interface driver usbfs
[ 17.805304] usbcore: registered new interface driver hub
[ 17.805327] usbcore: registered new device driver usb
[ 17.812303] ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver
[ 17.831002] 8139cp: 10/100 PCI Ethernet driver v1.3 (Mar 22, 2004)
// ÀúÀå¸Åü ÃʱâÈ
[ 17.916601] ata1.00: ATA-6: SAMSUNG SV4002H, QP100-07, max UDMA/100
[ 17.916606] ata1.00: 78242976 sectors, multi 16: LBA
[ 17.923593] Floppy drive(s): fd0 is 1.44M
[ 17.932607] ata1.00: configured for UDMA/100
[ 17.981659] FDC 0 is a post-1991 82077
[ 18.251714] ata2.00: ATAPI: SAMSUNG CD-ROM SC-152A, C201, max MWDMA2
[ 18.423294] ata2.00: configured for PIO4
[ 18.423431] scsi 0:0:0:0: Direct-Access ATA SAMSUNG SV4002H QP10 PQ: 0 ANSI: 5
[ 18.424370] scsi 1:0:0:0: CD-ROM SAMSUNG CD-ROM SC-152A C201 PQ: 0 ANSI: 5
[ 18.427797] ACPI: PCI Interrupt 0000:00:03.0[A] -> GSI 20 (level, low) -> IRQ 16
[ 18.427816] ohci_hcd 0000:00:03.0: OHCI Host Controller
[ 18.428028] ohci_hcd 0000:00:03.0: new USB bus registered, assigned bus number 1
[ 18.428048] ohci_hcd 0000:00:03.0: irq 16, io mem 0xdfffc000
[ 18.444481] sd 0:0:0:0: [sda] 78242976 512-byte hardware sectors (40060 MB)
[ 18.444524] sd 0:0:0:0: [sda] Write Protect is off
[ 18.444527] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 18.444550] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 18.444620] sd 0:0:0:0: [sda] 78242976 512-byte hardware sectors (40060 MB)
[ 18.444631] sd 0:0:0:0: [sda] Write Protect is off
[ 18.444633] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 18.444650] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 18.444655] sda: sda1 sda2 < sda5 >
[ 18.478701] sd 0:0:0:0: [sda] Attached SCSI disk
[ 18.485231] usb usb1: configuration #1 chosen from 1 choice
[ 18.485267] hub 1-0:1.0: USB hub found
[ 18.485279] hub 1-0:1.0: 3 ports detected
[ 18.486789] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 18.486962] sr 1:0:0:0: Attached scsi generic sg1 type 5
[ 18.517188] sr0: scsi3-mmc drive: 52x/52x cd/rw xa/form2 cdda tray
[ 18.517194] Uniform CD-ROM driver Revision: 3.20
[ 18.517476] sr 1:0:0:0: Attached scsi CD-ROM sr0
[ 18.586764] ACPI: PCI Interrupt 0000:00:03.1[B] -> GSI 21 (level, low) -> IRQ 17
[ 18.586783] ohci_hcd 0000:00:03.1: OHCI Host Controller
[ 18.586812] ohci_hcd 0000:00:03.1: new USB bus registered, assigned bus number 2
[ 18.586830] ohci_hcd 0000:00:03.1: irq 17, io mem 0xdfffd000
[ 18.644591] usb usb2: configuration #1 chosen from 1 choice
[ 18.644623] hub 2-0:1.0: USB hub found
[ 18.644634] hub 2-0:1.0: 3 ports detected
[ 18.746492] 8139cp 0000:00:08.0: This (id 10ec:8139 rev 10) is not an 8139C+ compatible chip
[ 18.746498] 8139cp 0000:00:08.0: Try the "8139too" driver instead.
[ 18.748172] ACPI: PCI Interrupt 0000:00:03.3[D] -> GSI 23 (level, low) -> IRQ 18
[ 18.748187] ehci_hcd 0000:00:03.3: EHCI Host Controller
[ 18.748218] ehci_hcd 0000:00:03.3: new USB bus registered, assigned bus number 3
[ 18.748258] PCI: cache line size of 128 is not supported by device 0000:00:03.3
[ 18.748269] ehci_hcd 0000:00:03.3: irq 18, io mem 0xdfffe000
[ 18.748278] ehci_hcd 0000:00:03.3: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
[ 18.748373] usb usb3: configuration #1 chosen from 1 choice
[ 18.748403] hub 3-0:1.0: USB hub found
[ 18.748411] hub 3-0:1.0: 6 ports detected
[ 18.748729] 8139too Fast Ethernet driver 0.9.28
[ 18.850260] ACPI: PCI Interrupt 0000:00:08.0[A] -> GSI 19 (level, low) -> IRQ 19
// Ethernet ÀåÄ¡ ÃʱâÈ
[ 18.850595] eth0: RealTek RTL8139 at 0xf883ec00, 00:01:39:04:94:01, IRQ 19
[ 18.850598] eth0: Identified 8139 chip type 'RTL-8100B/8139D'
[ 18.926762] Attempting manual resume
[ 18.926767] swsusp: Resume From Partition 8:5
[ 18.926768] PM: Checking swsusp image.
[ 18.944927] PM: Resume from disk failed.
[ 19.009201] kjournald starting. Commit interval 5 seconds
// Filesystem Mounting
[ 19.009215] EXT3-fs: mounted filesystem with ordered data mode.
// ³×Æ®¿öÅ© ¿¬°á
[ 27.306984] eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
[ 28.204645] NET: Registered protocol family 10
[ 28.204728] lo: Disabled Privacy Extensions
[ 28.999526] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[ 29.105863] Linux agpgart interface v0.102 (c) Dave Jones
[ 29.142951] agpgart: Detected SiS chipset - id:1608
[ 29.147353] agpgart: AGP aperture is 64M @ 0xe0000000
[ 29.159917] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[ 29.180703] sis96x_smbus 0000:00:02.1: SiS96x SMBus base address: 0x0c00
// ½ºÇÇÄ¿ ÀÔ·Â
[ 29.731451] input: PC Speaker as /class/input/input2
[ 30.134717] ACPI: PCI Interrupt 0000:00:02.7[C] -> GSI 18 (level, low) -> IRQ 20
[ 30.398729] input: ImPS/2 Generic Wheel Mouse as /class/input/input3
// Ç÷¯±× & Ç÷¹ÀÌ
[ 30.403075] parport_pc 00:0a: reported by Plug and Play ACPI
[ 30.403186] parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,EPP,ECP,DMA]
[ 30.457639] intel8x0_measure_ac97_clock: measured 54986 usecs
[ 30.457643] intel8x0: clocking to 48000
[ 31.000589] lp0: using parport0 (interrupt-driven).
[ 31.061784] Adding 1646620k swap on /dev/sda5. Priority:-1 extents:1 across:1646620k
[ 31.441590] EXT3 FS on sda1, internal journal
[ 32.639482] No dock devices found.
[ 32.712273] input: Power Button (FF) as /class/input/input4
[ 32.717077] ACPI: Power Button (FF) [PWRF]
[ 32.749617] input: Power Button (CM) as /class/input/input5
[ 32.754377] ACPI: Power Button (CM) [PWRB]
// ÀÔÃâ·Â Æ÷Æ®
[ 34.433738] ppdev: user-space parallel port driver
[ 34.682264] audit(1207277148.582:3): type=1503 operation="inode_permission" requested_mask="a" denied_mask="a" name="/dev/tty" pid=4507 profile="/usr/sbin/cupsd"
[ 34.728328] apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
[ 34.728334] apm: overridden by ACPI.
[ 34.974775] Failure registering capabilities with primary security module.
// ºí·çÅõ½º
[ 35.181130] Bluetooth: Core ver 2.11
[ 35.181274] NET: Registered protocol family 31
[ 35.181277] Bluetooth: HCI device and connection manager initialized
[ 35.181280] Bluetooth: HCI socket layer initialized
[ 35.201379] Bluetooth: L2CAP ver 2.8
[ 35.201385] Bluetooth: L2CAP socket layer initialized
[ 35.345030] Bluetooth: RFCOMM socket layer initialized
[ 35.345155] Bluetooth: RFCOMM TTY layer initialized
[ 35.345158] Bluetooth: RFCOMM ver 1.8
[ 38.278541] eth0: no IPv6 routers present
3. Upstart init: /etc/event.d (inittab, sysinit)
(1) Upstart ¶õ?
UNIX System VºÎÅÍ ÇöÀç ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷ÆÇ¿¡ Áö±Ý±îÁö »ç¿ëÇÏ´Â sysvinit ½Ã½ºÅÛÀÌ Ubuntu Edgy ¹öÀü¿¡¼ºÎÅÍ´Â upstart¶ó´Â À̺¥Æ®-ÀÛ¾÷(job) ±â¹Ý ½Ã½ºÅÛÀ¸·Î ±³Ã¼µÇ¾ú´Ù.
¾Æ¸¶µµ °¡Àå Å« º¯È´Â hotplug devices, USB hard and flash drives, and network-mounted filesystems, USB ¸Þ¸ð¸®³ª USB ³×Æ®¿÷ Àåġó·³ ½ÇÇà Áß¿¡ Ãß°¡µÇ°í »èÁ¦µÇ´Â ȯ°æÀ» °í·ÁÇÑ´Ù´Â Á¡À̰í, À̺¥Æ® ±â¹ÝÀ¸·Î ½Ã½ºÅÛ ÃʱâÈ ½ºÅ©¸³Æ®(/etc/rcS.d)°¡ ÀçÀÛ¼ºµÇ°í, °á±¹¿¡´Â ¸ðµç ÆÐŰÁöÀÇ µ¥¸óÀÌ upstart ¹æ½ÄÀ¸·Î º¯°æµÉ °Í °°´Ù.
ÇöÀç Ubuntu¿¡¼´Â upstart¿¡ °üÇØ¼ °ø½Ä ȨÆäÀÌÁö¿Í ÆÐŰÁö¸¦ ¹èÆ÷ÁßÀÌ´Ù. upstart´Â ubuntu »Ó¸¸ ¾Æ´Ï¶ó Ÿ ¸®´ª½º¿¡¼µµ »ç¿ëµÇ¾î Áú ¼ö ÀÖ´Ù. ´ÙÀ½Àº ÆÐŰÁöµéÀÌ´Ù.
The Upstart system comprises five packages, all of which are installed by default:
upstart provides the Upstart init daemon and initctl utility.
upstart-logd provides the logd daemon and the job definition file for the logd service.
upstart-compat-sysv provides job definition files for the rc tasks as well as the reboot, runlevel, shutdown, and telinit utilities that provide compatibility with SysVinit.
startup-tasks provides job definition files for system startup tasks.
system-services provides job definition files for tty services.
ÄÄÇ»ÅͰ¡ ½ÇÇà
(2) Svsvint¿¡¼ Upstart·ÎÀÇ ´ëü
¸¹Àº ½ºÅ©¸³Æ®µéÀÌ ¼øÂ÷ÀûÀ¸·Î(serially) ½ÇÇàµÇ¾î ÇÊ¿äÇÑ ´Ù¾çÇÑ ¼ºñ½ºµéÀ» ½ÃÀÛÇÑ´Ù. (¿©·¯ºÐÀº ¸®´ª½º¿¡¼ ºÎÆÃ ½ºÅ©¸°ÀÇ ÀϺηΠº¸°Ô µÉ °ÍÀÌ´Ù.) ¼ºñ½ºµéÀÌ ¼·Î °ü·ÃÀÌ ¾ø´Ù ÇÏ´õ¶óµµ, Çϳª°¡ ½ÃÀÛµÈ ÈÄ¿¡ ´Ù¸¥ °ÍÀÌ ½ÃÀ۵ȴÙ. ±×·¡¼ °á±¹ ÀÌ ÇÁ·Î¼¼½º¿¡ ½Ã°£ÀÌ µå´Â °ÍÀÌ´Ù. (ƯÈ÷, ¸¹Àº ¼ºñ½ºµéÀ» °®°í ÀÖ´Â Å« ½Ã½ºÅÛÀÌ ´õ¿í ±×·¯ÇÏ´Ù.) ÀÌ·¯ÇÑ ¹®Á¦¿¡ ´ëÇÑ È®½ÇÇÑ ¼Ö·ç¼ÇÀº init ¸í·ÉÀÇ ¼øÂ÷¼ºÀ» ¾ø¾Ö°í º¸´Ù º´·ÄÀûÀ¸·Î(parallel) ½ÇÇàÇϵµ·Ï ÇÏ´Â °ÍÀÌ´Ù.
ÀüÅëÀûÀÎ init ÇÁ·Î¼¼½º(sysvinit)´Â ¼øÂ÷ ÇÁ·Î¼¼½ºÀ̹ǷÎ, ÀÌ·¯ÇÑ ½Ã½ºÅÛ ºÎºÐÀº ÃÖÀûÈ Çϱ⿡ ¾Ë¸Â´Ù. »ç½Ç, init ÇÁ·Î¼¼½º¸¦ ÃÖÀûÈ ÇÒ ¶§ ¿©·¯ °¡Áö ¹æ½ÄµéÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¿©·¯ ¹æ½Äµé Áß Ubuntu¿¡¼´Â À̺¥Æ® ±â¹Ý ½Ã½ºÅÛ(ÇÁ·Î¼¼½º°¡ À̺¥Æ®¿¡ ÀÇÁ¸ÇÏ¿© ½ÃÀÛ°ú ÁßÁöÇÒ ¶§¸¦ Áö½ÃÇÑ´Ù.)À» ¼±ÅÃÇÏ¿´´Ù.
(3) UpstartÀÇ ½ÇÇà
Upstart´Â À̺¥Æ® ±â¹Ý ÀÛµ¿ ¸ðµå¸¦ Áö¿øÇϵµ·Ï ÃʱâÈ ½ºÅ©¸³Æ®¸¦ ¾÷µ¥ÀÌÆ® ÇØ¾ß ÇÑ´Ù. Upstart´Â (´Ù¸¥ ¸ðµç ¹æ½Äµé°ú ¸¶Âù°¡Áö·Î) ½Ã½ºÅÛ ½ÃÀÛ ½Ã ½ÃÀÛÇÏ´Â °íÀ¯ÀÇ init ÇÁ·Î¼¼½º¸¦ °®°í ÀÖ´Ù. ¿ì¼±, initÀÌ µÎ °³ÀÇ ÇÙ½É À̺¥Æ® Áß ÇϳªÀÎ startup À̺¥Æ®¸¦ ³ªÅ¸³½´Ù. startup À̺¥Æ®´Â ½Ã½ºÅÛÀÌ ½ÃÀÛÇÒ ¶§ init¿¡ ÀÇÇØ ³ªÅ¸³ª°í, ½Ã½ºÅÛÀÌ ÁßÁöµÉ ¶§ shutdown À̺¥Æ®°¡ ³ªÅ¸³´Ù. ´Ù¸¥ ÇÙ½É À̺¥Æ®·Î´Â ctrlaltdel,ÀÌ Àִµ¥, À̰ÍÀº Ctrl-Alt-Delete ¶Ç´Â kbdrequest,¸¦ ´©¸£µµ·Ï Áö½ÃÇÑ´Ù. À̰ÍÀº Alt-Up È»ìÇ¥ Ű Á¶ÇÕÀ» ´·¶´Ù´Â °ÍÀ» ³ªÅ¸³»´Âµ¥ »ç¿ëµÈ´Ù.
Upstart¿ë ½ºÅ©¸³Æ® ÆÄÀÏÀº ÀüÅëÀûÀÎ rc init ÆÄÀϰú ºñ½ÁÇÏ°Ô ÀÛµ¿ÇÑ´Ù. ´Ü, ºñµ¿±â½Ä À̺¥Æ®¿¡ ±â¹ÝÇÏ¿© ºñµ¿±â½ÄÀ¸·Î ÀÛµ¿ÇÑ´Ù´Â Á¡¸¸ ´Ù¸£´Ù. Listing 3Àº ¼¼ °³ÀÇ À̺¥Æ®¸¦ ¼ö¶ôÇÏ´Â ¿¹Á¦ ½ºÅ©¸³Æ®¸¦ º¸¿©ÁØ´Ù. ÀÛ¾÷ÀÌ ½ÃÀ۵ǵµ·Ï ÇÏ´Â startup, ÀÛ¾÷À» ÁßÁö½ÃŰ´Â shutdown°ú runlevel-3,ÀÌ´Ù. ÀÌ ½©Àº ÀÌ ÀÛ¾÷ÀÇ script ºÎºÐÀÇ ³»¿ëÀ» ½ÇÇàÇÑ´Ù. (¿¡·¯ ¹ß»ý ½Ã -e ¿É¼ÇÀ» »ç¿ëÇÏ¿© ½ºÅ©¸³Æ®¸¦ Á¾·áÇÔ.)
initctl À¯Æ¿¸®Æ¼´Â telinit°ú ºñ½ÁÇÑ ±â´ÉÀ» Á¦°øÇÏÁö¸¸ upstart¸¦ À§ÇÑ Ãß°¡ ±â´ÉÀ» °®°í ÀÖ´Ù. À§¿¡¼ º¸µí, initctl°ú emit ¿É¼ÇÀ» »ç¿ëÇÏ¿© upstart¿¡ ´ëÇÑ À̺¥Æ®¸¦ ¸¸µé ¼ö ÀÖ´Ù. list ¿É¼ÇÀº ÀÛ¾÷ÀÇ »óŸ¦ ±¸ºÐÇÔÀ¸·Î½á ½Ã½ºÅÛÀÇ ÀÛµ¿ »óŸ¦ ¾Ë ¼ö ÀÖµµ·Ï ÇÑ´Ù. ¾î¶² °ÍÀÌ ´ë±â ÁßÀ̰í, ¾î¶² °ÍÀÌ ½ÇÇà ÁßÀÎÁö¸¦ ¾Ë·ÁÁØ´Ù. initctl À¯Æ¿¸®Æ¼´Â ¶ÇÇÑ µð¹ö±ë ¿ëµµ·Î ¼ö½ÅµÈ À̺¥Æ®µµ µð½ºÇ÷¹ÀÌ ÇÑ´Ù.
Upstart´Â Àç¹ÌÀÖ´Â initÀÇ ´ëüÀ̰í, ±×º¸´Ù ´õ ³ªÀº ÀåÁ¡µµ °®°í ÀÖ´Ù. Çϵå¿þ¾î°¡ ÀÖ´Â ÇÑ ½Ã½ºÅÛÀº ºÎÆÃÇÒ °ÍÀ̹ǷΠrunlevelÀÌ ÀÖÀ» ÇÊ¿ä ¾øÀ¸¸ç, Á¸ÀçÇÏÁö ¾Ê´Â Çϵå¿þ¾î´Â ÀÛ¾÷À» ½ÇÇàÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. Upstart´Â ¶ÇÇÑ Hot Plugging ÀåÄ¡µµ Çڵ鸵ÇÑ´Ù. ¿¹¸¦ µé¾î, ½Ã½ºÅÛÀÌ ºÎÆÃµÈ ÈÄ¿¡ PCMCIA ³×Æ®¿öÅ© Ä«µå¸¦ ²È¾Ò´Ù¸é, network-interface-added À̺¥Æ®°¡ ¸¸µé¾îÁø´Ù. ÀÌ À̺¥Æ®·Î ÀÎÇØ Dynamic Host Configuration Protocol (DHCP) ÀÛ¾÷ÀÌ À̸¦ ¼³Á¤ÇÏ¸é¼ network-interface-up À̺¥Æ®¸¦ ¸¸µç´Ù. ±âº» ·çÆ®°¡ »õ·Î¿î ÀÎÅÍÆäÀ̽º·Î ÇÒ´çµÇ¸é, default-route-up À̺¥Æ®°¡ ³ª¿Â´Ù. ¿©±â¼ºÎÅÍ, ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º(¸ÞÀÏ ¼¹ö ¶Ç´Â À¥ ¼¹ö)¸¦ ÇÊ¿ä·Î ÇÏ´Â ÀÛ¾÷µéÀÌ ÀÚµ¿À¸·Î ½ÃÀÛ(ÁßÁö-ÀÎÅÍÆäÀ̽º°¡ ¾ø¾îÁú °æ¿ì)ÇÑ´Ù.
(3) UpstartÀÇ »ç¿ë
upstart ±¸Çö°ú ¼³Ä¡´Â ´Ü¼øÇϰí ÀüÇüÀûÀÎ configure, make, make install ÆÐÅÏÀ» µû¸¥´Ù. Upstart´Â ÀüÇüÀûÀÎ init ¼³Á¤ runlevel°ú ȣȯµÇ´Â ÀÛ¾÷µéÀ» Á¦°øÇÑ´Ù. initng¿Í ¸¶Âù°¡Áö·Î, »õ·Î¿î ¾ÖÇø®ÄÉÀ̼ǵéÀº ¿ä±¸ »çÇ׿¡ µû¶ó ÀÛ¼ºµÈ °íÀ¯ÀÇ ÀÛ¾÷µéÀ» °®°í ÀÖ´Ù. (»õ·Î¿î À̺¥Æ®¸¦ Ãß°¡ÇÒ °¡´É¼ºµµ ÀÖ´Ù.) ÀÌ °°Àº °æ¿ì, »õ·Î¿î init ½Ã½ºÅÛÀ» Àü°³ÇÏ´Â °Í¿¡´Â À§Çè ¿ä¼Ò°¡ µû¸¥´Ù. ÇÏÁö¸¸ upstart°¡ Á¦°øÇÏ´Â ÀåÁ¡¿¡ ºñÇϸé ÀÌ·¯ÇÑ À§Çè ºÎ´ãÀº ¾Æ¹«°Íµµ ¾Æ´Ï´Ù.
À§¿¡¼ ¼³¸íÇÑ °Íó·³, initctl À¯Æ¿¸®Æ¼´Â telinitÀÇ ±â´ÉÀ» Á¦°øÇÑ´Ù. ÇÏÁö¸¸ initctlÀº Æ®·¹À̰̽ú µð¹ö±ëÀ» À§ÇÑ Ãß°¡ ±â´Éµµ Á¦°øÇϰí ÀÖ´Ù.
ÀÛ¾÷ ¸¸µé±â(Writing Jobs)
¾÷½ºÅ¸Æ®(Upstart)´Â µ¥¸ó(daemon)ÀÇ ½ÃÀÛ / ÁßÁö / °¨½Ã ÀÛ¾÷À» ½º½º·Î ÇÑ´Ù. start-stop-daemon µîÀ» ÀÌ¿ëÇÏ¿© °³¹ßÀÚ°¡ ½º½º·Î °ü¸®ÇØ¾ß ÇÏ´Â °Í°ú ´Ù¸£°Ô ÇÁ·Î±×·¥ °æ·Î¿Í Àμö¸¸ ÁÖ¸é µÈ´Ù.
exec /usr/bin/dbus-daemon
¹°·Ð ¼Ð½ºÅ©¸³Æ®µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
script
echo /usr/share/apport/apport > /proc/sys/kernel/crashdump-helper
end script
µ¥¸óÀÌ ½ÃÀÛ(start)µÇ±â Àü/ÈÄ(pre/post)¿Í ÁßÁö(stop)µÇ±â Àü/ÈÄ(pre/post)¿¡ ¿øÇÏ´Â ÀÛ¾÷µµ ÇÒ ¼ö ÀÖ´Ù.
pre-start script
mkdir -p /var/run/dbus
chown messagebus:messagebus /var/run/dbus
end script
post-start script
# wait for listen on port 80
while ! nc -q0 localhost 80 </dev/null >/dev/null 2>&1; do
sleep 1;
done
end script
post-stop script
rm -f /var/run/dbus/pid
pre-stop script
# disable the queue, wait for it to become empty
fooctl disable
while fooq >/dev/null; do
sleep 1
done
end script
¿©±â¼ script ´ë½Å exec¸¦ »ç¿ëÇÏ¸é ½ºÅ©¸³Æ®(script) ´ë½Å ¹ÙÀ̳ʸ®¸¦ ½ÇÇàÇÒ ¼öµµ ÀÖ´Ù.
À̺¥Æ®(Events)
0.3 ¹öÀü¿¡¼ À̺¥Æ®´Â ´õ Á¤±³ÇØÁ³´Ù°í Çϴµ¥, ´Ü¼øÈ÷ ½Ã½ºÅÛÀÌ º¸³»´Â À̺¥Æ® À̸§ »Ó ¾Æ´Ï¶ó Àμö(arguments)¿Í ȯ°æº¯¼öµµ Àü´ÞÇÒ ¼ö ÀÖ´Ù.
initctl emit network-interface-up eth0 -DIFADDR=00:11:D8:98:1B:37
ÀÌ ¸í·ÉÀº À̺¥Æ®¿Í ¸ðµç °á°ú¸¦ Ãâ·ÂÇϰí À̺¥Æ®°¡ ¿ÏÀüÈ÷ 󸮵ɶ§±îÁö ³¡³ªÁö ¾Ê°Ô ÇÑ´Ù. ÀÌ¿Í °°ÀÌ Àü´ÞµÈ Àμö´Â ´ÙÀ½Ã³·³ ½ºÅ©¸³Æ®¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
start on network-interface-up
script
[ $1 = lo ] && exit 0
grep -q $IFADDR /etc/network/blacklist && exit 0
# etc.
end script
¾Æ´Ï¸é ´ÙÀ½°ú °°ÀÌ start on °ú stop on ±¸¹®¿¡¼ Á÷Á¢ ÀÏÄ¡ÇÏ´ÂÁö °Ë»çÇÒ ¼öµµ ÀÖ´Ù.
start on block-device-added sda*
ÀÛ¾÷ÀÇ »óÅ º¯È·Î ÀÎÇÑ À̺¥Æ®µµ º¯°æµÇ¾ú´Ù. ÀÌÀü¿¡´Â ÀÛ¾÷À̳ª À̺¥Æ® ¸ðµÎ °°Àº À̸§°ø°£(namespace)¸¦ °øÀ¯Çߴµ¥, È¥µ¿À» ÀÏÀ¸Å³ »Ó ¾Æ´Ï¶ó ½ÇÁ¦·Î ÀÛ¾÷ À̸§À» ÀÌ¿ëÇÏ´Â À̺¥Æ® À̸§Àº ¹®Á¦¸¦ ÀÏÀ¸Å°±âµµ ÇÑ´Ù.
ÀÌ·¸°Ô ¹ß»ýÇÑ µÎ°³ÀÇ ÁÖ¿ä À̺¥Æ®´Â °£´ÜÇÏ°Ô started ¿Í stopped ·Î ĪÇÑ´Ù. À̸¦ ÅëÇØ ÀÛ¾÷ÀÌ ¿ÏÀüÇÏ°Ô ·ÎµåµÇ¾î ½ÇÇàµÇ°í Àְųª, ¹Ý´ë·Î ¿ÏÀüÈ÷ Á¾·áµÊÀ» ¾Ë ¼ö ÀÖ´Ù. ÀÛ¾÷ À̸§Àº ÀÌ À̺¥Æ®ÀÇ Àμö·Î ¹Þ°Ô µÈ´Ù.
start on started dbus
started À̺¥Æ®´Â post-start ÀÛ¾÷ÀÌ ³¡³ª±â Àü¿¡´Â ¹ß»ýÇÏÁö ¾Ê´Â´Ù. µû¶ó¼ post-start ÀÛ¾÷Àº µ¥¸ó¿¡ ¾ÆÁ÷ ¿¬°áÇÒ ¼ö ¾ø´Â ´Ù¸¥ ÀÛ¾÷µéÀÌ ½ÃÀÛÇÏ´Â °ÍÀ» Áö¿¬ÇÒ ¼ö ÀÖ´Ù.
°°Àº ½ÄÀ¸·Î stopped À̺¥Æ®´Â post-stop ÀÛ¾÷ÀÌ ³¡³¯¶§±îÁö ¹ß»ýÇÏÁö ¾Ê´Â´Ù.
ÀÛ¾÷ÀÌ ¹ß»ý½ÃŰ´Â ´Ù¸¥ µÎ°³ÀÇ À̺¥Æ®´Â ¾à°£ Ưº°ÇÏ´Ù. starting°ú stoppingÀÌ ±×°ÍÀε¥, ÀÌ À̺¥Æ®°¡ 󸮵ɶ§±îÁö´Â ÀÛ¾÷ÀÌ ½ÃÀÛÇϰųª ÁßÁöÇÏÁö ¸øÇÏ°Ô ÇÑ´Ù. Áï, µ¥ÀÌÅͺ£À̽º ¼¹ö°¡ ¸ØÃß¾úÀ»¶§ ÇØ¾ßÇÒ ÀÛ¾÷ÀÌ Àִµ¥, ±×·¯³ª ½ÇÁ¦·Î Á¾·áµÇ±â Àü¿¡ ó¸®ÇØ¾ß ÇÑ´Ù¸é ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
start on stopping mysql
exec /usr/bin/backup-db.py
MySQLÀÌ ¹é¾÷ÀÌ ³¡³ª±â Àü±îÁö Á¾·áµÇÁö ¾ÊÀ» °ÍÀÌ´Ù.
ÀÌ·± °æ¿ì´Â ƯÈ÷ ´Ù¸¥ µ¥¸ó¿¡ ÀÇÁ¸ÇÏ´Â µ¥¸óÀÏ °æ¿ì À¯¿ëÇÏ´Ù. ¿¹¸¦ µé¾î HALÀº DBUS¸¦ ÇÊ¿ä·Î Çϴµ¥, DBUS°¡ ½ÇÇàµÇ±â Àü¿¡´Â ½ÃÀÛÇÏ¸é ¾ÈµÇ°í DBUS´Â HALÀÌ ³¡³ª±â Àü¿¡ ¸ØÃß¸é ¾ÈµÈ´Ù. µû¶ó¼ HAL ÀÛ¾÷Àº ´ÙÀ½°ú °°´Ù.
start on started dbus
stop on stopping dbus
°°Àº ½ÄÀ¸·Î TomcatÀÌ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é Apache´Â TomcatÀÌ ½ÇÇàµÇ±â Àü¿¡´Â ½ÃÀÛÇÏ¸é ¾ÈµÇ°í, Tomcat´Â Apache°¡ Á¾·áµÉ¶§±îÁö ¸ØÃß¸é ¾ÈµÈ´Ù. µû¶ó¼ Tomcat ÀÛ¾÷Àº ´ÙÀ½°ú °°´Ù.
start on starting apache
stop on stopped apache
½ÇÆÐ(Failure)
Ç×»ó ¸ðµç°Ô ºÎµå·´°Ô Èê·¯°¡´Â °Ô ¾Æ´Ï¹Ç·Î °¡²û ÀÛ¾÷ÀÌ ¼öÇàÀÌ Å½ºÅ©°¡ ½ÇÆÐÇÒ ¼öµµ ÀÖ°í µ¥¸óÀÌ Á×À» ¼öµµ ÀÖ´Ù. upstart´Â Á×Àº(crashed) µ¥¸óÀ» ÀÚµ¿À¸·Î Àç½ÃÀÛÇÏ°Ô ÇÒ ¼öµµ ÀÖ°í, ´Ù¸¥ ÀÛ¾÷¿¡°Ô À̸¦ ¾Ë·ÁÁÙ ¼öµµ ÀÖ´Ù. stopping °ú stopped À̺¥Æ®¿¡ Ãß°¡µÇ´Â failed Àμö°¡ ±×°ÍÀÌ´Ù.
start on stopped typo failed
script
echo "typo failed again :-(" | mail -s "type failed" root
end script
À̺¥Æ® ½ÇÆÐ·Î ÀÎÇØ ¾î¶² ÀÛ¾÷ÀÌ ½ÃÀ۵ǰųª ¸ØÃß¾ú´Ù¸é, À̺¥Æ® ÀÚü°¡ ½ÇÆÐÇß´Ù´Â °ÍÀ» ¹ß°ßÇÒ ¼öµµ ÀÖ´Ù.
start on network-interface-up/failed
»óÅÂ(States)
³×Æ®¿÷ ÀÎÅÍÆäÀ̽º¸¦ ±¸¼ºÇϰųª ºí·° ÀåÄ¡¸¦ °Ë»çÇÏ°í ¸¶¿îÆ®ÇÏ´Â ÀÛ¾÷Àº ´ë°³ À̺¥Æ®ÀÇ °á°ú·Î¼ µ¿ÀÛÇÏ´Â ¹Ý¸é, ¼ºñ½º´Â Á¶±Ý ´õ º¹ÀâÇÏ´Ù.
¼ºñ½º´Â ƯÁ¤ À̺¥Æ®°¡ ¹ß»ýÇßÀ»¶§°¡ ¾Æ´Ï¶ó ´ë°³ ½Ã½ºÅÛÀÌ ¾î¶² »óÅ¿¡ ÀÖÀ» °æ¿ì µ¿ÀÛÇØ¾ß ÇÑ´Ù. µû¶ó¼ upstart´Â º¯È¸¦ Á¤ÀÇÇÏ´Â À̺¥Æ®¸¦ ÂüÁ¶ÇÏ¿© º¹ÀâÇÑ ½Ã½ºÅÛ »óŸ¦ ¼³¸íÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù.
¿¹¸¦ µé¾î ¸¹Àº ¼ºñ½º°¡ ÆÄÀϽýºÅÛÀÌ ¸¶¿îÆ®µÇ¾î ÀÖÀ» °æ¿ì¿¡¸¸ µ¿ÀÛÇØ¾ß Çϰí, ÃÖ¼Ò ÇϳªÀÇ ³×Æ®¿÷ µð¹ÙÀ̽º°¡ ¿Ã¶ó¿Í ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ ½Ã±â°¡ ½ÃÀÛµÇ°í ³¡³ª´Â °ÍÀ» °¡¸®Å°´Â À̺¥Æ®¸¦ ÀÌ¿ëÇØ Á¶ÇÕÇÏ¸é ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
from fhs-filesystem-mounted until fhs-filesystem-unmounted
and from network-up until network-down
until ¿¬»êÀÚ´Â µÎ À̺¥Æ® »çÀÌÆ®ÀÇ ±â°£À» Á¤ÀÇÇϰí, and ¿¬»êÀÚ´Â µÎ ±â°£À» µ¿½Ã¿¡ Àû¿ëÇϵµ·Ï ÇÑ´Ù.
µð½ºÇ÷¹ÀÌ ¸Å´ÏÀú°¡ ½ÇÇàµÇ°í ÀÖ´Â °æ¿ì¿¡¸¸ µ¿ÀÛÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ±â¼úÇÒ ¼ö ÀÖ´Ù.
from started gdm until stopping gdm
or from started kdm until stopping kdm
³×Æ®¿÷ ÀÎÅÍÆäÀ̽º°¡ ¿Ã¶ó¿ÂµÚ bind9ÀÌ ½ÃÀÛÇϱâ Àü¿¡ ½ÇÇàÇÏ°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ ±â¼úÇÏ¸é µÈ´Ù.
on network-interface-up and from startup until started bind9
ÀÌó·³ "º¹ÇÕ À̺¥Æ® ±¸¼º"Àº ¾î´À ÀÛ¾÷ ÆÄÀÏ¿¡³ª ¿Ã ¼ö ÀÖ´Ù. ±×¸®°í ¾î´À ÀÛ¾÷ ÆÄÀÏÀ̳ª ´Ù¸¥ ÀÛ¾÷¿¡ ´ëÇÑ ¸®ÆÛ·±½º·Î µ¿ÀÛÇÒ ¼ö ÀÖ´Ù. ´Ù¸¥ ÀÛ¾÷°ú µ¿½Ã¿¡ ½ÃÀÛÇÏ°í ¸ØÃâ ¼öµµ ÀÖ´Ù.
with apache
exec³ª script ÀýÀ» »ý·«Çϸé, ´Ù¸¥ ÀÛ¾÷ÀÌ ¸®ÆÛ·±½º·Î »ç¿ëÇÒ ¼ö ÀÖµµ·Ï »óŸ¸ Á¤ÀÇÇÑ´Ù. ±×·± ½ÄÀ¸·Î multiuser »óÅ ¿ª½Ã ´Ü¼øÈ÷ »óŸ¦ Á¤ÀÇÇÏ´Â ÀÛ¾÷ ÆÄÀÏÀÌ´Ù.
º¸³Ê½º·Î µ¡ºÙÀÌÀÚ¸é, ÀÌ·¯ÇÑ »óŵ鵵 pre-start, post-stop µîÀ» ÀÀ¿ëÇÒ ¼ö ÀÖ´Ù.
4. /etc/rc3.d ½ºÅ©¸³Æ®(redhat : /etc/rc.d/rc3.d)
S05vbesave -> ../init.d/vbesave
ºñµð¿ÀÄ«µå BIOS ¼³Á¤ Åø.
S10acpid -> ../init.d/acpid
Àü¿ø°ü¸®Åø
S10sysklogd -> ../init.d/sysklogd
ÄÄÇ»ÅÍȰµ¿±â·Ï
S10xserver-xorg-input-wacom -> ../init.d/xserver-xorg-input-wacom
S11klogd -> ../init.d/klogd
Ä¿³Î¿¡¼ Ãâ·ÂµÇ´Â ¸Þ¼¼Áö¸¦ °¨½ÃÇÏ¸ç ¿î¿µÃ¼Á¦°¡ Ãâ·ÂÇÏ´Â ¸Þ¼¼Áö¿¡ ´ëÇÑ ¿ì¼±¼øÀ§ °áÁ¤°ú 󸮿¡ ´ëÇÑ Ã¥ÀÓÀ» Áø´Ù.
S12dbus -> ../init.d/dbus
ÇÁ·Î¼¼½º°£ Åë½ÅÀ» À§ÇØ »ç¿ë
S12hal -> ../init.d/hal
Á¸ÇÏ´Â ÀåÄ¡ ¸ñ·ÏÀ» À¯ÁöÇÏ°í ¿äû½Ã ÀåÄ¡¿¡ ´ëÇÑ Á¤º¸¸¦ Á¦°ø
S16ssh -> ../init.d/ssh
Secure ShellÀº ³×Æ®¿öÅ© »óÀÇ ´Ù¸¥ ÄÄÇ»ÅÍ¿¡ ·Î±×ÀÎÇϰųª ¿ø°Ý ½Ã½ºÅÛ¿¡¼ ¸í·ÉÀ» ½ÇÇàÇÏ°í ´Ù¸¥ ½Ã½ºÅÛÀ¸·Î ÆÄÀÏÀ» º¹»çÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÖ´Â ÀÀ¿ë ÇÁ·Î±×·¥
S17mysql-ndb-mgm -> ../init.d/mysql-ndb-mgm
S18mysql-ndb -> ../init.d/mysql-ndb
S19cupsys -> ../init.d/cupsys
ÇÁ¸°ÅÍ °ü¸®
S19mysql -> ../init.d/mysql
Ç¥ÁØ µ¥ÀÌÅͺ£À̽º ÁúÀÇ ¾ð¾îÀÎ SQL(Structured Query Language)À» »ç¿ëÇÏ´Â °³¹æ ¼Ò½ºÀÇ °ü°èÇü µ¥ÀÌÅͺ£À̽º °ü¸® ½Ã½ºÅÛ(RDBMS)
S20apmd -> ../init.d/apmd
Àü¿ø°ü¸®
S20apport -> ../init.d/apport
ºñÁ¤»óÀûÀ¸·Î ÇÁ·Î±×·¥ÀÌ Á¾·áµÉ ¶§ ¹®Á¦Á¡À» º¸°í
S20hotkey-setup -> ../init.d/hotkey-setup
´ÜÃàŰ °ü¸®
S20makedev -> ../init.d/makedev
ÀåÄ¡ ÆÄÀÏÀ» ¸¸µç´Ù.
S20nvidia-kernel -> ../init.d/nvidia-kernel
S20powernowd -> ../init.d/powernowd
Àü¿ø Àý¾àÀ» À§Çؼ cpu Àü¾Ð°ú ¼Óµµ¸¦ Á¶Àý
S20rsync -> ../init.d/rsync
ÆÄÀϵéÀ» µ¿±âÈÇØÁÖ´Â Åø
S20vsftpd -> ../init.d/vsftpd
¿ìºÐÅõ¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â FTP µ¥¸ó
S20xinetd -> ../init.d/xinetd
³×Æ®¿öÅ© Ä¿³Ø¼Ç ó¸®
S22consolekit -> ../init.d/consolekit
system daemon for tracking what users are logged into the system and how they interact with the computer
S24avahi-daemon -> ../init.d/avahi-daemon
³×Æ®¿öÅ© ¼ºñ½º¸¦ ÀνÄÇÏ´Â ¸ÖƼij½ºÆ® DNS ¼ºñ½º µ¥¸ó
S24dhcdbd -> ../init.d/dhcdbd
DHCP D-BUS µ¥¸ó (DHCP¸¦ D-BUS·Î °ü¸®ÇÏ´Â µ¥¸ó)
S25bluetooth -> ../init.d/bluetooth
S30gdm -> ../init.d/gdm
¿ìºÐÅõ Å׸¶
S89anacron -> ../init.d/anacron
½Ã°£¿¡ µû¶ó ÁöÁ¤ÇÑ ÇÁ·Î±×·¥À» Á¤±âÀûÀ¸·Î ½ÇÇàÇÏ´Â µ¥¸ó. cron°ú °°Àº ±â´ÉÀ» ÇÏÁö¸¸ °è¼Ó ÄѵÎÁö ¾Ê´Â ÄÄÇ»ÅÍ¿¡¼ »ç¿ëÇÏ´Â µ¥¸ó
S89atd -> ../init.d/atd
ƯÁ¤ ½Ã°£ ¶Ç´Â ½Ã½ºÅÛ ºÎÇϰ¡ ÀûÀ»¶§ ÁöÁ¤µÈ ¸í·ÉÀ» ½ÇÇà½ÃŰ´Â µ¥¸ó
S89cron -> ../init.d/cron
ÁöÁ¤ÇÑ ÇÁ·Î±×·¥À» ƯÁ¤ ½Ã°£¿¡ ÁÖ±âÀûÀ¸·Î ½ÇÇà½ÃŰ´Â À¯´Ð½º Ç¥ÁØ ÇÁ·Î±×·¥
S91apache2 -> ../init.d/apache2
¿ùµå¿ÍÀ̵åÀ¥ ¼¹ö¿ë ¼ÒÇÁÆ®¿þ¾î.
S98usplash -> ../init.d/usplash
¿ìºÐÅõ Å׸¶
S99acpi-support -> ../init.d/acpi-support
a collection of useful events for acpi
S99laptop-mode -> ../init.d/laptop-mode
Linux kernel feature that allows your laptop to save considerable power
S99rc.local -> ../init.d/rc.local
S99rmnologin -> ../init.d/rmnologin
5. GRUB ¼³Á¤ÆÄÀÏ (/etc/boot/grub/menu.lst or grub.conf)
(1) /etc/boot/grub/menu.lst
# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.
##defaultnum
#SetthedefaultentrytotheentrynumberNUM.Numberingstartsfrom0,and
#theentrynumber0isthedefaultifthecommandisnotused.
#
#Youcanspecify'saved'insteadofanumber.Inthiscase,thedefaultentry
#istheentrysavedwiththecommand'savedefault'.
#WARNING:Ifyouareusingdmraiddonotuse'savedefault'oryour
#arraywilldesyncandwillnotletyoubootyoursystem.
# ÀÔ·ÂÀÌ ¾øÀ» ½Ã¿¡ ½ÇÇàµÇ´Â Ä¿³Î À̹ÌÁö OS
default 0
##timeoutsec
#Setatimeout,inSECseconds,beforeautomaticallybootingthedefaultentry
#(normallythefirstentrydefined).
# ÀÔ·Â ´ë±â ½Ã°£À» ¼³Á¤ÇÑ´Ù
timeout 3
##hiddenmenu
#Hidesthemenubydefault(pressESCtoseethemenu)
hiddenmenu
#Prettycolours
#colorcyan/bluewhite/blue
##password['--md5']passwd
#Ifusedinthefirstsectionofamenufile,disableallinteractiveediting
#control(menuentryeditorandcommand-line) and entries protected by the
#command'lock'
#e.g.passwordtopsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
#passwordtopsecret
#
#examples
#
#title Windows 95/98/NT/2000
#root (hd0,0)
#makeactive
#chainloader +1
#
#title Linux
#root (hd0,1)
#kernel /vmlinuz root=/dev/hda2 ro
#
#
#Putstaticbootstanzasbeforeand/orafterAUTOMAGICKERNELLIST
###BEGINAUTOMAGICKERNELSLIST
##linesbetweentheAUTOMAGICKERNELSLISTmarkerswillbemodified
##bythedebianupdate-grubscriptexceptforthedefaultoptionsbelow
##DONOTUNCOMMENTTHEM,Justeditthemtoyourneeds
####StartDefaultOptions##
##defaultkerneloptions
##defaultkerneloptionsforautomagicbootoptions
##Ifyouwantspecialoptionsforspecifickernelsusekopt_x_y_z
##wherex.y.ziskernelversion.Minorversionscanbeomitted.
##e.g.kopt=root=/dev/hda1ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
#kopt=root=UUID=684dc12b-53de-4cc4-b951-173b70b7a015ro
##Setupcrashdumpmenuentries
##e.g.crashdump=1
#crashdump=0
##defaultgrubrootdevice
##e.g.groot=(hd0,0)
#groot=(hd0,0)
##shouldupdate-grubcreatealternativeautomagicbootoptions
##e.g.alternative=true
## alternative=false
#alternative=true
##shouldupdate-grublockalternativeautomagicbootoptions
##e.g.lockalternative=true
## lockalternative=false
#lockalternative=false
##additionaloptionstousewiththedefaultbootoption,butnotwiththe
##alternatives
##e.g.defoptions=vga=791resume=/dev/hda5
#defoptions=quietsplash
##shouldupdate-grublockoldautomagicbootoptions
##e.g.lockold=false
## lockold=true
#lockold=false
##XenhypervisoroptionstousewiththedefaultXenbootoption
#xenhopt=
##XenLinuxkerneloptionstousewiththedefaultXenbootoption
#xenkopt=console=tty0
##altoptionboottargetsoption
##multiplealtoptionslinesareallowed
##e.g.altoptions=(extramenusuffix)extrabootoptions
## altoptions=(recovery) single
#altoptions=(recoverymode)single
##controlshowmanykernelsshouldbeputintothemenu.lst
##onlycountsthefirstoccurenceofakernel,notthe
##alternativekerneloptions
##e.g.howmany=all
## howmany=7
#howmany=all
##shouldupdate-grubcreatememtest86bootoption
##e.g.memtest86=true
## memtest86=false
#memtest86=true
##shouldupdate-grubadjustthevalueofthedefaultbootedsystem
##canbetrueorfalse
#updatedefaultentry=false
##shouldupdate-grubaddsavedefaulttothedefaultoptions
##canbetrueorfalse
#savedefault=false
####EndDefaultOptions##
# ¼³Ä¡µÇ¾î ÀÖ´Â ¿î¿µÃ¼Á¦ ¼±ÅÃÇÒ¼ö ÀÖ´Ù.
title Ubuntu 7.10, kernel 2.6.22-14-generic
root (hd0,0)
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=684dc12b-53de-4cc4-b951-173b70b7a015 ro quiet splash
initrd /boot/initrd.img-2.6.22-14-generic
quiet
title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=684dc12b-53de-4cc4-b951-173b70b7a015 ro single
initrd /boot/initrd.img-2.6.22-14-generic
title Ubuntu 7.10, memtest86+
root (hd0,0)
kernel /boot/memtest86+.bin
quiet
###ENDDEBIANAUTOMAGICKERNELSLIST
6. Âü°í ¹®Çå ¹× »çÀÌÆ®
(1) http://www.ubuntu.com/ - Ubuntu °ø½Ä ȨÆäÀÌÁö
(2) http://www.superuser.co.kr - ¸®´ª½º Æ÷ÅÐ
(3) http://www.gnu.org/software/grub/ - GNU GRUB
(4) http://msoup.tistory.com/category/ - Ä¿³Î - ¸®´ª½º x86 ºÎÆÃ °úÁ¤ ºÐ¼®
(5) http://blog.naver.com/norther80 - ¸®´ª½º ºÎÆÃ °úÁ¤
(6) http://blog.miclub.com/woopo1/524267 - ¸®´ª½º ºÎÆÃ ¼ø¼
(7) http://www.linux.com - Ubuntu's Upstart event-based init daemon
(8) http://www.ibm.com/developerworks/kr/library/l-boot-faster/ - º¸´Ù ºü¸¥ ¸®´ª½º ºÎÆÃÀ» À§ÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç º´·ÄÈ (ÇѱÛ)