· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
How To Build a Minimal Linux System from Source Code


Greg O'Keefe, gcokeefe@postoffice.utas.edu.au

v0.9, November 2000



ȲÁØÇü, envia@kaist.ac.kr

¹ø¿ªÀ» ÇÏ´Â Áß°£¿¡ ô¶Ó©ë®ÞÉ´ÔÀÇ ÀϺ»¾î ¹ø¿ªÆÇÀ» Âü°íÇÏ¿´½À´Ï´Ù. ¿À·ù°¡ ÀÖ´Ù¸é Àú¿¡°Ô ¿¬¶ôÇϽðųª À§Å°ÀÇ Æ¯Â¡À» ÀÌ¿ëÇÏ¿© ¸»¾øÀÌ°íÄ¡±â¸¦ ÀÌ¿ëÇØ Áֽñ⠹ٶø´Ï´Ù.



ÀÌ ¹®¼­´Â ¼Ò½º ÄÚµå·ÎºÎÅÍ ÃÖ¼ÒÇÑÀÇ ¸®´ª½º ½Ã½ºÅÛÀ» ¸¸µé±â À§ÇÑ Áö½Ã »çÇ×µéÀ» ´ã°í ÀÖ½À´Ï´Ù. ÀÌ ¹®¼­´Â [http]From PowerUp to Bash PromptÀÇ ÀϺκÐÀ̾úÁö¸¸, Àú´Â ¹®¼­µéÀÌ Âª°í ÁýÁßµÈ »óŸ¦ À¯ÁöÇϵµ·Ï Çϱâ À§ÇØ, ¿ø·¡ÀÇ ¹®¼­¸¦ ºÐ¸®ÇÏ¿´½À´Ï´Ù. ¿ì¸®°¡ ¿©±â¼­ ¸¸µå´Â ½Ã½ºÅÛÀº ¸Å¿ì ÀÛÀ¸¸ç, ½ÇÁ¦·Î ÀÛ¾÷À» Çϱ⿡ ÀûÇÕÇÏÁö ¾Ê½À´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ½Ç¿ëÀûÀÎ ½Ã½ºÅÛÀ» ¿ÏÀüÈ÷ »õ·Î ¸¸µé°í ½ÍÀ¸½Ã´Ù¸é Gerard BeekmansÀÇ[http]Linux From Scratch HOWTO¸¦ ´ë½Å º¸½Ê½Ã¿À.


1. Áغñ¹°


¿ì¸®´Â ·¡µåÇÞ°ú °°Àº ¹èÆ÷ÆÇÀ» ÇÑ ÆÄƼ¼Ç¿¡ ¼³Ä¡ÇÏ°í, À̸¦ ÀÌ¿ëÇؼ­ ´Ù¸¥ ÆÄƼ¼Ç¿¡ »õ·Î¿î ¸®´ª½º ½Ã½ºÅÛÀ» ¸¸µé °ÍÀÔ´Ï´Ù. ³ª´Â ¿ì¸®°¡ ¸¸µå´Â ½Ã½ºÅÛÀ» "´ë»ó(target)"À̶ó°í ºÎ¸£°í, ±×°ÍÀ» ¸¸µé±â À§ÇØ »ç¿ëÇÏ´Â ½Ã½ºÅÛÀ» "¹ÙÅÁ(source)"À̶ó°í ºÎ¸¦ °ÍÀÌ´Ù.

µû¶ó¼­ ¿©·¯ºÐÀº µÎ °³ÀÇ ¿©À¯ ÆÄƼ¼ÇÀ» °¡Áø ±â°è°¡ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù. °¡´ÉÇÏ´Ù¸é Áß¿äÇÑ Á¤º¸°¡ ÀúÀåµÇÁö ¾ÊÀº ±â°è¸¦ »ç¿ëÇϽʽÿÀ. ¿©·¯ºÐÀº ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Â ¸®´ª½º¸¦ ¹ÙÅÁ ½Ã½ºÅÛÀ¸·Î ¾µ ¼ö ÀÖ°ÚÁö¸¸, Àú´Â ±×°ÍÀ» ±ÇÀåÇÏÁö ¾Ê½À´Ï´Ù. ½Ç¼ö·Î ¿©·¯ºÐÀÌ ¿ì¸®°¡ ´Ù·ç´Â ¸í·É¾îÀÇ ÀÎÀÚ Çϳª¸¦ À߸ø ³²±ä´Ù¸é, ÇÁ·Î±×·¥µéÀ» ¹ÙÅÁ ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇÏ°Ô µÉ ¼öµµ ÀÖ½À´Ï´Ù. ±×·¯¸é ȣȯµÇÁö ¾Ê°Å³ª Ãæµ¹ÀÌ ÀϾ°Ô µÉ °ÍÀÔ´Ï´Ù.

486À̳ª ±×ÀüÀÇ °Í°ú °°ÀÌ ¿À·¡µÈ PC Çϵå¿þ¾îÀÇ ¹ÙÀÌ¿À½º¿¡´Â ¿ì¸®¸¦ ±ÍÂú°Ô ÇÏ´Â ÇÑ°è°¡ ÀÖ½À´Ï´Ù. ±× ¹ÙÀÌ¿À½ºµéÀº ù 512¸Þ°¡¹ÙÀÌÆ® µÚÀÇ ÇÏµå µð½ºÅ©¸¦ Àб⠸øÇÕ´Ï´Ù. ÀÌ°ÍÀº ÀÏ´Ü ¸®´ª½º°¡ ½ÃÀÛµÇ¸é ¹ÙÀÌ¿À½º¸¦ °Ç³Ê¶Ù°í ÀڽŸ¸ÀÇ µð½ºÅ© ÀÔÃâ·ÂÀ» ¼öÇàÇϱ⠶§¹®¿¡ Å« ¹®Á¦°¡ µÇÁö´Â ¾Ê½À´Ï´Ù. ÇÏÁö¸¸ ¿À·¡µÈ ±â°è¿¡¼­ ¸®´ª½º¸¦ Àбâ À§Çؼ­´Â Ä¿³ÎÀÌ 512¸Þ°¡¹ÙÀÌÆ® ¾ÕÀÇ ¿µ¿ª¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ÀÌ¿Í °°Àº ±â°è¸¦ °¡Áö°í ÀÖ´Ù¸é, ¿©·¯ºÐÀº ¿ÏÀüÈ÷ 512¸Þ°¡¹ÙÀÌÆ® °æ°è ¾Æ·¡¿¡ ÀÖ´Â µ¶¸³µÈ ÆÄƼ¼ÇÀÌ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù. ÀÌ ÆÄƼ¼ÇÀº /boot·Î ¸¶¿îÆ®µÇ¾î 512¸Þ°¡¹ÙÀÌÆ® °æ°è À§¿¡ ÀÖ´Â ÆÄƼ¼ÇµéÀ» ÀнÀ´Ï´Ù.

Á¦°¡ ÃÖ±Ù¿¡ ÀÌ°ÍÀ» ÇßÀ» ¶§, Àú´Â ·¡µåÇÞ 6.1À» ¹ÙÅÁ ½Ã½ºÅÛÀ¸·Î »ç¿ëÇÏ¿´½À´Ï´Ù. Àú´Â º£À̽º ½Ã½ºÅÛ°ú

  • cpp
  • egcs
  • egcs-c++
  • patch
  • make
  • dev86
  • ncurses-devel
  • glibc-devel
  • kernel-headers

À» ¼³Ä¡ÇÏ¿´½À´Ï´Ù.

Àú´Â ¹®¼­µéÀ» ½±°Ô Àбâ À§Çؼ­ X À©µµ¿ì¿Í ¸ðÁú¶óµµ ¼³Ä¡ÇÏ¿´Áö¸¸, ÀÌ°ÍÀº ²À ÇÊ¿äÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. Á¦°¡ ÀÛ¾÷À» ¸¶ÃÆÀ» ¶§, µð½ºÅ© °ø°£À» 350M Á¤µµ »ç¿ëÇÏ¿´½À´Ï´Ù. (Ä¿ º¸À̴±º¿ä. ¿Ö ±×·²±î¿ä?)

