· 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
Expect a letter from a friend who will ask a favor of you.


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.0133 sec