¿Ï¼ºµÈ ´ë»ó ½Ã½ºÅÛÀº 650¸Þ°¡¹ÙÀÌÆ®¸¦ »ç¿ëÇÏ¿´Áö¸¸, ÀÌ°ÍÀº ¸ðµç ¼Ò½º ÄÚµåµé°ú Áß°£ °úÁ¤ÀÇ ÆÄÀϵéÀ» Æ÷ÇÔÇÑ Å©±âÀÔ´Ï´Ù. °ø°£ÀÌ ºÎÁ·ÇÏ´Ù¸é ¿©·¯ºÐÀº °¢ ²Ù·¯¹Ì¸¦ ¼³Ä¡ÇÑ µÚ make cleanÀ» ½ÇÇàÇØ ÁÖ¾î¾ß ÇÒ °ÍÀÔ´Ï´Ù. ±×·¡µµ, ÀÌ ´çȲ½º·´°Ô ´Ã¾î³­ Å©±â´Â Á¶±Ý °ÆÁ¤µË´Ï´Ù.

¾î·µç, ¿©·¯ºÐÀº ¿ì¸®°¡ ¸¸µå·Á°í ÇÏ´Â ½Ã½ºÅÛÀ» À§ÇÑ ¼Ò½º ÄÚµåµéÀÌ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù. Á¦°¡ ÀÌ ¹®¼­¿¡¼­ "²Ù·¯¹Ì"¶ó°í ºÎ¸¥ °ÍµéÀÔ´Ï´Ù. ²Ù·¯¹ÌµéÀº ¼Ò½º CD³ª ÀÎÅͳÝÀ¸·ÎºÎÅÍ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. Àú´Â ¹Ì±¹°ú È£ÁÖ ¹Ì·¯µéÀÇ URLÀ» Á¦½ÃÇϵµ·Ï ÇÏ°Ú½À´Ï´Ù.

Á¤¸®Çϸé, ¿©·¯ºÐÀº ´ÙÀ½ Áغñ¹°ÀÌ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù:
  • ¾Æ¸¶ ´õ Àû¾îµµ °¡´ÉÇÏ°ÚÁö¸¸, °¢°¢ 400¸Þ°¡¹ÙÀÌÆ®¿Í 700¸Þ°¡¹ÙÀÌÆ® Á¤µµ µÇ´Â µÎ °³ÀÇ ¿©À¯ ÆÄƼ¼ÇÀ» °¡Áø ÆÄƼ¼Ç
  • ¸®´ª½º ¹èÆ÷ÆÇ(¿¹¸¦ µé¾î ·¡µåÇÞ CD)°ú ¼³Ä¡ µµ±¸(¿¹¸¦ µé¾î CD ROM µå¶óÀ̺ê)
  • À§¿¡ ³ª¿Í ÀÖ´Â ¼Ò½º ÄÚµåµé

Àú´Â ¿©·¯ºÐÀÌ ¹ÙÅÁ ½Ã½ºÅÛÀ» ÀúÀÇ µµ¿òÀÌ ÀüÇô ¾øÀÌ ½º½º·Î ¼³Ä¡ÇÏ½Ç ¼ö ÀÖ´Ù°í »ý°¢ÇÕ´Ï´Ù. ¿©±â¼­ºÎÅÍ, Àú´Â ¿©·¯ºÐÀÌ ¹ÙÅÁ ½Ã½ºÅÛÀÇ ¼³Ä¡¸¦ ³¡³Â´Ù°í °¡Á¤ÇÏ°Ú½À´Ï´Ù.

ÀÌ ÀÛÀº ÇÁ·ÎÁ§Æ®ÀÇ Ã¹¹ø° ´Ü°èÀÇ ¸ñÇ¥´Â Ä¿³ÎÀÌ ½ÃÀÛ µÈ µÚ init¸¦ ãÀ» ¼ö ¾ø¾î¼­ ÆдÐÀ» ÀÏÀ¸Å°´Â °ÍÀ» º¸±â À§ÇØ Ä¿³ÎÀ» ¾ò´Â °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀº ¿ì¸®°¡ Ä¿³Î°ú lilo¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ¾î·µç lilo¸¦ Àß ¼³Ä¡ÇÏ·Á¸é ¿ì¸®´Â /devµð·ºÅ丮¿¡ ÀÖ´Â µð¹ÙÀ̽º ÆÄÀϵéÀÌ ÇÊ¿äÇÕ´Ï´Ù. ºÎÆ® ¼½Å͸¦ ¾²±â À§ÇÑ Àú¼öÁØÀÇ µð½ºÅ© ¾×¼¼½º¸¦ À§Çؼ­ lilo´Â µð¹ÙÀ̽º ÆÄÀϵéÀ» ÇÊ¿ä·Î ÇÕ´Ï´Ù. MAKEDEV´Â ÀÌ·¯ÇÑ µð¹ÙÀ̽º ÆÄÀϵéÀ» ¸¸µå´Â ½ºÅ©¸³Æ®ÀÔ´Ï´Ù. (¹°·Ð ¹ÙÅÁ ½Ã½ºÅÛ¿¡¼­ µð¹ÙÀ̽º ÆÄÀϵéÀ» º¹»çÇصµ µÇÁö¸¸, ±×°Ç ¹ÝÄ¢ÀÔ´Ï´Ù!) ÇÏÁö¸¸ ¹«¾ùº¸´Ùµµ ¿ì¸®´Â ÀÌ ¸ðµç °ÍÀ» Áý¾î³Ö±â À§ÇÑ ÆÄÀÏ ½Ã½ºÅÛÀ» ÇÊ¿ä·Î ÇÕ´Ï´Ù.

2. ÆÄÀÏ ½Ã½ºÅÛ


¿ì¸®ÀÇ »õ ½Ã½ºÅÛÀ» ÆÄÀÏ ½Ã½ºÅÛ ¾È¿¡ ÀÚ¸®Àâ°Ô µÉ °ÍÀÔ´Ï´Ù. ±×·¡¼­ ¸ÕÀú ¿ì¸®´Â mke2fs¸¦ ÀÌ¿ëÇؼ­ ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé¾î¾ß ÇÕ´Ï´Ù. ±×¸®°í ¾îµò°¡¿¡ ¸¶¿îÆ®ÇØ¾ß ÇÕ´Ï´Ù. Àú´Â /mnt/targetÀ» Á¦¾ÈÇÕ´Ï´Ù. ÀÌÁ¦ºÎÅÍ Àú´Â »õ ÆÄÀÏ ½Ã½ºÅÛÀÌ ±×°÷¿¡ ÀÖ´Ù°í °¡Á¤ÇÒ °ÍÀÔ´Ï´Ù. ¿©·¯ºÐÀº ¹ÙÅÁ ½Ã½ºÅÛÀÌ ½ÃÀÛµÉ ¶§¸¶´Ù ÀÚµ¿À¸·Î »õ ÆÄÀÏ ½Ã½ºÅÛÀÌ ¸¶¿îÆ® ÇÒ ¼ö ÀÖµµ·Ï /etc/fstab¿¡ Ç׸ñÀ» Ãß°¡ÇÏ¿© Á»´õ ÆíÇÏ°Ô ÀÛ¾÷ÇÒ ¼öµµ ÀÖÀ» °ÍÀÔ´Ï´Ù.

¿ì¸®°¡ ´ë»ó ½Ã½ºÅÛÀ» ºÎÆÃÇÏ°Ô µÇ¸é /mnt/target¿¡ ÀÖ´ø ³»¿ëµéÀº /¿¡ ÀÖ°Ô µÉ °ÍÀÔ´Ï´Ù.

´ë»ó ½Ã½ºÅÛ¿¡´Â µð·ºÅ丮 ±¸Á¶°¡ ÀÖ¾î¾ß ÇÒ °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀÌ ¾î¶°ÇØ¾ß ÇÏ´ÂÁö ¾Ë±â À§ÇØ ÆÄÀÏ °èÃþ Ç¥ÁØ(File Heirarchy Standard)À» È®ÀÎÇϽðųª(ÆÄÀϽýºÅÛÀ» º¸½Ê½Ã¿À.), ±×³É ´ë»óÀÌ ¸¶¿îÆ® µÈ °÷À¸·Î cd ÇϽŠµÚ¿¡ ¾Æ·¡ÀÇ ¸í·ÉµéÀ» ÀÔ·ÂÇϽʽÿÀ.

	mkdir bin boot dev etc home lib mnt root sbin tmp usr var
	cd var; mkdir lock log run spool  
	cd ../usr; mkdir bin include lib local sbin share src
	cd share/; mkdir man; cd man 
	mkdir man1 man2 man3 ... man9

FHS¿Í ´ëºÎºÐÀÇ ²Ù·¯¹ÌµéÀº man ÆÐÀÌÁöµéÀÇ À§Ä¡¿¡¼­ Â÷À̸¦ º¸À̱⠶§¹®¿¡, ¾Æ·¡ÀÇ ½Éº¼¸¯ ¸µÅ©°¡ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù.

	cd ../..; ln -s share/man man

3. MAKEDEV


¿ì¸®´Â ¼Ò½º ÄÚµåµéÀ» ´ë»óÀÇ /usr/src µð·ºÅ丮¿¡ ³ÖÀ» °ÍÀÔ´Ï´Ù. ±×·¯¹Ç·Î ¿¹¸¦ µé¾î ¿©·¯ºÐÀÇ ´ë»ó ½Ã½ºÅÛÀÌ /mnt/target¿¡ ¸¶¿îÆ®µÇ¾î ÀÖ°í ¿©·¯ºÐÀÇ Å¸¸£º¼(tarball)µéÀº /root¿¡ ÀÖ´Ù¸é ¿©·¯ºÐÀº ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù.

	cd /mnt/target/usr/src
	tar -xzvf /root/MAKEDEV-2.5.tar.gz

´Ü¼øÈ÷ Ÿ¸£º¼À» º¹»çÇÏÁö ¸¶¼¼¿ä. ±×°ÍÀº ¼­Åõ¸¥ ÀÏÀÔ´Ï´Ù . ;)

º¸Åë ¿©·¯ºÐÀÌ ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇÒ ¶§, ¿©·¯ºÐÀº ±×°ÍÀ» ÇöÀç µ¿ÀÛÇÏ°í ÀÖ´Â ½Ã½ºÅÛ À§·Î ¼³Ä¡ÇÕ´Ï´Ù. ÇÏÁö¸¸ ¿ì¸®´Â ¸¶Ä¡ /mnt/targetÀÌ ·çÆ® ÆÄÀϽýºÅÛÀÎ °Íó·³ ¼³Ä¡ÇÏ°íÀÚ Çϱ⠶§¹®¿¡ ±×·¸°Ô Çؼ­´Â ¾ÈµË´Ï´Ù. ÀÌ·± ÀÏÀ» ÇÏ´Â ¹æ¹ýÀº ²Ù·¯¹Ìµé¿¡ µû¶ó ´Ù¸¨´Ï´Ù. MAKEDEV¸¦ À§Çؼ­´Â ¿©·¯ºÐÀº ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇÏ¿©¾ß ÇÕ´Ï´Ù.

	ROOT=/mnt/target make install

¿©·¯ºÐÀº README³ª INSTALL ÆÄÀϵéÀ» º¸½Ã°Å³ª ./configure --help¸¦ ÀÔ·ÂÇϼż­ ¿É¼ÇµéÀ» ã¾Æº¸¼Å¾ß ÇÒ °ÍÀÔ´Ï´Ù.

MAKEDEVÀÇ MakefileÀ» º¸½Ã°í ¿ì¸®°¡ À§ÀÇ ¸í·É¾î·Î ¼³Á¤ÇÑ ROOT º¯¼ö·Î ¹«¾ùÀ» ÇÏ´ÂÁö ¾Ë¾Æº¸½Ê½Ã¿À. ±× ´ÙÀ½¿¡ man ./MAKEDEV.manÀ¸·Î ¸Å´º¾óÀ» º¸½Ã°í ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ¾Ë¾Æº¸½Ê½Ã¿À. ¿©·¯ºÐÀº ¿ì¸®ÀÇ µð¹ÙÀ̽º ÆÄÀϵéÀ» ¸¸µå´Â ¹æ¹ýÀÌ cd /mnt/target/dev¸¦ ÇÑ µÚ, ./MAKEDEV genericÀ» ÇÏ´Â °Å¶ó´Â °ÍÀ» ¾Æ½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ls¸¦ Çϼż­ MAKEDEV°¡ ¸¸µç ¸ðµç µð¹ÙÀ̽ºµéÀ» º¸½Ê½Ã¿À.

4. Ä¿³Î


´ÙÀ½À¸·Î ¿ì¸®´Â Ä¿³ÎÀ» ¸¸µé °ÍÀÔ´Ï´Ù. Àú´Â ¿©·¯ºÐÀÌ ÀÌ°ÍÀ» Àü¿¡ ÇØ ºÃ´Ù°í »ý°¢Çϱ⠶§¹®¿¡, °£´ÜÈ÷¸¸ ´Ù·ê °ÍÀÔ´Ï´Ù. ºÎÆ®ÇÒ ¼ö ÀÖ´Â Ä¿³ÎÀÌ ÀÖÀ¸¸é lilo¸¦ ¼³Ä¡ÇϱⰡ ½¬¿öÁý´Ï´Ù. ´ë»óÀÇ usr/src µð·ºÅ丮·Î µ¹¾Æ°¡¼­ ¸®´ª½º Ä¿³ÎÀÇ ¼Ò½º¸¦ ±×°÷¿¡ Ǫ½Ê½Ã¿À. ¸®´ª½º ¼Ò½º Æ®¸®·Î µé¾î°¡¼­ (cd linux) ¿©·¯ºÐÀÌ ÁÁ¾ÆÇÏ´Â ¹æ¹ý, ¿¹¸¦ µé¾î make menuconfig·Î Ä¿³ÎÀ» ¼³Á¤ÇϽʽÿÀ. ¿©·¯ºÐÀº ¸ðµâÀÌ ¾øµµ·Ï Ä¿³ÎÀ» ¼³Á¤Çؼ­ ¼³Ä¡ °úÁ¤À» Á¶±Ý ´õ ½±°Ô ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ¸ðµâÀ» »ç¿ëÇϵµ·Ï ¼³Á¤Çϼ̴ٸé, ¿©·¯ºÐÀº Makefile¿¡¼­ INSTALL_MOD_PATH¸¦ ã¾Æ /mnt/target·Î ¼³Á¤ÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù.

ÀÌÁ¦ ¿©·¯ºÐÀº make dep, make bzImageÀ» ÇÏ½Ç ¼ö ÀÖ°í, ¿©·¯ºÐÀÌ ¸ðµâÀ» ¼³Á¤Çß´Ù¸é make modules, make modules_installµµ ÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù. Ä¿³Î arch/i386/boot/bzImage¿Í system map System.mapÀ» ´ë»ó ½Ã½ºÅÛÀÇ ºÎÆ® µð·ºÅ丮ÀÎ /mnt/target/boot·Î º¹»çÇϽʽÿÀ. ÀÌÁ¦ ¿ì¸®´Â lilo¸¦ ¼³Ä¡ÇÒ Áغñ°¡ µÇ¾ú½À´Ï´Ù.

5. Lilo


Lilo¿¡´Â QuickInst¶ó°í ºÒ¸®´Â ±ò²ûÇÑ ½ºÅ©¸³Æ®°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. lilo ¼Ò½º¸¦ ´ë»óÀÇ ¼Ò½º µð·ºÅ丮¿¡ Ç®°í, ROOT=/mnt/target ./QuickInst¿Í °°ÀÌ ½ÇÇàÇϼ¼¿ä. ½ºÅ©¸³Æ®´Â ¿©·¯ºÐ¿¡°Ô ¾î¶»°Ô lilo°¡ ¼³Ä¡µÉÁö¿¡ ´ëÇÑ Áú¹®À» ÇÕ´Ï´Ù.

¿ì¸®°¡ ROOT¸¦ ´ë»ó ÆÄƼ¼ÇÀ¸·Î ¼³Á¤Ç߱⠶§¹®¿¡, ÆÄÀÏ À̸§µéÀ» ´ë»ó ÆÄƼ¼ÇÀ» ±âÁØÀ¸·Î ÇÑ »ó´ëÀûÀÎ À§Ä¡·Î ¾Ë·Á ÁÖ¾î¾ß ÇÕ´Ï´Ù. ±×·¡¼­ ±âº»À¸·Î ºÎÆ®ÇÒ Ä¿³ÎÀÇ À§Ä¡¿¡ ´ëÇØ ¹°¾îº¼ ¶§ /mnt/target/boot/bzImage °¡ ¾Æ´Ñ /boot/bzImage¶ó°í ´äÇØ¾ß ÇÕ´Ï´Ù. ½ºÅ©¸³Æ®¿¡ ÀÛÀº ¹ö±×°¡ Àֱ⠶§¹®¿¡


	./QuickInst: /boot/bzImage: no such file 

¶ó°í ³ª¿Ã °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ ¹«½ÃÇÏ½Ã¸é µË´Ï´Ù.

QuickInst°¡ ¾îµð¿¡ ºÎÆ® ¼½Å͸¦ ¼³Ä¡ÇÏ°Ô ÇØ¾ß ÇÒ±î¿ä? ¿ì¸®´Â ÀçºÎÆà ÇßÀ» ¶§ ¹ÙÅÁ ½Ã½ºÅÛÀ̳ª ´ë»ó ½Ã½ºÅÛ, ¶Ç´Â ÄÄÇ»ÅÍ¿¡ ÀÖ´Â ´Ù¸¥ ½Ã½ºÅÛÀ¸·Î ºÎÆÃÇÒ ¼ö ÀÖµµ·Ï ¼±ÅÃÇÒ ¼ö Àֱ⸦ ¹Ù¶ø´Ï´Ù. ¶ÇÇÑ ¿ì¸®°¡ Áö±Ý ¸¸µå´Â ¸®·Î°¡ »õ·Î¿î ½Ã½ºÅÛÀÇ Ä¿³ÎÀ» Àеµ·Ï ÇÏ°í ½Í¾îÇÕ´Ï´Ù. ¾î¶»°Ô ¿ì¸®°¡ ÀÌ µÎ °¡Áö ¸ñÇ¥¸¦ ´Ù ´Þ¼ºÇÒ ¼ö ÀÖÀ»±î¿ä? ¾à°£ ÁÖÁ¦¿¡¼­ ¹þ¾î³ª°ÚÁö¸¸ ÀÌÁß ºÎÆ® ¸®´ª½º ½Ã½ºÅÛ¿¡¼­ lilo°¡ ¾î¶»°Ô DOS¸¦ ºÎÆ®ÇÏ´ÂÁö ¾Ë¾Æº¸µµ·Ï ÇսôÙ. ÀÌ·¯ÇÑ ÆÄÀϽýºÅÛÀ» À§ÇÑ lilo.conf´Â ¾Æ¸¶µµ ¾Æ·¡¿Í °°À» °ÍÀÔ´Ï´Ù.

prompt  
timeout = 50
default = linux

image = /boot/bzImage 
	label  = linux
	root   = /dev/hda1
	read-only

other = /dev/hda2
	label = dos

ÀÌ¿Í °°ÀÌ ¼³Ä¡µÇ¸é, ¸¶½ºÅÍ ºÎÆ® ·¹ÄÚµå(master boot record)´Â ¹ÙÀÌ¿À½º¿¡ ÀÇÇØ ÀÐÇôÁö°í ½ÇÇàµÈ µÚ, ÇÁ·ÒÇÁÆ®¸¦ ÁÖ´Â lilo ºÎÆ®·Î´õ¸¦ ºÎ¸£°Ô µË´Ï´Ù. ¸¸¾à ±× ÇÁ·ÒÇÁÆ®¿¡¼­ ¿©·¯ºÐÀÌ dos¶ó°í Ä¡½Ã¸é lilo´Â hda2ÀÇ ºÎÆ® ¼½Å͸¦ ºÎ¸£°Ô µÇ°í, DOS°¡ ºÒ¸®°Ô µË´Ï´Ù.

¿ì¸®°¡ ÇÏ·Á°í ÇÏ´Â °Íµµ hda2 ´ë½Å¿¡ QuickInst°¡ ¼³Ä¡ÇÏ·Á°í ÇÏ´Â ´Ù¸¥ lilo ºÎÆ® ¼½Å͸¦ ÀÌ¿ëÇÏ´Â °ÍÀ» Á¦¿ÜÇÏ¸é µ¿ÀÏÇÕ´Ï´Ù. ±×·¡¼­ ¸®´ª½º ¹èÆ÷ÆÇÀÇ lilo´Â ¿ì¸®°¡ ¸¸µç lilo¸¦ ºÎ¸£°í, ºÒ·ÁÁø lilo´Â ¿ì¸®°¡ ¸¸µç Ä¿³ÎÀ» ºÎ¸£°Ô µÉ °ÍÀÔ´Ï´Ù. ÀçºÎÆÃÀ» ÇÒ ¶§ ¿©·¯ºÐÀº µÎ °³ÀÇ lilo ÇÁ·ÒÇÁÆ®¸¦ º¼ °ÍÀÔ´Ï´Ù.

°£´ÜÈ÷ Á¤¸®Çϸé, QuickInst°¡ ¿©·¯ºÐ²² ¾îµð¿¡ ºÎÆ® ¼½Å͸¦ À§Ä¡ÇÒ °ÍÀÎÁö ¹°¾îº¸¸é, ¿©·¯ºÐÀÇ /dev/hda2¿Í °°ÀÌ ´ë»ó ÆÄÀϽýºÅÛÀÌ ÀÖ´Â µð¹ÙÀ̽º¸¦ ÁöÁ¤ÇϽʽÿÀ.

ÀÌÁ¦ ¿©·¯ºÐÀÇ ½Ã½ºÅÛÀÇ lilo.conf¸¦ ¾Æ·¡¿Í °°Àº ÁÙÀ» °¡Áöµµ·Ï °íÄ¡½Ê½Ã¿À.

 
other = /dev/hda2
	label = target

Lilo¸¦ ½ÇÇàÇÏ¸é ¿ì¸®´Â ´ë»ó ½Ã½ºÅÛÀ¸·Î ù ºÎÆ®¸¦ ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.

6. Glibc


´ÙÀ½À¸·Î ¿ì¸®´Â init¸¦ ¼³Ä¡ÇØ¾ß ÇÏ°ÚÁö¸¸, ¸®´ª½º¿¡¼­ ½ÇÇàµÇ´Â °ÅÀÇ ¸ðµç ´Ù¸¥ ÇÁ·Î±×·¥°ú °°ÀÌ, init´Â GNU C ¶óÀ̺귯¸®ÀÎ glibc¿¡¼­ Á¦°øÇÏ´Â ¶óÀ̺귯¸® ÇÔ¼öµéÀ» »ç¿ëÇÕ´Ï´Ù. ±×·¯´Ï ¿ì¸®´Â glibc¸¦ ¸ÕÀú ¼³Ä¡Çϵµ·Ï ÇսôÙ.

Glibc´Â ¸Å¿ì Å©°í º¹ÀâÇÑ ²Ù·¯¹ÌÀÔ´Ï´Ù. 8¸Þ°¡ ¹ÙÀÌÆ®ÀÇ ·¥ÀÌ ÀåÂøµÈ ÀúÀÇ ¿À·¡µÈ 386sx/16 ÄÄÇ»Åͷδ ¼³Ä¡ÇÏ´Â µ¥ 90½Ã°£ Á¤µµ°¡ °É·È½À´Ï´Ù. ÇÏÁö¸¸ 64¸Þ°¡¹ÙÀÌÆ®ÀÇ ¸Þ¸ð¸®°¡ ÀÖ´Â ÀúÀÇ ¼¿·¯·Ð 433 ÄÄÇ»Åͷδ 33ºÐ¹Û¿¡ °É¸®Áö ¾Ê¾Ò½À´Ï´Ù. Á¦ »ý°¢¿¡´Â ¾ó¸¶³ª ½Ã°£ÀÌ °É¸®´ÂÁö´Â ¸Þ¸ð¸®°¡ ÁÖ·Î °áÁ¤ÇÏ´Â °Í °°½À´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ 8¸Þ°¡¹ÙÀÌÆ®(³ª, °øÆ÷½º·´°Ôµµ ´õ ÀÛÀº Å©±â)ÀÇ ¸Þ¸ð¸®¸¦ °¡Áö°í ÀÖ¾ú´Ù¸é ´õ ¸¹Àº ¼³Ä¡ ½Ã°£ °É¸± Å×´Ï Áغñ¸¦ ÇϽñ⠹ٶø´Ï´Ù.

Glibc ¼³Ä¡ ¹®¼­´Â glibc¸¦ µ¶¸³µÈ µð·ºÅ丮¿¡ ¼³Ä¡ÇÒ °ÍÀ» ±ÇÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é ¿©·¯ºÐÀº ´ÜÁö ±× µð·ºÅ丮¸¦ Áö¿ì´Â °Í¸¸À¸·Î, ½±°Ô Àç½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ÀÌ·¸°Ô Çϸé 265¸Þ°¡¹ÙÀÌÆ® Á¤µµÀÇ ¸Þ¸ð¸®°¡ Àý¾àµË´Ï´Ù.

Æò¼Òó·³ glibc-2.1.3.tar.gz (³ª ´Ù¸¥ ¹öÀüÀÇ) Ÿ¸£º¼À» /mnt/target/usr/src¿¡ DZ´Ï´Ù. ÀÌÁ¦, ¿ì¸®´Â glibcÀÇ µð·ºÅ丮¿¡¼­ "¾Öµå¿Âµé(add-ons)"ÀÇ ¾ÐÃ൵ Ç® °ÍÀÔ´Ï´Ù. ±×·¯´Ï cd glibc-2.1.3ÇϽðí, glibc-crypt-2.1.3.tar.gz¿Í glibc-linuxthreads-2.1.3.tar.gz Ÿ¸£º¼À» ±×°÷¿¡ Ǫ½Ê½Ã¿À.

ÀÌÁ¦ ¿ì¸®´Â ¼³Ä¡ µð·ºÅ丮¸¦ ¸¸µé°í, ¼³Á¤ÇÑ µÚ, glibc¸¦ ¸¸µé°í(make) ¼³Ä¡(install)ÇÒ °ÍÀÔ´Ï´Ù. Àú´Â ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇßÁö¸¸, ¹®¼­µéÀ» ½º½º·Î ÀÐÀ¸½Ã°í ¿©·¯ºÐÀÇ »óȲ¿¡ °¡Àå ÀûÇÕÇÏ°Ô ÀÔ·ÂÇϽʽÿÀ. ÇÑÆí, ¿©·¯ºÐÀº glibc¸¦ ¼³Ä¡Çϱâ Àü¿¡ df¸í·É¾î¸¦ ÅëÇؼ­ ¿©À¯ °ø°£ÀÌ ¾ó¸¶³ª ÀÖ³ª¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù. Glibc¸¦ ¼³Ä¡ÇÑ µÚ, ¾îµð¿¡¼­ ¿ë·®ÀÌ ³¶ºñµÇ¾ú´ÂÁö º¸±â À§Çؼ­ df¸¦ ´Ù½Ã ÇÏ½Ç ¼öµµ ÀÖ½À´Ï´Ù.

	cd ..
 	mkdir glibc-build
 	../glibc-2.1.3/configure --enable-add-ons --prefix=/usr
 	make
 	make install_root=/mnt/target install

¿ì¸®°¡ ²Ù·¯¹Ì¸¦ ¾îµð¿¡ ¼³Ä¡ÇÒÁö ¼³Á¤ÇÏ´Â ¶Ç ´Ù¸¥ ¹æ¹ýÀÌ ÀÖ´Ù´Â Á¡¿¡ ÁÖÀÇÇϽʽÿÀ.

7. SysVinit


SysVinit ¹ÙÀ̳ʸ®¸¦ ¸¸µé°í ¼³Ä¡ÇÏ´Â °ÍÀº ¸Å¿ì ´Ü¼øÇÕ´Ï´Ù. src/ ¼­ºê µð·ºÅ丮ÀÇ MakefileÀ» Á¶±Ý ÇØÅ·ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. ¸¶Áö¸· ³× ÁÙ¿¡¼­, ¿©·¯ºÐÀº /dev/initctl ¹Ù·Î ¾Õ¿¡ $(ROOT)¸¦ Ãß°¡ÇØ ÁÖ¼Å¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î

 @ if [ ! -p /dev/initctl ]; then \

˼

 @ if [ ! -p $(ROOT)/dev/initctl ]; then \

ÀÌ µË´Ï´Ù.

ÀÌ initctl µð¹ÙÀ̽º ÆÄÀÏÀº init¿ÍÀÇ Åë½Å ¼ö´Ü ÁßÀÇ ÇϳªÀÔ´Ï´Ù. ¿¹¸¦ µé¾î init ¸Ç ÆÐÀÌÁö¸¦ º¸¸é, ÁÖ Àü¿øÀÌ ²÷±â·Á°í ÇÏ¿© UPS Àü¿ø¿¡¼­ µ¿ÀÛÇÏ°í ÀÖÀ» ¶§ SIGPWR ´ë½Å ÀÌ ÆÄÀÏÀ» ½á¼­ init¸¦ Á¾·áÇϵµ·Ï ÇÏ°í ÀÖ´Ù. ¹æ±Ý ¿ì¸®°¡ ÇÑ ÇØÅ·Àº ´ë»ó ½Ã½ºÅÛÀ» À§ÇÑ °ÍÀ̸ç, ¹ÙÅÁ ½Ã½ºÅÛÀº ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù.

ÀÌ°ÍÀÌ ³¡³µÀ¸¸é, src ¼­ºêµð·ºÅ丮¿¡¼­ ´ÙÀ½ ¸í·ÉµéÀ» ÀÔ·ÂÇϽʽÿÀ.

 make
 ROOT=/mnt/target make install

init¿Í °ü·ÃµÈ ½ºÅ©¸³Æ®µéÀº ¸Å¿ì ¸¹½À´Ï´Ù. SysVinit ²Ù·¯¹Ì ¾È¿¡ Àß µ¿ÀÛÇÏ´Â ¿¹Á¦ ½ºÅ©¸³Æ®µéÀÌ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ¿©·¯ºÐÀº ½ºÅ©¸³Æ®µéÀ» ¼öµ¿À¸·Î ¼³Ä¡ÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù. ±×°ÍµéÀº SysVinit ¼Ò½º Æ®¸® ¾ÈÀÇ debian/etc ¾Æ·¡ÀÇ °èÃþ¿¡ ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀº cd ../debian/etc; cp -r * /mnt/target/etc¿Í °°Àº ¹æ¹ýÀ¸·Î ½ºÅ©¸³Æ®µéÀ» ´ë»óÀÇ etc µð·ºÅ丮·Î Á÷Á¢ º¹»çÇÏ½Ã¸é µË´Ï´Ù. ¿©·¯ºÐÀº º¹»çÇϽñâ Àü¿¡ ½ºÅ©¸³Æ®µéÀÇ ³»¿ëÀ» º¸°í ½ÍÀ¸½Ç °ÍÀÔ´Ï´Ù!

ÀçºÎÆÃÀ» ÇÒ ¶§ initÀ» ÀоîµéÀ̱â À§ÇÑ À§ÇÑ Áغñ°¡ ´ë»ó Ä¿³Î¿¡ ´ëÇؼ­ ¿ÏÀüÈ÷ ³¡³µ½À´Ï´Ù. Áö±Ý ¹®Á¦´Â bash°¡ ¾ø±â ¶§¹®¿¡ ½ºÅ©¸³Æ®°¡ ½ÇÇàµÇÁö ¾ÊÀ» °ÍÀ̶ó´Â °ÍÀÔ´Ï´Ù. ¶ÇÇÑ, init´Â getty¸¦ ½ÇÇà½ÃÅ°·Á°í ÇÏÁö¸¸, ½ÇÇà½Ãų getty°¡ ¾ø½À´Ï´Ù. ÀçºÎÆÃÀ» ÇØ º¸½Ã°í À߸øµÈ °ÍÀÌ ¾ø´Ù´Â °ÍÀ» È®ÀÎÇϼ¼¿ä.

8. Ncurses


¿ì¸®°¡ ´ÙÀ½À¸·Î Çʿ並 ÇÏ´Â °ÍÀº BashÀÌÁö¸¸, bash´Â ncurses¸¦ ÇÊ¿ä·Î Çϱ⠶§¹®¿¡ ÀÌ°ÍÀ» ¸ÕÀú ¼³Ä¡ÇÕ´Ï´Ù. Ncurses´Â ÅؽºÆ® ½ºÅ©¸°À» ´Ù·ç´Â ¼ö´ÜÀ¸·Î¼­ termcapÀ» ´ëüÇÏ¿´Áö¸¸, tercapÀÇ ÄÝ(call)µéÀ» Áö¿øÇÔÀ¸·Î½á ¿À·¡µÈ ÇÁ·Î±×·¥°úÀÇ È£È¯¼º(backwards compatibility)À» Áö¿øÇÕ´Ï´Ù. ±ú²ýÇÏ°í ´Ü¼øÇÑ Çö´ëÀûÀÎ ½Ã½ºÅÛÀ» ¸¸µé±â À§Çؼ­´Â, ±¸½ÄÀÎ termcap ¸Þ¼Òµå(method)¸¦ ²ô´Â °ÍÀÌ °¡Àå ÁÁÀ» °ÍÀ̶ó°í »ý°¢ÇÕ´Ï´Ù. ¿©·¯ºÐÀº ³ªÁß¿¡ termcapÀ» ¾²´Â ±¸½ÄÀÎ ¾îÇø®ÄÉÀ̼ÇÀ» ÄÄÆÄÀÏÇÒ ¶§ ¹®Á¦¿¡ Á÷¸éÇÏ°Ô µÉÁöµµ ¸ð¸¨´Ï´Ù. ÇÏÁö¸¸ ÃÖ¼ÒÇÑ ¿©·¯ºÐÀº ¹«¾ùÀÌ ¹«¾ùÀ» ¾²´ÂÁö´Â ¾Ë °ÍÀÔ´Ï´Ù. ¸¸¾à ÇÊ¿äÇÏ´Ù¸é termcapÀ» Áö¿øÇϵµ·Ï ncurses¸¦ ´Ù½Ã ÄÄÆÄÀÏ ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

Á¦°¡ »ç¿ëÇÑ ¸í·É¾î´Â ¾Æ·¡¿Í °°½À´Ï´Ù.

 	./configure --prefix=/usr --with-install-prefix=/mnt/target --with-shared --disable-termcap 
 	make 
	make install

9. Bash


Bash¸¦ ¼³Ä¡ÇÏ´Â µ¥¿¡´Â Á¦°¡ »ý°¢Çß´ø °Íº¸´Ù ´õ ¸¹Àº Àбâ¿Í »ý°¢°ú ½ÃÇàÂø¿À°¡ ÇÊ¿äÇß½À´Ï´Ù. Á¦°¡ »ç¿ëÇÑ ¼³Á¤ ¿É¼ÇµéÀº ¾Æ·¡¿Í °°½À´Ï´Ù.

 ./configure --prefix=/mnt/target/usr/local --exec-prefix=/mnt/target --with-curses 

ÀÏ´Ü ¿©·¯ºÐÀÌ Bash¸¦ ¸¸µé°í ¼³Ä¡Çϼ̴ٸé, cd /mnt/target/bin; ln -s bash sh¿Í °°Àº ¹æ¹ýÀ¸·Î ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µå½Ê½Ã¿À. ¸¹Àº ½ºÅ©¸³Æ®µéÀÌ ¾Æ·¡¿Í °°Àº ÁÙ·Î ½ÃÀÛÇϱ⠶§¹®ÀÔ´Ï´Ù.

#!/bin/sh
½Éº¼¸¯ ¸µÅ©°¡ ¾ø´Ù¸é ÀÌ·¯ÇÑ ½ºÅ©¸³Æ®µéÀº /bin/bash°¡ ¾Æ´Ñ/bin/sh¸¦ ã±â ¶§¹®¿¡ ½ÇÇàµÉ ¼ö ¾øÀ» °ÍÀÔ´Ï´Ù.

¿©·¯ºÐÀÌ ÀçºÎÆÃÀ» ÇÏ½Ã°í ½Í´Ù¸é Áö±Ý ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. ÀÌÁ¦´Â ½ºÅ©¸³Æ®°¡ ½ÇÁ¦·Î ½ÇÇàµÇÁö¸¸, getty³ª login ÇÁ·Î±×·¥ÀÌ ¾ø±â ¶§¹®¿¡ ·Î±×ÀÎÀº ÇÏ½Ç ¼ö ¾ø´Ù´Â °Í¿¡ ÁÖÀÇÇϽʽÿÀ.

10. Util-linux (getty¿Ílogin)


Util-linux²Ù·¯¹Ì´Â agetty¿Í loginÀ» Æ÷ÇÔÇÕ´Ï´Ù. ¿ì¸®°¡ ·Î±×ÀÎ ÇÏ°í ¹è½Ã ÇÁ·ÒÇÁÆ®¸¦ ¹Þ±â À§Çؼ­´Â µÑ ´Ù°¡ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ°ÍÀÌ ¼³Ä¡µÈ µÚ¿¡´Â ´ë»óÀÇ /sbin µð·ºÅ丮¿¡¼­ agetty¿¡¼­ getty·ÎÀÇ ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µå½Ê½Ã¿À. ¸ðµç À¯´Ð½º °è¿­ÀÇ ½Ã½ºÅÛ¿¡´Âgetty°¡ ¼³Ä¡µÇ¾ú´Ù°í °¡Á¤µÇ±â ¶§¹®¿¡, agetty¸¦ ½ÇÇà½ÃÅ°±â À§ÇØ inittabÀ» ÇØÅ·ÇÏ´Â °Íº¸´Ù ½Éº¼¸µ ¸µÅ©¸¦ ¸¸µå´Â °ÍÀÌ ´õ ³´½À´Ï´Ù.

Util-linux¸¦ ÄÄÆÄÀÏÇÏ´Â µ¥ ÀÖ¾î ¹®Á¦°¡ Çϳª ³²¾Ò½À´Ï´Ù. ÀÌ ²Ù·¯¹Ì´Â moreÀ» Æ÷ÇÔÇÏÁö¸¸, Àú´Â make °úÁ¤¿¡¼­ more¸¦ ¹ÙÅÁ ½Ã½ºÅÛÀÇ ncurses 4 ´ë½Å ncurses 5·Î ¸µÅ©Çϵµ·Ï ÇÒ ¼ö ¾ø¾ú½À´Ï´Ù. Àú´Â ±×°Í¿¡ ´ëÇØ ´õ ÀÚ¼¼È÷ ¾Ë¾Æ º¼ °ÍÀÔ´Ï´Ù.

´ë»ó ½Ã½ºÅÛ¿¡´Â /etc/passwdÆÄÀÏÀÌ ÀÖ¾î¾ß ÇÒ °ÍÀÔ´Ï´Ù. login ÇÁ·Î±×·¥Àº ÀÌ ÆÄÀÏÀ» ÀÌ¿ëÇÏ¿© ¿©·¯ºÐÀÌ Çã¿ëµÈ »ç¿ëÀÚÀÎÁö¸¦ È®ÀÎÇÒ °ÍÀÔ´Ï´Ù. Çö ´Ü°è¿¡¼­ ½Ã½ºÅÛÀº Àå³­°¨ »óÅÂÀ̱⠶§¹®¿¡ ¿ì¸®´Â Æнº¿öµå ¾øÀÌ ·çÆ® À¯Àú¸¸À» ¼³Ä¡ÇÏ´Â ¾öû³­ ÀÏÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù!! ´ë»óÀÇ /etc/passwd¿¡ ¾Æ·¡¸¦ ÀÔ·ÂÇϼ¼¿ä.

root::0:0:root:/root:/bin/bash
Ç׸ñµéÀº Äݷеé·Î ±¸ºÐµÇ¾î ÀÖÀ¸¸ç, ¿ÞÂʺÎÅÍ Â÷·Ê´ë·Î »ç¿ëÀÚ ID, (¾ÏȣȭµÈ)ºñ¹Ð¹øÈ£, »ç¿ëÀÚ ¹øÈ£, ±×·ì ¹øÈ£, »ç¿ëÀÚÀÇ À̸§, Ȩ µð·ºÅ丮, ±âº» ¼ÐÀÔ´Ï´Ù.

11. Sh-utils


¿ì¸®°¡ ÇÊ¿ä·Î ÇÏ´Â ¸¶Áö¸· ²Ù·¯¹Ì´Â GNU sh-utilsÀÔ´Ï´Ù. ¿©±â¼­ ¿ì¸®°¡ ÇÊ¿äÇÑ °ÍÀº /etc/init.d/rc¿¡¼­ ¾²ÀÌ´Â stty »ÓÀÔ´Ï´Ù. /etc/init.d/rc´Â ·±·¹º§µé(runlevels)À» º¯°æÇÏ°í, Ãʱ⠷±·¹º§·Î ÁøÀÔÇÏ´Â µ¥ ¾²ÀÔ´Ï´Ù. »ç½Ç Àú´Â stty ¸¸À» Æ÷ÇÔÇÏ°í ÀÖ´Â ²Ù·¯¹Ì¸¦ °¡Áö°í¼­ »ç¿ëÇÏ¿´Áö¸¸, ¾îµð¿¡¼­ ±¸Çß´ÂÁö ±â¾ïÇÒ ¼ö ¾ø¾ú½À´Ï´Ù. ¿©·¯ºÐÀÌ ½Ã½ºÅÛÀ» ÆíÇÏ°Ô »ç¿ëÇϽñâ À§ÇØ ÇÊ¿ä·Î ÇÒ ´Ù¸¥ ÇÁ·Î±×·¥µéµµ Æ÷ÇԵǾî Àֱ⠶§¹®¿¡, GNU ²Ù·¯¹Ì¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÕ´Ï´Ù.

ÀÚ ³¡³µ½À´Ï´Ù. ¿©·¯ºÐÀº ÀÌÁ¦ ºÎÆÃÇÏ°í ·Î±×ÀÎÀ» À§ÇÑ ÇÁ·ÒÇÁÆ®¸¦ ¿©·¯ºÐ¿¡°Ô Ãâ·ÂÇØ ÁÙ ½Ã½ºÅÛÀ» °¡Áö°Ô µÇ¾ú½À´Ï´Ù. ¿©·¯ºÐÀº ÀÌ°ÍÀ» °¡Áö°í ¸¹Àº ÀÏÀº ÇÏÁö ¸øÇÒ °ÍÀÔ´Ï´Ù. ¿©±â¿¡´Â ¿©·¯ºÐÀÇ °á°ú¹°À» º¸¿©ÁÙ ls ¸í·É¾îÁ¶Â÷ ¾ø½À´Ï´Ù. ÅÇ(tab)Å°¸¦ µÎ¹ø ´©¸£½Ã¸é °¡´ÉÇÑ ¸í·É¾îµéÀ» º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀÌ Á¦°¡ Çغ» °Í Áß¿¡¼­´Â °¡Àå ¸¸Á·½º·¯¿î °ÍÀÔ´Ï´Ù.

12. Æí¸®ÇÑ »ç¿ëÀ» À§Çؼ­


¿ì¸®°¡ °ÅÀÇ ¾µ¸ð¾ø´Â ½Ã½ºÅÛÀ» ¸¸µé¾ú´Ù°í »ý°¢µÉ ¼öµµ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ½ÇÁ¦·Î´Â ÀÌ ½Ã½ºÅÛÀÌ ¹«¾ð°¡ Çϵµ·Ï Çϱâ À§ÇØ ÇØ¾ß ÇÒ ÀÏÀÌ ¸¹Áö´Â ¾Ê½À´Ï´Ù. ¿©·¯ºÐÀÌ °¡Àå ¸ÕÀú ÇØ¾ß ÇÒ ÀÏ ÁßÀÇ Çϳª´Â ·çÆ® ÆÄÀÏ ½Ã½ºÅÛÀ» Àбâ-¾²±â·Î ¸¶¿îÆ®ÇÏ´Â °ÍÀÔ´Ï´Ù. SysVinit ²Ù·¯¹Ì ¾È¿¡´Â ÀÌ¿Í °°Àº ÀÏÀ» ÇÏ°í mount -a¸¦ ½ÇÇàÇÏ¿© ¿©·¯ºÐÀÌ /etc/fstab¿¡ ½á ³õÀº ´ë·Î ÆÄÀϽýºÅÛÀ» ¸¶¿îÆ®ÇÏ´Â /etc/init.d/mountall.sh¶ó´Â ½ºÅ©¸³Æ®°¡ ÀÖ½À´Ï´Ù. etc/rc2.d¾È¿¡ S05mountall°ú °°Àº ½Éº¼¸¯ ¸µÅ©¸¦ ³ÖÀ¸½Ê½Ã¿À.

ÀÌ ½ºÅ©¸³Æ®´Â ¿©·¯ºÐÀÌ ¾ÆÁ÷ ¼³Ä¡ÇÏÁö ¾ÊÀº ¸í·ÉµéÀ» »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ±×·¸´Ù¸é ±× ¸í·ÉÀ» Æ÷ÇÔÇÏ´Â ²Ù·¯¹Ì¸¦ ã¾Æ¼­ ¼³Ä¡ÇϽʽÿÀ. Àâ´ÙÇÑ ÆÁµé¿¡ ¾î¶»°Ô ²Ù·¯¹ÌµéÀ» ã´ÂÁö¿¡ °üÇÑ µµ¿ò¸»ÀÌ ÀÖ½À´Ï´Ù.

/etc/init.dÀÇ ´Ù¸¥ ½ºÅ©¸³Æ®µéµµ º¸½Ê½Ã¿À. ±×µé ´ëºÎºÐÀº ´ëºÎºÐÀÇ ÁøÂ¥ ½Ã½ºÅÛ¿¡´Â Æ÷ÇԵǾî ÀÖ¾î¾ß ÇÕ´Ï´Ù. ±×µéÀ» Çϳª¾¿ ¼³Ä¡ÇØ º¸½Ê½Ã¿À. °¢°¢À» ¼³Ä¡Çϱ⠸ðµç °ÍÀÌ Àß µ¹¾Æ°£´Ù´Â °ÍÀ» È®ÀÎÇϽʽÿÀ.

ÆÄÀÏ °èÃþ Ç¥ÁØ¿¡ ´ëÇØ ¾Ë¾Æº¸½Ê½Ã¿À. (ÆÄÀϽýºÅÛÀ» º¸½Ê½Ã¿À.) ÀÌ°ÍÀº /bin°ú /sbin¿¡ ÀÖ¾î¾ß ÇÒ ¸í·É¾îµéÀÇ ¸ñ·ÏÀ» Á¦°øÇÕ´Ï´Ù. ¸ðµç ¸í·É¾îµéÀÌ ¼³Ä¡µÇ¾ú´ÂÁö È®ÀÎÇϽʽÿÀ. ÀÌ°ÍÀ» ±ÔÁ¤ÇÑ POSIX ¹®¼­¸¦ ã¾Æ º¸½Ã¸é ´õ ÁÁÀ» °ÍÀÔ´Ï´Ù.

¿©±â¼­ºÎÅÍ´Â ¿©·¯ºÐÀÌ ÇÊ¿äÇÑ °ÍÀÌ ÀÖ´Â ²Ù·¯¹Ì¸¦ °è¼Ó ¼³Ä¡ÇÏ½Ã¸é µË´Ï´Ù. gcc¿Í make °°Àº ¼³Ä¡ µµ±¸µéÀ» ¼³Ä¡ÇÏ´Â °ÍÀº ºü¸¦¼ö·Ï ÁÁ½À´Ï´Ù. À̵éÀÌ ¼³Ä¡µÇ¸é, ¿©·¯ºÐÀº ´ë»ó ½Ã½ºÅÛ¿¡¼­ ½º½º·Î¸¦ ¼³Ä¡ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ´Â ¹ÙÅÁ ½Ã½ºÅÛ¿¡¼­ ÇÏ´Â °Íº¸´Ù ´ú º¹ÀâÇÕ´Ï´Ù.

13. Ãß°¡ Á¤º¸


13.1. Àâ´ÙÇÑ ÆÁµé



¸¸¾à ¿©·¯ºÐÀÌ RPMÀ» Áö¿øÇÏ´Â ¸®´ª½º ½Ã½ºÅÛ¿¡¼­ thingy¶ó´Â ¸í·ÉÀÌ ÀÖ°í, ÀÌ ¸í·ÉÀ» ¾òÀ» ¼ö ÀÖ´Â ¼Ò½º¸¦ ¾Ë°í ½ÍÀ¸½Ã´Ù¸é ¾Æ·¡ÀÇ ¸í·ÉÀ» ¾²½Ã±â ¹Ù¶ø´Ï´Ù.

	rpm -qif `which thingy`

¿©·¯ºÐÀÌ ·¡µåÇÞ CD¸¦ °¡Áö°í ÀÖ´Ù¸é, ¿©·¯ºÐÀº ¾Æ·¡ÀÇ Äڵ带 ÀÌ¿ëÇÏ¿© ¼Ò½º Äڵ带 ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.

	rpm -i /mnt/cdrom/SRPMS/what.it.just.said-1.2.srpm

ÀÌ°ÍÀº Ÿ¸£º¼°ú ·¡µåÇÞÀÇ ÆÐÄ¡µéÀ» /usr/src/redhat/SOURCES¿¡ Ç®¾î ³õÀ» °ÍÀÔ´Ï´Ù.

13.2. ¸µÅ©

  • [http]Software Building mini-HOWTO´Â ¼ÒÇÁÆ®¿þ¾î¸¦ ¼Ò½º·ÎºÎÅÍ ¼³Ä¡ÇÏ´Â °Í¿¡ ´ëÇÑ ÁÁÀº ¹Ì´Ï ÇÏ¿ìÅõÀÔ´Ï´Ù.
  • [http]The Linux From Scratch HOWTO´Â ¸®´ª½º ½Ã½ºÅÛÀ» ¼Ò½º·ÎºÎÅÍ ¼³Ä¡ÇÏ´Â °Í¿¡ ´ëÇÑ ÇÏ¿ìÅõÀÔ´Ï´Ù. ÀÌ°ÍÀº ¹è¿ì±â À§ÇÑ ¿¬½ÀÀ¸·Î¼­ ¼³Ä¡ÇÏ´Â °Í º¸´Ù ½ÇÁ¦·Î »ç¿ëÇϱâ À§ÇØ ¼³Ä¡ÇÏ´Â °Í¿¡ ´õ ÁýÁßÇÕ´Ï´Ù.
  • [ftp]À¯´Ð½º ÆÄÀÏ ½Ã½ºÅÛ Ç¥ÁØ(Unix File System Standard) [http]À¯´Ð½º ÆÄÀÏ ½Ã½ºÅÛ Ç¥ÁØ¿¡ ´ëÇÑ ¶Ç ´Ù¸¥ ¸µÅ© ÀÌ ¹®¼­´Â À¯´Ð½º ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­ ¹«¾ùÀÌ ¾îµð¿¡ ÀÖ¾î¾ß Çϸç, ±× ÀÌÀ¯´Â ¹«¾ùÀÎÁö ¼³¸íÇÕ´Ï´Ù. ¶ÇÇÑ, /bin, /sbin µî¿¡ ÃÖ¼ÒÇÑ ¹«¾ùÀÌ ÀÖ¾î¾ß ÇÏ´ÂÁö¸¦ ¼³¸íÇÕ´Ï´Ù. ¿©·¯ºÐÀÌ ¿ÏÀüÇÏÁö¸¸ °¡´ÉÇÑ ÇÑ ÀÛÀº ½Ã½ºÅÛÀ» ¸¸µå·Á°í ÇϽŴٸé ÁÁÀº Âü°í ÀÚ·áÀÔ´Ï´Ù.

14. ÀÌ ¹®¼­¿¡ ´ëÇؼ­


14.1. ÀúÀÛ±Ç


This document is copyright (c) 1999, 2000 Greg O'Keefe. You are welcome to use, copy, distribute or modify it, without charge, under the terms of the [http]GNU General Public Licence. Please acknowledge me if you use all or part of this in another document.

14.2. ȨÆäÀÌÁö


ÀÌ ¹®¼­ÀÇ ÃÖ½ÅÆÇÀº [http]From Powerup To Bash Prompt¿¡ ÀÖ½À´Ï´Ù.

14.3. Çǵå¹é


Àú´Â ¿©·¯ºÐÀÇ ¾î¶°ÇÑ Á¶¾ðÀ̳ª ºñÆò, °³¼±À» À§ÇÑ Á¦¾Èµµ µè°í ½Í½À´Ï´Ù. ±×°ÍµéÀ» Àú, MGreg O'Keefe¿¡°Ô º¸³»½Ê½Ã¿À.

14.4. °¨»ç



Á¦Ç° À̸§µéÀº °¢°¢ÀÇ ¼ÒÀ¯ÀÚÀÇ »óÇ¥À̸ç, ¿©±â¿¡¼­ °¨»ç¸¦ µå¸³´Ï´Ù.

ÀÌ ¹®¼­¸¦ ¾µ ¼ö ÀÖµµ·Ï µµ¿ÍÁֽŠµ¥ ´ëÇØ ¾Æ·¡ÀÇ ºÐµé²² °¨»ç¸¦ µå¸®°í ½Í½À´Ï´Ù.

Michael Emery
Unios¸¦ ¾Ë·Á Áּ̽À´Ï´Ù.

Tim Little
/etc/passwd¿¡ ´ëÇØ µµ¿òÀ» Áּ̽À´Ï´Ù.

efnetÀÇ #linux¿¡ °è½Å sPaKr
syslogd´Â /etc/services¸¦ ÇÊ¿ä·Î ÇÑ´Ù´Â °ÍÀ» ¾Ë·ÁÁּ̰í, ½Ã½ºÅÛÀ» ¼Ò½º ÄÚµå·Î ¼³Ä¡ÇÏ´Â °ÍÀ» ¹¦»çÇϱâ À§ÇÑ "¿©·¯ºÐÀÇ °ÍÀ» µ¹¸°´Ù(rolling your own)"´Â Ç¥ÇöÀ» ¼Ò°³ÇØ Áּ̽À´Ï´Ù.

Alex Aitkin
Àú¿¡°Ô Vico¿Í ±×ÀÇ "verum ipsum factum"(understanding arises through making, ÀÌÇØ´Â ¸¸µê¿¡¼­ ±â¿øÇÑ´Ù)À» Àú¿¡°Ô ¼Ò°³ÇØ Áּ̽À´Ï´Ù.

Dennis Scott
ÀúÀÇ 16Áø¼ö °è»êÀ» °íÃÄ Áּ̽À´Ï´Ù.

jdd
¿ÀÀÚµéÀ» ÁöÀûÇØ Áּ̽À´Ï´Ù.

14.5. º¯°æ ±â·Ï


14.5.1. 0.8 -> 0.9


  • Added hack to sysvinit makefile. This info is due to Gerard Beekmans of "Linux From Scratch" fame.

14.5.2. 0.8


  • ù¹ø° ÆÇ. "From PowerUp to Bash Prompt"¿¡¼­ ºÐ¸®ÇÔ.

14.6. ÇÒ ÀÏ


  • ´ÚºÏÀ¸·Î º¯È¯Çϱâ.

ID
Password
Join
Your mode of life will be changed for the better because of new developments.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2004-01-06 20:30:56
Processing time 0.0139 sec