ÀÌ ¹®¼­´Â ¾È¾ç´ëÇб³ ÄÄÇ»ÅÍ °øÇаú SI ¿¬±¸½ÇÀÇ ¹®¼­ ÇÁ·ÎÁ§Æ®¸¦ ÅëÇØ »ý¼ºÇÑ ÆäÀÌÁö¸¦ ¿Å°Ü¿Â °ÍÀÔ´Ï´Ù. ¹ø¿ªÀ» ÇØÁֽŠ±èÀ¯¼®, ±è°üºó, Àü½Å¿ø, ¹Î°æ´ë, ±è±âÈÆ, ÀÓÁ¤È£, ¹é¼®°ï, ÀÌÈ£ÁÖ, ¾ÈÇý¸² ´Ô²² °¨»çÀÇ ¸»¾¸À» ÀüÇÕ´Ï´Ù. ÀÌ ¹®¼­´Â LFS 5.1-Pre 1 À» ±âÁØÀ¸·Î Á¦ÀÛµÈ ¹®¼­ÀÔ´Ï´Ù. (2004³â12¿ù29ÀÏ ±âÁØ) ÃÖ½ÅÀÇ Á¤º¸¿¡ ¸Â°Ô Á¶±Ý¾¿ ¾÷µ¥ÀÌÆ® ÇÒ ¿¹Á¤À̸ç, LFS¿¡ ´ëÇÑ Àüü ³»¿ëÀº [http://wiki.kldp.org/wiki.php/LFS/]¸¦ ÅëÇØ ¿¬°áµË´Ï´Ù. º» ¹®¼­´Â LFS ½Ã½ºÅÛÀÇ Áغñ´Ü°è¿¡ ÇØ´çÇÏ´Â ÆÐÅ°Áö¿Í ÆÐÄ¡¸¦ ±¸ÇÏ´Â ºÎºÐÀ» ¼³¸íÇÕ´Ï´Ù. * [chaoxifer] -- 7.2·Î ¹®¼­ ¾÷µ¥ÀÌÆ® * ´ÙÀ½ ÀåÀÎ [LFS/Building]°ú °ãÄ¡´Â ºÎºÐÀº »èÁ¦ÇÏ°í »õ·Î ¾÷µ¥ÀÌÆ®µÈ ºÎºÐÀº Ãß°¡ÇÏ¿´½À´Ï´Ù. * ÀüüÀûÀ¸·Î ¼öÁ¤ÇÏ¿´°í ´Ù¿î·Îµå ¸µÅ©´Â È®ÀÎÇÏ°í ¼öÁ¤ÇÏ¿´½À´Ï´Ù. [[TableOfContents]] = »õÆÄƼ¼Ç ¸¸µé±â = == ¼Ò °³ == À̹ø Àå¿¡¼­´Â LFS½Ã½ºÅÛÀ» ¼³Ä¡Çϱâ À§ÇÑ ÆÄƼ¼Ç ÀÛ¾÷¿¡ ´ëÇØ ´Ù·ê °ÍÀÔ´Ï´Ù. ¿ì¸®´Â ÀÌÁ¦ »õ·Î¿î ÆÄƼ¼ÇÀ» ¸¸µé°í ±× ÆÄƼ¼Ç¿¡ ÆÄÀÏ ½Ã½ºÅÛÀ» ±¸ÃàÇÏ°í ¸¶¿îÆ®¸¦ ÇÒ °ÍÀÔ´Ï´Ù. == »õ ÆÄƼ¼Ç ¸¸µé±â == »õ·Î¿î Linux ½Ã½ºÅÛÀ» ±¸ÃàÇϱâ À§Çؼ­´Â ¾î´À Á¤µµ ºó °ø°£ÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù.(µð½ºÅ©ÀÇ ºó ÆÄƼ¼Ç). ¸¸¾à LFS¸¦ ¸¸µé±â À§ÇÑ HDDÀÇ ¿©À¯°ø°£ÀÌ ¾ø°í, ³²´Â ÆÄƼ¼Çµµ ¾ø´Ù¸é, ±âÁ¸ ¹èÆ÷ÆÇÀÌ ¼³Ä¡µÈ °÷¿¡ ¼³Ä¡ÇØ¾ß ÇÕ´Ï´Ù. óÀ½ºÎÅÍ LFS¸¦ ¼³Ä¡Çϴ°ÍÀº ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ÇÏÁö¸¸, HDD°ø°£ÀÌ Á¤¸» ¾ø°í, ´ç½ÅÀÌ ¿ë°¨ÇÏ´Ù¸é ´ÙÀ½ÀÇ ¹®¼­¸¦ Âü°íÇϱ⠹ٶø´Ï´Ù. http://www.linuxfromscratch.org/hints/downloads/files/lfs_next_to_existing_systems.txt ÃÖ¼Ò ¼³Ä¡ »ç¾çÀ» À§Çؼ­´Â 1.2GBÁ¤µµÀÇ ÆÄƼ¼ÇÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¸ðµç ¼Ò½º Ÿ¸£º¼À» ÀúÀåÇÏ°í ¸ðµç ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏ Çϴµ¥ ÀÌ Á¤µµÀÇ °ø°£À̸é ÃæºÐÇÕ´Ï´Ù.ÇÏÁö¸¸, LFS½Ã½ºÅÛÀ» ù¹ø° ¸®´ª½º ½Ã½ºÅÛÀ¸·Î »ç¿ë ÇÒ °ÍÀ̶ó¸é,´ç½ÅÀº ¾Æ¸¶µµ ÀÀ¿ë¼ÒÇÁÆ®¿þ¾î¸¦ ´õ ¼³Ä¡ÇØ¾ß ÇÒ °ÍÀÌ°í, ±×·¯±â À§Çؼ­´Â ¾à 2~3GBÁ¤µµ°¡ ´õ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù. ½Ã½ºÅÛ¿¡ ·¥ÀÌ ÃæºÐÇÏÁö ¾ÊÀ» °æ¿ì, °¡»ó ¸Þ¸ð¸®¸¦ »ç¿ëÇÏ´Â °ÍÀº ÁÁÀº ¹æ¹ýÀÔ´Ï´Ù. -- °¡»ó ¸Þ¸ð¸®´Â ·¥ÀÌ ºÎÁ·ÇÒ¶§¸¸ °¡²û¾¿ »ç¿ëµË´Ï´Ù .LFS½Ã½ºÅÛÀº ±âÁ¸ ¸®´ª½º ½Ã½ºÅÛ°ú °¡»ó°ø°£À» °øÀ¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î ¸¸¾à, ±âÁ¸ÀÇ ¸®´ª½º ½Ã½ºÅÛÀÌ °¡»ó¸Þ¸ð¸®¸¦ »ç¿ëÇÏ°í ÀÖ´Ù¸é »õ·Ó°Ô ¸¸µé ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. cfdisk2³ª fdisk¸¦ ½ÇÇàÇÒ¶§ arguement·Î HDDÀ̸§À» ³Ö¾îÁÖ¸é »õ·Î¿î ÆÄƼ¼ÇÀ» ¸¸µé¼ö ÀÖ½À´Ï´Ù. -- ¿¹¸¦ µé¾î /dev/hda´Â ù¹ø° IDE µð½ºÅ©ÀÔ´Ï´Ù. ÇÊ¿äÇÏ´Ù¸é ¸®´ª½º nativeÆÄƼ¼Ç°ú swapÆÄƼ¼ÇÀ» ¸¸µå¼¼¿ä. ¸¸¾à ÇÁ·Î±×·¥ÀÇ »ç¿ë¹ýÀ» ¸ð¸¥´Ù¸é cfdisk³ª fdiskÀÇ manÆäÀÌÁö¸¦ ÂüÁ¶Çϱ⠹ٶø´Ï´Ù. »õ·Î¿î ÆÄƼ¼ÇÀ» ¾î¶»°Ô ³ª´³´ÂÁö ±â¾ïÇϼ¼¿ä. -- hda5°°Àº. (À̸§) ¸¸¾à ½º¿Ò°ø°£À» ¸¸µé¾ú´Ù¸é ±× À̸§ ¿ª½Ã ±â¾ïÇϼ¼¿ä. ÀÌ·± À̸§µéÀº ³ªÁß¿¡ /etc/fstabÆÄ ÀÏ¿¡¼­ »ç¿ëµÉ °Ì´Ï´Ù == »õ ÆÄƼ¼Ç¿¡ ÆÄÀÏ ½Ã½ºÅÛ ¸¸µé±â == ºó ÆÄƼ¼ÇÀÌ ÀÖ´Ù¸é, ±× À§¿¡ ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ¸®´ª½º»ó¿¡¼­´Â ext2°¡ ÁÖ·Î »ç¿ëµÇÁö¸¸, ¿äÁòÀÇ ´ë¿ë·® HDD¿¡¼­´Â journaling file system (ext3)°¡ Á¡Á¡ º¸ÆíÈ­ µÇ´Â Ãß¼¼ÀÔ´Ï´Ù.¿ì¸®´Â ext2¸¦ ¸¸µé°ÍÀÔ´Ï´Ù, ÇÏÁö¸¸ ´Ù¸¥ ÆÄÀÏ ½Ã½ºÅÛÀ» »ç¿ëÇÏ°í ½Í´Ù¸é http://www.linuxfromscratch.org/blfs/view/stable/postlfs/filesystems.html <--¿¡¼­ ã¾Æ º¸¼¼¿ä. LFS ÆÄƼ¼Ç¿¡ ext2 ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé·Á¸é ¾Æ·¡Ã³·³ Çϼ¼¿ä. {{{ mke2fs /dev/xxx }}} xxx¸¦ LFS ÆÄƼ¼Ç À̸§À¸·Î ¹Ù²Ù¼¼¿ä.(¿¹¸¦µé¸é hda5) »õ·Î¿î ½º¿Ò ÆÄƼ¼ÇÀ» ¸¸µé¾ú´Ù¸é ÃʱâÈ­ÇØ¾ß ÇÕ´Ï´Ù. (»ç¿ë¹ýÀº mke2fs¸¦ ÂüÁ¶..) {{{ mkswap /dev/yyy }}} yyy¸¦ swap ÆÄƼ¼Ç À̸§À¸·Î ¹Ù²Ù¼¼¿ä. == »õ ÆÄƼ¼ÇÀ» ¸¶¿îÆ®Çϱâ == ÀÌÁ¦ ¿ì¸° ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé¾ú°í, ±× ÆÄƼ¼ÇÀ» »ç¿ëÇϱâ À§Çؼ­ ¸¶¿îÇÒ Àå¼Ò¸¦ °í¸£°í, ¸¶¿îÆ®¸¦ ÇؾßÇÕ´Ï´Ù.ÀÌ ¹®¼­¿¡¼­´Â ÆÄÀÏ ½Ã½ºÅÛÀÌ /mnt/lfs ¿¡ ¸¶¿îÆ® µÇ¾î ÀÖ´Ù°í °¡Á¤ÇÒ °ÍÀÌÁö¸¸, ¾î¶² µð·ºÅ丮¸¦ ¼±ÅÃÇÏ´õ¶óµµ »ó°ü ¾ø½À´Ï´Ù. ¸¶¿îÆ® ÇÒ °÷À» ¼±ÅÃÇÏ°í ¾Æ·¡¿Í °°ÀÌ ½ÇÇàÇÏ¿© ȯ°æº¯¼ö¿¡ Àû¿ë½ÃÅ°¼¼¿ä. {{{ export LFS=/mnt/lfs }}} ¸¶¿îÆ® ÇÒ µð·ºÅ丮¸¦ ¸¸µé°í ¾Æ·¡¿Í °°ÀÌ ½ÇÇàÇÏ¿© LFS ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¶¿îÆ® Çϼ¼¿ä: {{{ mkdir -p $LFS mount /dev/xxx $LFS }}} xxx¸¦ lfsÆÄƼ¼ÇÀ̸§À¸·Î ¹Ù²Ù¼¼¿ä. lfs ½Ã½ºÅÛÀ» ¸ÖƼ ÆÄƼ¼ÇÀ¸·Î ±¸¼ºÇÒ »ý°¢À̶ó¸é(¿¹¸¦ µé¾î "/" ¿Í "/usr)"¸¦ °¢±â ´Ù¸¥ ÆÄƼ¼ÇÀ¸·Î ¹èÁ¤ÇÒ °æ¿ì) ¸¶¿îÆ®´Â ´ÙÀ½°ú °°ÀÌ Çϼ¼¿ä. {{{ mkdir -p $LFS mount /dev/xxx $LFS mkdir $LFS/usr mount /dev/yyy $LFS/usr }}} ¹°·Ð, xxx¿Í yyy´Â ÀûÀýÇÑ À̸§À¸·Î ¹Ù²ãÁÝ´Ï´Ù. »õ·Î¿î ÆÄƼ¼ÇÀ» ¸¶¿îÆ® ÇÒ ¶§´Â suid,dev,atime °°Àº ¿É¼ÇÀ» »ç¿ëÇÏÁö ¾Ê°í ¸¶¿îÆ® ÇսôÙ. LFS ÆÄƼ¼ÇÀÌ ¾î¶² ¿É¼ÇÀ» °¡Áö°í ¸¶¿îÆ® µÇ¾ú´ÂÁö º¸±â À§Çؼ­ ÆĶó¹ÌÅ;øÀÌ ¸¶¿îÆ® ¸í·ÉÀ» ½ÇÇà ½Ãų¼ö ÀÖ½À´Ï´Ù. ¸¸¾à suid, dev, atime ÀÌ À߸øµÇ¾ú´Ù¸é ´Ù½Ã ¸¶¿îÆ® ÇؾßÇÕ´Ï´Ù. ÀÌÁ¦ ¿ì¸®´Â ÀÛ¾÷ÇÒ °ø°£À» ¸¸µé¾ú°í, ÆÐÅ°Áö¸¦ ´Ù¿î·Îµå ¹ÞÀ» Áغñ°¡ µÇ¾ú½À´Ï´Ù. = ÇÊ¿äÇÑ ÆÐÅ°Áö¿Í ÆÐÄ¡µé = == ¼Ò °³ == ´ÙÀ½Àº ±âº» ¸®´ª½º ½Ã½ºÅÛÀ» ¼³Ä¡Çϱâ À§ÇØ ´Ù¿î·Îµå¸¦ ¹Þ¾Æ¾ßÇÏ´Â ÆÐÅ°ÁöÀÇ ¸ñ·ÏÀÔ´Ï´Ù.¸ñÂ÷ÀÇ ¹öÀü ¹øÈ£´Â ÀÌ¹Ì ¹ßÇ¥µÈ ¼ÒÇÁÆ®¿þ¾îÀÇ ¹öÀü°ú »óÀÀÇÏ°í, ÀÌ Ã¥Àº ±×°Íµé¿¡ ¹ÙÅÁÀ» µÎ°í ÀÖ½À´Ï´Ù. LFS ¼³Ä¡¸¦ ¸¹ÀÌ ÇØ º» »ç¶÷ÀÌ ¾Æ´Ï¶ó¸é, »õ·Î¿î ¹öÀüÀ¸·Î ½ÃµµÇÏÁö ¾Ê±â¸¦ °­·ÂÈ÷ Ãæ°íÇÕ´Ï´Ù. ¶ÇÇÑ ½Å¹öÀüÀº ¾ÆÁ÷ ¾Ë·ÁÁöÁö ¾ÊÀº ¹ö±×µéÀÌ ÀÖÀ» ¼ö ÀÖÀ¸¹Ç·Î »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ¸ðµç URLµéÀÌ »ç¿ë °¡´ÉÇϸé, ´ÙÀ½ÀÇ ÇÁ·ÎÁ§Æ® ÆäÀÌÁö¸¦ ÃßõÇÕ´Ï´Ù.http://www.freshmeat.net/. Freshment page´Â ÇÁ·ÎÁ§Æ® À¥ »çÀÌÆ®, ¸ÞÀϸµ ¸®½ºÆ® , FAQ , changelogs µî »Ó¸¸¾Æ´Ï¶ó °ø½Ä´Ù¿î·Îµå »çÀÌÆ®¿¡ ã¾Æ°¡±â ½±µµ·Ï µµ¿ÍÁÝ´Ï´Ù. ÀÌ·± ´Ù¿î·Îµå »çÀÌÆ®µéÀÌ Ç×»ó ÀÌ¿ë°¡´ÉÇÏ´Ù°í º¸ÀåÇÒ ¼ö´Â ¾ø½À´Ï´Ù. ÀÌ Ã¥ÀÌ ¹ß°£µÈ ÈÄ¿¡ ´Ù¿î·Îµå »çÀÌÆ®°¡ º¯°æµÈ °æ¿ì google À» ÀÌ¿ëÇØ Ã£¾Æº¸±â ¹Ù¶ø´Ï´Ù. ãÁö ¸øÇÑ°Ô ÀÖÀ» °æ¿ì, errata page(http://www.linuxfromscratch.org/lfs/print/) ¿¡¼­ µµ¿òÀ» ¹Þ°Å³ª ±×·¡µµ ÇØ°áÀÌ ¾ÈµÇ¸é ´ÙÀ½ À¥»ç]ÀÌÆ®ÀÇ ´Ù¿î·Îµå ¸®½ºÆ®µé Áß¿¡¼­ Çϳª¸¦ Âü°íÇϼ¼¿ä.http://www.linuxfromscratch.org/lfs/packages.html ´ç½ÅÀº ÆÐÅ°Áö¿Í ÆÐÄ¡µéÀº ¼³Ä¡ °úÁ¤¿¡¼­ ÆíÇÏ°Ô ÀÌ¿ëÇÒ ¼ö ÀÖ´Â Àå¼Ò¿¡ ÀúÀåÇÏ´Â °É ¿øÇÒ °ÍÀÔ´Ï´Ù. ¶ÇÇÑ ¼Ò½ºÀÇ ¾ÐÃàÀ» Ç®°í ±×°ÍµéÀ» ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ´Â ÀÛ¾÷µð·ºÅ丮°¡ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù.$LFS/sources´Â Ÿ¸£º¼µé°ú ÆÐÄ¡µéÀ» ÀúÀåÇÏ°í ÀÛ¾÷ÇÒ Àå¼Ò·Î ½á »ç¿ëµÉ°ÍÀÔ´Ï´Ù. ÀÌ·±½ÄÀ¸·Î ÇÊ¿äÇÑ ¸ðµç°ÍµéÀº LFSÆÄƼ¼Ç¿¡ À§Ä¡ÇÒ °ÍÀÌ°í, ¸ðµç ¼³Ä¡°úÁ¤ µ¿¾È »ç¿ëÇÒ °ÍÀÔ´Ï´Ù. ÆÐÅ°Áö¿Í ÆÐÄ¡µéÀ» ´Ù¿î·Îµå Çϱâ Àü¿¡ root±ÇÇÑÀ¸·Î ´ÙÀ½ ¸í·ÉµéÀ» ½ÇÇàÇϱ⠹ٶø´Ï´Ù. {{{ mkdir $LFS/sources }}} ÀϹݻç¿ëÀÚ °èÁ¤À¸·Î ´Ù¿î·Îµå ¹ÞÀ¸·Á¸é ÀϹݻç¿ëÀÚµµ ¾²±â °¡´ÉÇϵµ·Ï ±ÇÇÑÀ» ÁÖ¾î¾ß ÇÕ´Ï´Ù: {{{ chmod a+wt $LFS/sources }}} [http://www.linuxfromscratch.org/lfs/view/stable/wget-list wget-list]¸¦ wgetÀ¸·Î ÀÔ·ÂÇÏ¿© ¸ðµç ÆÐÅ°Áö¸¦ ½±°Ô ´Ù¿î·Îµå ÇÏ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù: {{{ wget -i wget-list -P $LFS/sources }}} Ãß°¡ÀûÀ¸·Î, LFS-7.0À¸·Î ½ÃÀÛÇϸé, md5sums¶ó´Â ºÐ¸®µÈ ÆÄÀÏÀÌ ÀÖ½À´Ï´Ù. ÀÌ ÆÄÀÏÀº ¸ðµç ÆÐÅ°ÁöµéÀÌ ÁøÇàÇϱâ ÀÌÀü¿¡ À¯È¿ÇÑ ¿Ã¹Ù¸¥ ÆÐÅ°ÁöÀΰ¡¸¦ °Ë»çÇϴµ¥ »ç¿ëµË´Ï´Ù. $LFS/sources ÆÄÀÏ¿¡ ÇØ´ç ÆÄÀÏÀ» ³Ö°Ô ½ÇÇàÇϽʽÿÀ: {{{ pushd $LFS/sources md5sum -c md5sums popd }}} == ¸ðµç ÆÐÅ°Áöµé == -- [chaoxifer] [[DateTime(2013-01-19T15:11:06)]] '''Autoconf (2.69)''' - 1,186 KB: Home page: http://www.gnu.org/software/autoconf/ Download: http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.xz MD5 sum: 50f97f4159805e374639a73e2636f22e '''Automake (1.12.3)''' - 1,352 KB: Home page: http://www.gnu.org/software/automake/ Download: http://ftp.gnu.org/gnu/automake/automake-1.12.3.tar.xz MD5 sum: 0df082825f8f41087eb70c5088f4515e '''Bash (4.2)''' - 6,845 KB: Home page: http://www.gnu.org/software/bash/ Download: http://ftp.gnu.org/gnu/bash/bash-4.2.tar.gz MD5 sum: 3fb927c7c33022f1c327f14a81c0d4b0 '''Binutils (2.22)''' - 19,505 KB: Home page: http://www.gnu.org/software/binutils/ Download: http://ftp.gnu.org/gnu/binutils/binutils-2.22.tar.bz2 MD5 sum: ee0f10756c84979622b992a4a61ea3f5 '''Bison (2.6.2)''' - 1,612 KB: Home page: http://www.gnu.org/software/bison/ Download: http://ftp.gnu.org/gnu/bison/bison-2.6.2.tar.xz MD5 sum: dea291996f98c34c3fd8e389a9cf6ea1 '''Bzip2 (1.0.6)''' - 764 KB: Home page: http://www.bzip.org/ Download: http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz MD5 sum: 00b516f4704d4a7cb50a1d97e6e8e15b '''Check (0.9.8)''' - 546 KB: Home page: http://check.sourceforge.net/ Download: http://sourceforge.net/projects/check/files/check/0.9.8/check-0.9.8.tar.gz MD5 sum: 5d75e9a6027cde79d2c339ef261e7470 '''Coreutils (8.19)''' - 4,992 KB: Home page: http://www.gnu.org/software/coreutils/ Download: http://ftp.gnu.org/gnu/coreutils/coreutils-8.19.tar.xz MD5 sum: 1a01231a2f3ed37c0efc073ccdda9375 '''DejaGNU (1.5)''' - 563 KB: Home page: http://www.gnu.org/software/dejagnu/ Download: http://ftp.gnu.org/gnu/dejagnu/dejagnu-1.5.tar.gz MD5 sum: 3df1cbca885e751e22d3ebd1ac64dc3c '''Diffutils (3.2)''' - 1,976 KB: Home page: http://www.gnu.org/software/diffutils/ Download: http://ftp.gnu.org/gnu/diffutils/diffutils-3.2.tar.gz MD5 sum: 22e4deef5d8949a727b159d6bc65c1cc '''E2fsprogs (1.42.5)''' - 5,780 KB: Home page: http://e2fsprogs.sourceforge.net/ Download: http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.42.5.tar.gz MD5 sum: aca828bb4bcca20991a442deb950b670 '''Expect (5.45)''' - 614 KB: Home page: http://expect.sourceforge.net/ Download: http://prdownloads.sourceforge.net/expect/expect5.45.tar.gz MD5 sum: 44e1a4f4c877e9ddc5a542dfa7ecc92b '''File (5.11)''' - 596 KB: Home page: http://www.darwinsys.com/file/ Download: ftp://ftp.astron.com/pub/file/file-5.11.tar.gz MD5 sum: 16a407bd66d6c7a832f3a5c0d609c27b '''Findutils''' (4.4.2) - 2,100 KB: Home page: http://www.gnu.org/software/findutils/ Download: http://ftp.gnu.org/gnu/findutils/findutils-4.4.2.tar.gz MD5 sum: 351cc4adb07d54877fa15f75fb77d39f '''Flex (2.5.37)''' - 1,280 KB: Home page: http://flex.sourceforge.net Download: http://prdownloads.sourceforge.net/flex/flex-2.5.37.tar.bz2 MD5 sum: c75940e1fc25108f2a7b3ef42abdae06 '''Gawk (4.0.1)''' - 1,575 KB: Home page: http://www.gnu.org/software/gawk/ Download: http://ftp.gnu.org/gnu/gawk/gawk-4.0.1.tar.xz MD5 sum: a601b032c39cd982f34272664f8afa49 '''GCC (4.7.1)''' - 80,703 KB: Home page: http://gcc.gnu.org/ Download: http://ftp.gnu.org/gnu/gcc/gcc-4.7.1/gcc-4.7.1.tar.bz2 MD5 sum: 933e6f15f51c031060af64a9e14149ff '''GDBM (1.10)''' - 640 KB: Home page: http://www.gnu.org/software/gdbm/ Download: http://ftp.gnu.org/gnu/gdbm/gdbm-1.10.tar.gz MD5 sum: 88770493c2559dc80b561293e39d3570 '''Gettext (0.18.1.1)''' - 14,785 KB: Home page: http://www.gnu.org/software/gettext/ Download: http://ftp.gnu.org/gnu/gettext/gettext-0.18.1.1.tar.gz MD5 sum: 3dd55b952826d2b32f51308f2f91aa89 '''Glibc (2.16.0)''' - 9,756 KB: Home page: http://www.gnu.org/software/libc/ Download: http://ftp.gnu.org/gnu/glibc/glibc-2.16.0.tar.xz MD5 sum: 80b181b02ab249524ec92822c0174cf7 '''GMP (5.0.5)''' - 1,632 KB: Home page: http://www.gnu.org/software/gmp/ Download: http://ftp.gnu.org/gnu/gmp/gmp-5.0.5.tar.xz MD5 sum: 8aef50959acec2a1ad41d144ffe0f3b5 '''Grep (2.14)''' - 1,172 KB: Home page: http://www.gnu.org/software/grep/ Download: http://ftp.gnu.org/gnu/grep/grep-2.14.tar.xz MD5 sum: d4a3f03849d1e17ce56ab76aa5a24cab '''Groff (1.21)''' - 3,774 KB: Home page: http://www.gnu.org/software/groff/ Download: http://ftp.gnu.org/gnu/groff/groff-1.21.tar.gz MD5 sum: 8b8cd29385b97616a0f0d96d0951c5bf '''GRUB (2.00)''' - 5,016 KB: Home page: http://www.gnu.org/software/grub/ Download: http://ftp.gnu.org/gnu/grub/grub-2.00.tar.xz MD5 sum: a1043102fbc7bcedbf53e7ee3d17ab91 '''Gzip (1.5)''' - 704 KB: Home page: http://www.gnu.org/software/gzip/ Download: http://ftp.gnu.org/gnu/gzip/gzip-1.5.tar.xz MD5 sum: 2a431e169b6f62f7332ef6d47cc53bae '''Iana-Etc (2.30)''' - 201 KB: Home page: http://freshmeat.net/projects/iana-etc/ Download: http://anduin.linuxfromscratch.org/sources/LFS/lfs-packages/conglomeration//iana-etc/iana-etc-2.30.tar.bz2 MD5 sum: 3ba3afb1d1b261383d247f46cb135ee8 '''Inetutils (1.9.1)''' - 1,941 KB: Home page: http://www.gnu.org/software/inetutils/ Download: http://ftp.gnu.org/gnu/inetutils/inetutils-1.9.1.tar.gz MD5 sum: 944f7196a2b3dba2d400e9088576000c '''IPRoute2 (3.5.1)''' - 379 KB: Home page: http://www.kernel.org/pub/linux/utils/net/iproute2/ Download: http://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-3.5.1.tar.xz MD5 sum: d4425b44edd5eacd6099e672e4baacbf '''Kbd (1.15.3)''' - 1,621 KB: Home page: http://ftp.altlinux.org/pub/people/legion/kbd Download: http://ftp.altlinux.org/pub/people/legion/kbd/kbd-1.15.3.tar.gz MD5 sum: 8143e179a0f3c25646ce5085e8777200 '''Kmod (9)''' - 1,096 KB: Download: http://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-9.tar.xz MD5 sum: c8ae2d2694fbca2b28e238b30543a0cd '''Less (444)''' - 301 KB: Home page: http://www.greenwoodsoftware.com/less/ Download: http://www.greenwoodsoftware.com/less/less-444.tar.gz MD5 sum: 56f9f76ffe13f70155f47f6b3c87d421 '''LFS-Bootscripts (20120901)''' - 33 KB: Download: http://www.linuxfromscratch.org/lfs/downloads/7.2/lfs-bootscripts-20120901.tar.bz2 MD5 sum: 393e4ed76819ce412f8a406c44beabd0 '''Libpipeline (1.2.1)''' - 723 KB: Home page: http://libpipeline.nongnu.org/ Download: http://download.savannah.gnu.org/releases/libpipeline/libpipeline-1.2.1.tar.gz MD5 sum: 20896c919eca4acb3d2f13012fb7ba02 '''Libtool (2.4.2)''' - 2,571 KB: Home page: http://www.gnu.org/software/libtool/ Download: http://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz MD5 sum: d2f3b7d4627e69e13514a40e72a24d50 '''Linux (3.5.2)''' - 66,060 KB: Home page: http://www.kernel.org/ Download: http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.5.2.tar.xz MD5 sum: b3cfccfb6961ea407acf0b070184b0b1 ¸®´ª½º Ä¿³ÎÀº ÀÚÁÖ ¾÷µ¥ÀÌÆ® µÇ´Âµ¥ ÀÌ´Â º¸¾È Ãë¾àÁ¡ÀÌ °è¼ÓÇؼ­ ¹ß°ßµÇ±â ¶§¹®ÀÔ´Ï´Ù. errata ÆäÀÌÁö¿¡¼­ »õ·Î¿î ¸»ÀÌ ÀÖ±â Àü±îÁö´Â »ç¿ë°¡´ÉÇÑ ÃֽŠĿ³Î ¹öÀüÀº 3.5.x Ä¿³ÎÀÔ´Ï´Ù. Á¦ÇÑµÈ ¼Óµµ ¶Ç´Â ºñ½Ñ ´ë¿ªÆø ¶§¹®¿¡ ¸®´ª½º Ä¿³ÎÀ» ¾÷µ¥ÀÌÆ®ÇÏ°í ½ÍÀº À¯ÀúµéÀ» À§ÇØ ±âÁعöÀüÀÇ ÆÐÅ°Áö¿Í ÆÐÄ¡ÆÄÀÏÀº µû·Î ´Ù¿î·Îµå ÇÒ ¼ö ÀÖµµ·Ï ÇÏ¿´½À´Ï´Ù. ÀÌ°ÍÀÌ ¾à°£ÀÇ ½Ã°£, ºñ¿ëÀ» ¾î´ÀÁ¤µµ´Â ÁÙ¿©ÁÙ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. '''M4 (1.4.16)''' - 1,229 KB: Home page: http://www.gnu.org/software/m4/ Download: http://ftp.gnu.org/gnu/m4/m4-1.4.16.tar.bz2 MD5 sum: 8a7cef47fecab6272eb86a6be6363b2f '''Make (3.82)''' - 1,213 KB: Home page: http://www.gnu.org/software/make/ Download: http://ftp.gnu.org/gnu/make/make-3.82.tar.bz2 MD5 sum: 1a11100f3c63fcf5753818e59d63088f '''Man-DB (2.6.2)''' - 1,353 KB: Home page: http://www.nongnu.org/man-db/ Download: http://download.savannah.gnu.org/releases/man-db/man-db-2.6.2.tar.xz MD5 sum: 647c48d46c464419185d031d04481ee5 '''Man-pages (3.42)''' - 1,076 KB: Home page: http://www.kernel.org/doc/man-pages/ Download: http://www.kernel.org/pub/linux/docs/man-pages/man-pages-3.42.tar.xz MD5 sum: 2392bb23db94f344f493c4beca41398f '''MPC (1.0)''' - 614 KB: Home page: http://www.multiprecision.org/ Download: http://www.multiprecision.org/mpc/download/mpc-1.0.tar.gz MD5 sum: 13370ceb2e266c5eeb2f7e78c24b7858 '''MPFR (3.1.1)''' - 1,047 KB: Home page: http://www.mpfr.org/ Download: http://www.mpfr.org/mpfr-3.1.1/mpfr-3.1.1.tar.xz MD5 sum: 91d51c41fcf2799e4ee7a7126fc95c17 '''Ncurses (5.9)''' - 2,760 KB: Home page: http://www.gnu.org/software/ncurses/ Download: ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.9.tar.gz MD5 sum: 8cb9c412e5f2d96bc6f459aa8c6282a1 '''Patch (2.6.1)''' - 248 KB: Home page: http://savannah.gnu.org/projects/patch/ Download: http://ftp.gnu.org/gnu/patch/patch-2.6.1.tar.bz2 MD5 sum: 0818d1763ae0c4281bcdc63cdac0b2c0 '''Perl (5.16.1)''' - 13,256 KB: Home page: http://www.perl.org/ Download: http://www.cpan.org/src/5.0/perl-5.16.1.tar.bz2 MD5 sum: b87358e2c461a898cfd7c334e7dd8993 '''Pkg-config''' (0.27) - 1872 KB: Home page: http://www.freedesktop.org/wiki/Software/pkg-config Download: http://pkgconfig.freedesktop.org/releases/pkg-config-0.27.tar.gz MD5 sum: 3a4c9feab14b6719afd8904945d9b4e4 '''Procps (3.2.8)''' - 279 KB: Home page: http://procps.sourceforge.net/ Download: http://procps.sourceforge.net/procps-3.2.8.tar.gz MD5 sum: 9532714b6846013ca9898984ba4cd7e0 '''Psmisc (22.19)''' - 481 KB: Home page: http://psmisc.sourceforge.net/ Download: http://prdownloads.sourceforge.net/psmisc/psmisc-22.19.tar.gz MD5 sum: 38563b4760ffce54b0eadf99cb5b16e8 '''Readline (6.2)''' - 2,225 KB: Home page: http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html Download: http://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz MD5 sum: 67948acb2ca081f23359d0256e9a271c '''Sed (4.2.1)''' - 878 KB: Home page: http://www.gnu.org/software/sed/ Download: http://ftp.gnu.org/gnu/sed/sed-4.2.1.tar.bz2 MD5 sum: 7d310fbd76e01a01115075c1fd3f455a '''Shadow (4.1.5.1)''' - 2,142 KB: Home page: http://pkg-shadow.alioth.debian.org/ Download: http://pkg-shadow.alioth.debian.org/releases/shadow-4.1.5.1.tar.bz2 MD5 sum: a00449aa439c69287b6d472191dc2247 '''Sysklogd (1.5)''' - 85 KB: Home page: http://www.infodrom.org/projects/sysklogd/ Download: http://www.infodrom.org/projects/sysklogd/download/sysklogd-1.5.tar.gz MD5 sum: e053094e8103165f98ddafe828f6ae4b '''Sysvinit (2.88dsf)''' - 108 KB: Home page: http://savannah.nongnu.org/projects/sysvinit Download: http://download.savannah.gnu.org/releases/sysvinit/sysvinit-2.88dsf.tar.bz2 MD5 sum: 6eda8a97b86e0a6f59dabbf25202aa6f '''Tar (1.26)''' - 2,285 KB: Home page: http://www.gnu.org/software/tar/ Download: http://ftp.gnu.org/gnu/tar/tar-1.26.tar.bz2 MD5 sum: 2cee42a2ff4f1cd4f9298eeeb2264519 '''Tcl (8.5.12)''' - 4,396 KB: Home page: http://tcl.sourceforge.net/ Download: http://prdownloads.sourceforge.net/tcl/tcl8.5.12-src.tar.gz MD5 sum: 174b2b4c619ba8f96875d8a051917703 '''Time Zone Data (2012e)''' - 208 KB: Home page: http://www.iana.org/time-zones Download: http://www.iana.org//time-zones/repository/releases/tzdata2012e.tar.gz MD5 sum: cb74e1f7bcc9a968a891a471e72e47b8 '''Texinfo (4.13a)''' - 2,687 KB: Home page: http://www.gnu.org/software/texinfo/ Download: http://ftp.gnu.org/gnu/texinfo/texinfo-4.13a.tar.gz MD5 sum: 71ba711519209b5fb583fed2b3d86fcb '''Systemd (188)''' - 1,324 KB: Home page: http://www.freedesktop.org/wiki/Software/systemd/ Download: http://www.freedesktop.org/software/systemd/systemd-188.tar.xz MD5 sum: d89b42699695554949d072ef46c0dfc9 '''Udev-lfs Tarball (188)''' - 20 KB: Download: http://anduin.linuxfromscratch.org/sources/other/udev-lfs-188-3.tar.bz2 MD5 sum: ef6cd9f078c39c61ba744d08276a1210 '''Util-linux (2.21.2)''' - 2,916 KB: Home page: http://userweb.kernel.org/~kzak/util-linux/ Download: http://www.kernel.org/pub/linux/utils/util-linux/v2.21/util- linux-2.21.2.tar.xz MD5 sum: 54ba880f1d66782c2287ee2c898520e9 '''Vim (7.3)''' - 8,675 KB: Home page: http://www.vim.org Download: ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2 MD5 sum: 5b9510a17074e2b37d8bb38ae09edbf2 '''Xz Utils (5.0.4)''' - 894 KB: Home page: http://tukaani.org/xz Download: http://tukaani.org/xz/xz-5.0.4.tar.xz MD5 sum: 161015c4a65b1f293d31810e1df93090 '''Zlib (1.2.7)''' - 493 KB: Home page: http://www.zlib.net/ Download: http://www.zlib.net/zlib-1.2.7.tar.bz2 MD5 sum: 2ab442d169156f34c379c968f3f482dd Total size of these packages: about 292 MB tarballÀº LFS mirror »çÀÌÆ®¿¡¼­ ´Ù¿î·Îµå ¹Þ¾Æ¼­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Glibc ¼½¼Ç¿¡¼­ ´Ù¿î·Îµå ¸µÅ©¸¦ Âü°íÇϼ¼¿ä. == ÇÊ¿äÇÑ ÆÐÄ¡µé == ÆÑÅ°Áöµé »Ó¸¸ ¾Æ´Ï¶ó °¢Á¾ ÆÐÄ¡µéµµ ÇÊ¿äÇÕ´Ï´Ù. ÆÑÅ°Áö¸¦ ¿ì¸®°¡ ¿øÇÏ´Â ´ë·Î ¼öÁ¤Çϰųª ¸ÞÀÎÅ×À̳ʰ¡ ¹ö±×¸¦ ÇØ°áÇϱâ À§ÇØ ¸¸µç ÆÐÄ¡°¡ ÇÊ¿äÇÕ´Ï´Ù. ´ÙÀ½ ÆÐÄ¡µéÀ» ´Ù¿î·Îµå ¹ÞÀ¸¼¼¿ä. '''Bash Upstream Fixes Patch''' - 51 KB: Download: http://www.linuxfromscratch.org/patches/lfs/7.2/bash-4.2-fixes-8.patch MD5 sum: e82d2200e82aa28640299bbcad140361 '''Binutils Build Fix Patch''' - 1.4 KB: Download: http://www.linuxfromscratch.org/patches/lfs/7.2/binutils-2.22-build_fix-1.patch MD5 sum: ddc5a9a170ed6ba23b8eb7d808e609ee '''Bzip2 Documentation Patch''' - 1.6 KB: Download: http://www.linuxfromscratch.org/patches/lfs/7.2/bzip2-1.0.6-install_docs-1.patch MD5 sum: 6a5ac7e89b791aae556de0f745916f7f '''Coreutils Internationalization Fixes Patch''' - 272 KB: Download: http://www.linuxfromscratch.org/patches/lfs/7.2/coreutils-8.19-i18n-1.patch MD5 sum: befbf82628d019ef08d522c95cba331d '''Flex Regression Tests Patch''' - 2.8 KB: Download: http://www.linuxfromscratch.org/patches/lfs/7.2/flex-2.5.37-bison-2.6.1-1.patch MD5 sum: d5b001ef9bdbbe32e2f27576d97d8ff0 '''Glibc DNS Resolve Patch''' - 2.0 KB: Download: http://www.linuxfromscratch.org/patches/lfs/7.2/glibc-2.16.0-res_query_fix-1.patch MD5 sum: d37659c643b1a2150624120238e5b295 '''Kbd Loadkeys Fix Patch''' - 1.6 KB: Download: http://www.linuxfromscratch.org/patches/lfs/7.2/kbd-1.15.3-upstream_fixes-1.patch MD5 sum: 58ae9bd7d546426cfaccf3eba16ad1a2 '''Kbd Backspace/Delete Fix Patch''' - 12 KB: Download: http://www.linuxfromscratch.org/patches/lfs/7.2/kbd-1.15.3-backspace-1.patch MD5 sum: f75cca16a38da6caa7d52151f7136895 '''Kmod Testsuite Patch''' - 2.2 KB: Download: http://www.linuxfromscratch.org/patches/lfs/7.2/kmod-9-testsuite-1.patch MD5 sum: 11ab14f5b63ae3c163804517cf110fbb '''Make Upstream Fixes Patch''' - 9.7 KB: Download: http://www.linuxfromscratch.org/patches/lfs/7.2/make-3.82-upstream_fixes-2.patch MD5 sum: 02c0f3989185a7345233872b1ae5f46d '''Patch Testsuite Fix Patch''' - 1 KB: Download: http://www.linuxfromscratch.org/patches/lfs/7.2/patch-2.6.1-test_fix-1.patch MD5 sum: c51e1a95bfc5310635d05081472c3534 '''Perl Libc Patch''' - 1.6 KB: Download: http://www.linuxfromscratch.org/patches/lfs/7.2/perl-5.16.1-libc-2.patch MD5 sum: daf5c64fd7311e924966842680535f8f '''Procps HZ Errors Patch''' - 2.3 KB: Download: http://www.linuxfromscratch.org/patches/lfs/7.2/procps-3.2.8-fix_HZ_errors-1.patch MD5 sum: 2ea4c8e9a2c2a5a291ec63c92d7c6e3b '''Procps Watch Patch''' - 3.5 KB: Download: http://www.linuxfromscratch.org/patches/lfs/7.2/procps-3.2.8-watch_unicode-1.patch MD5 sum: cd1a757e532d93662a7ed71da80e6b58 '''Readline Upstream Fixes Patch''' - 1.3 KB: Download: http://www.linuxfromscratch.org/patches/lfs/7.2/readline-6.2-fixes-1.patch MD5 sum: 3c185f7b76001d3d0af614f6f2cd5dfa '''Sed Regression Tests Patch''' - 1.9 KB: Download: http://www.linuxfromscratch.org/patches/lfs/7.2/sed-4.2.1-testsuite_fixes-1.patch MD5 sum: 2c10a5804eedf5359bcf427bc0d05579 Total size of these patches: about 367.9 KB LFS µ¿È£È¸¿¡ °¡ º¸¸é À§¿¡ ³ª¿­µÈ ÆÐÄ¡¿Ü¿¡ ´Ù¸¥ ¸¹Àº ÆÐÄ¡µéÀÌ Á¸ÀçÇÕ´Ï´Ù. ÀÌ·± ÆÐÄ¡µéÀº »ç¼ÒÇÑ ¹ö±×µéÀ» ÇØ°áÇØÁְųª, ºÎ°¡ÀûÀÎ ±â´ÉµéÀ» Ãß°¡ÇØÁÝ´Ï´Ù. http://www.linuxfromscratch.org/patches/downloads/ ¿¡ À§Ä¡ÇÑ ÆÐÄ¡ µ¥ÀÌÅͺ£À̽º¸¦ ÀÚÀ¯·Ó°Ô ½ÃÇèÇغ¸°í, »ç¿ëÇϱ⸦ ¿øÇÏ´Â ÆÐÄ¡µéÀ» ¼±ÅÃÇϼ¼¿ä. = ¸¶Áö¸· Áغñ °úÁ¤ = ([chaoxifer]: 7.2¹öÀüÀ¸·Î ¾÷µ¥ÀÌÆ® Çϸ鼭 Ãß°¡µÈ ºÎºÐÀÔ´Ï´Ù) == $LFS¿¡ ´ëÇÏ¿© == ÀÌ Ã¥¿¡¼­´Â LFS¶ó´Â ȯ°æº¯¼ö(environment variable)°¡ »ç¿ëµÉ °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀº Ç×»ó Á¤ÀǵǾî ÀÖ¾î¾ß ÇÏ´Â ¾ÆÁÖ Áß¿äÇÑ º¯¼öÀÔ´Ï´Ù. ÀÌ°ÍÀº LFS ÆÄƼ¼ÇÀ¸·Î »ç¿ëµÉ ¸¶¿îÆ®Æ÷ÀÎÆ®¸¦ ¼³Á¤Çϱâ À§ÇØ ¹Ýµå½Ã ÀÖ¾î¾ß ÇÕ´Ï´Ù. LFS º¯¼ö°¡ ¼³Á¤µÇ¾î ÀÖ´ÂÁö È®ÀÎÇÏ·Á¸é ´ÙÀ½ÀÇ ¸í·ÉÀ» »ç¿ëÇϽʽÿÀ: {{{ echo $LFS }}} À§ÀÇ ¸í·ÉÀÌ LFS ÆÄÅß¼ÇÀÇ ¸¶¿îÆ® Æ÷ÀÎÆ®(ÀÌ Ã¥ÀÇ ¿¹Á¦¿¡¼­´Â /mnt/lfs·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù)¸¦ °¡¸®Å°°í ÀÖ´ÂÁö È®½ÇÇÏ°Ô ÇØ¾ß ÇÕ´Ï´Ù. ¸¸¾à Ãâ·Â°á°ú°¡ ¿Ã¹Ù¸£Áö ¾Ê´Ù¸é ´ÙÀ½ÀÇ ¸í·ÉÀ¸·Î ¼³Á¤ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. {{{ export LFS=/mnt/lfs }}} ÀÌ·¯ÇÑ È¯°æº¯¼ö¸¦ °®´Â °ÍÀº ''mkdir $LFS/tools''¿Í °°Àº ¸í·Éó·³ ¹®ÀÚ ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â Á¡¿¡ À־ À¯¿ëÇÕ´Ï´Ù. ¼ÐÀº ¸í·É¹®¿¡ »ç¿ëµÇ´Â ±¸¹®¿¡¼­ ÀÚµ¿ÀûÀ¸·Î $LFSÀ» "/mnt/lfs"·Î ¹Ù²Ù¾î¼­ »ç¿ëÇÒ °Ì´Ï´Ù. ¿©·¯ºÐÀÌ ÇöÀçÀÇ ¼³Ä¡ ȯ°æ¿¡¼­ ¹þ¾î³ª°Å³ª ´Ù½Ã ÇöÀçÀÇ ¼³Ä¡ ȯ°æÀ¸·Î µÇµ¹¾Æ¿Ã ¶§µµ ȯ°æº¯¼­ $LFS°¡ Á¦´ë·Î ¼³Á¤µÇ¾î ÀÖ´ÂÁö ¹Ýµå½Ã È®ÀÎÇϽʽÿÀ.(su·Î ·çÆ®³ª ´Ù¸¥ »ç¿ëÀÚ·Î Å͹̳Πȯ°æÀÌ ¹Ù²î¾úÀ» ¶§) == $LFS/tools µð·ºÅ丮 ¸¸µé±â == [http://wiki.kldp.org/wiki.php/LFS/Preparation#s-4 Chapter 5(ÀӽýýºÅÛ ¸¸µé±â)]¿¡¼­ ÄÄÆÄÀÏµÈ ¸ðµç ÇÁ·Î±×·¥Àº [http://wiki.kldp.org/wiki.php/LFS/Building Chapter 6(ºôµåÇϱâ)]¿¡¼­ ¼³Ä¡µÉ ÇÁ·Î±×·¥°ú ±¸ºÐµÇ°Ô Çϱâ À§ÇØ $LFS/tools µð·ºÅ丮 ³»¿¡ ¼³Ä¡µÉ °ÍÀÔ´Ï´Ù. ÀÌ °÷¿¡ ÄÄÆÄÀϵǴ ÇÁ·Î±×·¥µéÀº ¸ðµÎ Àӽà ÅøµéÀ̸ç ÃÖÁ¾ÀûÀÎ LFS½Ã½ºÅÛ¿¡´Â Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. ÀÌ·¸°Ô ÇϹǷνá Àӽà ÅøµéÀÌ »ç¿ëÇÏ¿© ÃÖÁ¾ÀûÀÎ ½Ã½ºÅÛÀÌ ¿Ï¼ºµÈ µÚ¿¡ ½±°Ô ÀÌ ÅøµéÀ» ½Ã½ºÅÛ¿¡¼­ Á¦°ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ À̵é ÇÁ·Î±×·¥µéÀÌ È£½ºÆ® ½Ã½ºÅÛÀÇ µð·ºÅ丮¿¡ À§Ä¡ÇÏ´Â °ÍÀ» ¹Ì¸® »çÀü¿¡ ¹æÁöÇÒ ¼ö ÀÖ½À´Ï´Ù. root·Î ½ÇÇàÇÏ¿© ÇÊ¿äÇÑ µð·ºÅ丮¸¦ »ý¼ºÇÕ´Ï´Ù: {{{ mkdir -v $LFS/tools }}} ´ÙÀ½Àº /tools¿¡ ´ëÇÑ ½Éº¼¸µ ¸µÅ©¸¦ '/' ·çÆ® µð·ºÅ丮¿¡ ¸¸µå´Â °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀº »õ·Î ¸¸µé¾îÁø µð·ºÅ丮¸¦ °¡¸®Å°´Â °ÍÀÔ´Ï´Ù. root±ÇÇÑÀ¸·Î ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÕ´Ï´Ù. {{{ ln -sv $LFS/tools / }}} '''Note''' À§ÀÇ ¸í·ÉÀº ¿Ã¹Ù¸¥ ¸í·ÉÀÔ´Ï´Ù. '''ln''' Ä¿¸Çµå´Â ¸î°¡ÁöÀÇ ¹®¹ýµéÀÌ ÀÖ½À´Ï´Ù. ¿©±â¿¡ ´ëÇؼ­ ¿À·ù°¡ ÀÖ´Ù°í »ý°¢Çϼż­ ¾Ë·Á¾ß°Ú´Ù´Â ºÐÀº ±×Àü¿¡ '''info coreutils ln'''¿Í ln(1)À» È®ÀÎÇϽʽÿÀ. == LFS »ç¿ëÀÚ Ãß°¡Çϱâ == ¿©·¯ºÐµéÀÌ root °èÁ¤À¸·Î ·Î±×ÀÎÀ» ÇÒ °æ¿ì, ´Ü ÇѹøÀÇ ½Ç¼ö·Î ½Ã½ºÅÛ¿¡ ¼Õ»óÀ» ÀÔÈ÷°Å³ª ¾Æ¿¹ Æı«Çعö¸± ¼öµµ ÀÖ½À´Ï´Ù. ±×·¸°Ô ¶§¹®¿¡ ÀÌ Àý¿¡¼­ ÆÐÅ°Áö¸¦ ºôµåÇÒ ¶§´Â ±×·¯ÇÑ ±ÇÇÑÀÌ ¾ø´Â »ç¿ëÀÚ·Î ÇÏ´Â °ÍÀ» ±ÇÀåÇÕ´Ï´Ù. ¿©·¯ºÐµéÀº ¿©·¯ºÐ¸¸ÀÇ À̸§À» »ç¿ëÇÒ ¼ö ÀÖÁö¸¸ Á» ´õ °£ÆíÇÏ°Ô Çϱâ À§ÇØ ¿©±â¿¡¼­´Â °£´ÜÈ÷ lfs¶ó°í À̸§Áþ°í lfs¶ó´Â ±×·ì¿¡ Æ÷ÇÔ½ÃÅ°µµ·Ï ÇÏ°Ú½À´Ï´Ù. root±ÇÇÑÀ¸·Î ´ÙÀ½ÀÇ ¸í·ÉÀ» ½ÇÇàÇÏ¿© »õ·Î¿î »ç¿ëÀÚ¸¦ ¸¸µì´Ï´Ù: {{{ groupadd lfs useradd -s /bin/bash -g lfs -m -k /dev/null lfs }}} '''Ä¿¸Çµå¶óÀÎ ¿É¼Ç ¼³¸í''' '''-s /bin/bash''' ''lfs'' »ç¿ëÀÚÀÇ ±âº» ¼ÐÀ» '''bash'''·Î ÁöÁ¤ÇÕ´Ï´Ù. '''-g lfs''' lfs »ç¿ëÀÚ¸¦ lfs ±×·ì¿¡ Æ÷ÇÔ½Ãŵ´Ï´Ù. '''-m''' lfs¸¦ À§ÇÑ È¨ µð·ºÅ丮¸¦ »ý¼ºÇÕ´Ï´Ù. '''-k /dev/null''' ÀÌ ÆĶó¹ÌÅʹ ƯÁ¤ null device(/dev/null)·ÎÀÇ ÀÔ·Â À§Ä¡°¡ skeleton µð·ºÅ丮(/etc/skel)ÀÇ ÆÄÀÏÀ» º¹»çÇϸ鼭 ¹Ù²ð ¼ö ÀÖ´Â °æ¿ì¸¦ ¹æÁöÇϱâ À§ÇÑ °ÍÀÔ´Ï´Ù. /dev/null¿¡ ´ëÇØ ´õ ÀÚ¼¼È÷ ¾Ë°í ½ÍÀ¸½Å ºÐÀº ´ÙÀ½À» Âü°íÇϼ¼¿ä:[http://shakii.tistory.com/94 /dev/null ¿¹Á¦] '''lfs''' ½ÇÁ¦·Î »ç¿ëµÉ »ç¿ëÀÚÀÇ À̸§ÀÔ´Ï´Ù. lfs·Î ·Î±×ÀÎÇϱâ À§Çؼ­´Â Æнº¿öµå°¡ ÇÊ¿äÇÕ´Ï´Ù. ´ÙÀ½ ¸í·ÉÀ» ÅëÇØ ¼³Á¤ÇØ ÁÝ´Ï´Ù. {{{ passwd lfs }}} lfs¿¡°Ô $LFS/tools µð·ºÅ丮¿¡ ´ëÇÑ ¸ðµç ±ÇÇÑÀ» ÁÝ´Ï´Ù. {{{ chown -v lfs $LFS/tools }}} ¸¸¾à ÀÛ¾÷ µð·ºÅ丮°¡ ¼³¸íÇÑ ´ë·Î ¸¸µé¾îÁ³´Ù¸é ÀÌ µð·ºÅ丮¿¡ ´ëÇؼ­µµ ±ÇÇÑÀ» ÁÝ´Ï´Ù. {{{ chown -v lfs $LFS/sources }}} ÀÌÁ¦, lfs·Î ·Î±×ÀÎÀ» ÇÕ´Ï´Ù. ÀÌ°ÍÀº virtual console, display manager, ȤÀº ´ÙÀ½ÀÇ ¸í·ÉÀ¸·Î °¡´ÉÇÕ´Ï´Ù. {{{ su - lfs }}} "-" ¶ó´Â °ÍÀº non-login ¼Ð°ú´Â ¹Ý´ë·Î '''su'''°¡ login ¼ÐÀ» ½ÃÀÛÇÏ´Â °ÍÀ» °¡¸®Åµ´Ï´Ù. ÀÌ µÎÁ¾·ùÀÇ ¼ÐÀÇ Â÷ÀÌÁ¡Àº bash(1), ''info bash''¿¡¼­ ÀÚ¼¼ÇÏ°Ô Ã£¾Æº¼ ¼ö ÀÖ½À´Ï´Ù. ¿¹) su¸¸ »ç¿ëÇؼ­ root·Î ·Î±×ÀÎÇÒ °æ¿ì ȯ°æº¯¼ö´Â °¡Á®¿ÀÁö ¾Ê½À´Ï´Ù. ´ÜÁö ·Î±×ÀΰèÁ¤¸¸ ¹Ù²ò´Ï´Ù. ÇÏÁö¸¸ su - ¸¦ ÀÌ¿ëÇϸé ÇöÀçÀÇ È¯°æº¯¼ö±îÁö °¡Á®¿À±â ¶§¹®¿¡ ·Î±×ÀÎ ÈÄÀÇ À§Ä¡µµ ±×´ë·ÎÀ̸ç ÀÌ´Â su lfs¿Í su - lfs¿ÍÀÇ Â÷ÀÌÁ¡¿¡¼­µµ ¶È°°½À´Ï´Ù. ÀÌÁ¡ ²À~! ±â¾ïÇϽñ⠹ٶø´Ï´Ù. == ȯ°æ ¼³Á¤Çϱâ == '''bash''' ¼ÐÀ» À§ÇÑ »õ·Î¿î ½ÃÀÛ ÆÄÀÏ(startup file)À» ¸¸µé¾î¼­ ¼³Ä¡ ȯ°æÀ» ¸¸µå´Â °Íµµ ÁÁÀº ¹æ¹ýÀÔ´Ï´Ù. ¿©·¯ºÐÀÌ ''lfs''¶ó´Â »ç¿ëÀÚ·Î ·Î±×ÀÎÇÑ µÚ .bash_profileÀ» »õ·Î ¸¸µå·Á¸é ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇϽʽÿÀ: {{{ cat > ~/.bash_profile << "EOF" exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash EOF }}} lfs »ç¿ëÀÚ¿¡ ·Î±×ÀÎÀ» Çϸé, ÀϹÝÀûÀ¸·Î initial ¼ÐÀ» ''login'' ¼ÐÀ̶ó Çϴµ¥- ÀÌ ¼ÐÀº È£½ºÆ®ÀÇ /etc/profile(¿©·¯ ¼³Á¤ÆÄÀϵéÀ̳ª ȯ°æ º¯¼öµé)À» ÀÐÀº µÚ .bash_profileÆÄÀÏÀ» ÀнÀ´Ï´Ù. .bash_profile ÆÄÀÏ ¾È¿¡ '''exec env -i.../bin/bash''' ¿Í °°Àº Ä¿¸Çµå´Â ÇöÀç ½ÇÇàµÇ°í ÀÖ´Â ¼ÐÀ» »õ·Î¿î °ÍÀ¸·Î ´ëüÇϴµ¥ À̶§ HOME, TERM, PS1 ÀÌ ¼¼°¡ÁöÀÇ È¯°æº¯¼ö¸¦ Á¦¿ÜÇÏ°í ¿Ïº®ÇÏ°Ô »õ·Î¿î(empty) ȯ°æÀ¸·Î ´ëüµË´Ï´Ù. ÀÌ·¯ÇÑ ¹æ¹ýÀº »ç¿ëÀÚ°¡ ¿øÇÏÁö ¾Ê°Å³ª ÀáÀçÀûÀ¸·Î È£½ºÆ® ½Ã½ºÅÛ¿¡ Çطοî ȯ°æº¯¼ö°¡ ¼³Á¤µÇ´Â °ÍÀ» ¹æÁöÇÕ´Ï´Ù. ''non-login''¼ÐÀÇ »õ·Î¿î ÀνºÅϽºÀÎ ¼ÐÀº /etc/profileÀ̳ª .bash_profileÀ» ÀÐÁö ¾Ê½À´Ï´Ù. ´ë½Å .bashrc¶ó´Â ÆÄÀÏÀ» ÀнÀ´Ï´Ù. µû¶ó¼­ »õ·Î¿î .bashrcÆÄÀÏÀ» ¸¸µé¾î ÁÝ´Ï´Ù. [chaoxifer]- .bashrc´Â bash°¡ ½ÇÇàµÉ ¶§¸¶´Ù Àд ÆÄÀÏÀÌ°í .bash_profileÀº bash°¡ login shell·Î½á »ç¿ëÀÚ°¡ óÀ½ ·Î±×À뵃 ¶§ Àд ÆÄÀÏÀÔ´Ï´Ù. {{{ cat > ~/.bashrc << "EOF" set +h umask 022 LFS=/mnt/lfs LC_ALL=POSIX LFS_TGT=$(uname -m)-lfs-linux-gnu PATH=/tools/bin:/bin:/usr/bin export LFS LC_ALL LFS_TGT PATH EOF }}} '''set +h''' Ä¿¸Çµå´Â '''bash'''ÀÇ Çؽà ±â´ÉÀ» ²ô´Â °ÍÀÔ´Ï´Ù. Çؽà ±â´ÉÀº '''bash'''¿¡¼­ Çؽà Å×À̺íÀ» ÀÌ¿ëÇØ ½ÇÇàÆÄÀÏÀÇ ¿ÏÀüÇÑ °æ·Î(full path)¸¦ ±â¾ïÇϱâ À§ÇØ »ç¿ëµË´Ï´Ù. ±×·¡¼­ ¶È°°Àº ÆÄÀÏ¿¡ ´ëÇؼ­ °æ·Î¸¦ ´Ù½Ã ãÀ» ÇÊ¿ä ¾øÀÌ ¹Ù·Î ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ±â´ÉÀε¥, Áö±ÝÀÇ °æ¿ì°°Àº °æ¿ì´Â È£½ºÆ® ½Ã½ºÅÛ°ú ºÐ¸®µÇ¾î $LFS/tools¿¡ ÄÄÆÄÀÏµÈ ÇÁ·Î±×·¥¸¸ »ç¿ëµÇµµ·Ï ¼ÐÀÌ ÀÛµ¿µÇ¾î¾ß Çϱ⠶§¹®¿¡ ±âÁ¸¿¡ È£½ºÆ® ½Ã½ºÅÛ¿¡¼­ »ç¿ëµÇ¾ú´ø ÇÁ·Î±×·¥ÀÇ path¿¡ ´ëÇÑ Çؽ̱â´ÉÀ» ²¨³õÀº °ÍÀÔ´Ï´Ù. umask 022´Â »õ·Ó°Ô ÆÄÀÏÀ̳ª µð·ºÅ丮¸¦ ¸¸µé ¶§ÀÇ µðÆúÆ® ±ÇÇÑÀ» »ý¼ºÇϱâ À§ÇÑ maskÀÔ´Ï´Ù. ¿¹)777( 111 111 111 )- 022( 000 001 001 )= 755( 111 110 110 ) LFS º¯¼ö´Â ¸¶¿îÆ® Æ÷ÀÎÆ®·Î ¼³Á¤µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. LC_ALL º¯¼ö´Â ƯÁ¤ ±¹°¡¿¡ ¸Â°Ô ÇÁ·Î±×·¥ÀÇ ¾ð¾î¸¦ ¼³Á¤Çϱâ À§ÇÑ °ÍÀÔ´Ï´Ù. ¸¸¾à¿¡ È£½ºÆ® ½Ã½ºÅÛÀÌ GlibcÀÇ ¹öÀüÀÌ 2.2.4º¸´Ù ³·´Ù¸é LC_ALLÀ» "POSIX"³ª "C"¿Í´Â ´Ù¸¥ °ÍÀ¸·Î ¼³Á¤ÇÒ °æ¿ì ³ªÁß¿¡ chroot ȯ°æ¿¡¼­ ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖÀ¸´Ï "POSIX"³ª "C"·Î(ÀÌ µÑÀº ¼­·Î °°Àº °ÍÀÔ´Ï´Ù) ¼³Á¤ÇÏ±æ ±ÇÀåÇÕ´Ï´Ù. LFS_TGT´Â ±âº»À¸·Î ¼³Á¤µÇ´Â º¯¼ö´Â ¾Æ´ÏÁö¸¸ ¾ÕÀ¸·Î ¿ì¸®°¡ Å©·Î½º ÄÄÆÄÀÏ·¯, ¸µÄ¿¸¦ ºôµåÇÒ ¶§³ª Àӽà ÅøüÀÎÀ» À§Çؼ­ Å©·Î½º ÄÄÆÄÀÏÀ» ÇÒ ¶§ ÇÊ¿äÇÑ º¯¼öÀÔ´Ï´Ù. ¿©±â¿¡ ´ëÇØ ´õ ÀÚ¼¼È÷ ¾Ë°í ½ÍÀ¸½Ã¸é [http://wiki.kldp.org/wiki.php/LFS/Preparation#s-4.2 4.2.Toolchain Technical Notes"¸¦ Âü°íÇϽʽÿÀ. PATH¿¡ /tools/binÀ» ¾Õ¿¡ µÒÀ¸·Î½á Àӽà ½Ã½ºÅÛÀ» ¸¸µé±â À§ÇØ ¾ÕÀ¸·Î ¼³Ä¡µÉ ¸ðµç ÇÁ·Î±×·¥µéÀº ÀÌ °æ·Î¿¡ Àֱ⠶§¹®¿¡ shell¿¡ ÀÇÇØ Áï½Ã ¼±ÅÃµÇ¾î ½ÇÇàµÉ °Ì´Ï´Ù. ÀÌ´Â ¾Õ¿¡¼­ ÇØ½Ì ±â´ÉÀ» ²ô°í ¼ÐÀÌ Ä¿¸Çµå¸¦ ½ÇÇàÇÒ ¶§ ã´Â °æ·Î(PATH)¸¦ º¯°æÇÏ¿´±â ¶§¹®¿¡ °¡´ÉÇÕ´Ï´Ù. ¸¶Áö¸·À¸·Î Àӽà ÅøµéÀ» ºôµåÇÒ ½Ã½ºÅÛȯ°æÀ» À§ÇØ ´ÙÀ½ÀÇ ¸í·ÉÀ» ½ÇÇàÇÏ¿© »ç¿ëÀÚ ÇÁ·ÎÆÄÀÏÀ» ÀоîµéÀÔ´Ï´Ù. {{{ source ~/.bash_profile }}} == SBUs¶õ? == ¸¹Àº »ç¶÷µéÀÌ °¢°¢ ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡Çϴµ¥ ¾ó¸¶³ª ¿À·¡ °É¸®´ÂÁö ´ë·«ÀûÀ¸·Î ¹Ì¸® ¾Ë±â¸¦ ¿øÇÕ´Ï´Ù. ÇÏÁö¸¸ Linux From Scratch´Â ¼­·Î ´Ù¸¥ ¸¹Àº ½Ã½ºÅÛ¿¡¼­ ¼³Ä¡µÉ ¼ö Àֱ⠶§¹®¿¡ Á¤È®ÇÑ ¼Ò¿ä½Ã°£À» Á¦°øÇϱⰡ ¾î·Æ½À´Ï´Ù. °¡Àå Å« ÆÐÅ°Áö(Glibc)°¡ ´ë·«ÀûÀ¸·Î °¡Àå ºü¸¥ ½Ã½ºÅÛ¿¡¼­ 20ºÐÀüµµ °É¸®´Âµ¥, ´À¸° ½Ã½ºÅÛÀÇ °æ¿ì¿¡´Â 3ÀÏÀ̳ª °É¸± ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ¿Í °°Àº ÀÌÀ¯·Î ½ÇÁ¦ÀûÀÎ ½Ã°£À» Á¦°øÇϱ⺸´Ù Standard Build Unit(SBU) ÃøÁ¤¹æ½ÄÀ» »ç¿ëÇϱâ·Î Çß½À´Ï´Ù. SBU ÃøÁ¤¹æ½ÄÀº ´ÙÀ½°ú °°ÀÌ ÃøÁ¤µË´Ï´Ù. Ã¥¿¡ ¼Ò°³µÈ ÄÄÆÄÀÏµÉ Ã¹¹ø° ÆÐÅ°Áö´Â BinutilsÀÔ´Ï´Ù. ÀÌ ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏ Çϴµ¥ °É¸®´Â ½Ã°£Àº SBU·Î½á ¾ð±ÞµÉ °ÍÀÔ´Ï´Ù. ´Ù¸¥ ¸ðµç ÆÐÅ°Áöµéµµ ÀÌ·¯ÇÑ Ç¥ÁØÀ¸·Î ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦µé¾î, ¾î¶² ÆÐÅ°ÁöÀÇ ÄÄÆÄÀÏ ½Ã°£ÀÌ 4.5SBUs¶ó°í ÇÑ´Ù¸é, ÀÌ´Â Binutils¸¦ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡Çϴµ¥ 10ºÐÀÌ °É·È´Ù°í ÇßÀ» ¶§, ´ë·«ÀûÀ¸·Î 45ºÐÀÌ °É¸°´Ù´Â ¶æÀÔ´Ï´Ù. ÇÏÁö¸¸ ½ÇÁ¦·Î´Â ¿îÁÁ°Ôµµ ´ëºÎºÐÀÇ ÆÐÅ°ÁöµéÀÇ ºôµå½Ã°£Àº Binutilsº¸´Ù ª½À´Ï´Ù. ÀϹÝÀûÀ¸·Î SBUs´Â È£½ºÆ® ½Ã½ºÅÛÀÇ GCC¹öÀüÀ» Æ÷ÇÔÇؼ­ ºôµå½Ã°£¿¡ ¿µÇâÀ» ³¢Ä¡´Â °ÍµéÀÌ ¸¹±â ¶§¹®¿¡ Á¤È®ÇÏ´Ù°í´Â º¼ ¼ö ¾ø½À´Ï´Ù. ´ÜÁö ÇØ´ç ÆÐÅ°Áö¸¦ ¼³Ä¡Çϴµ¥ µå´Â ´ë·«ÀûÀÎ ½Ã°£À» Á¦°øÇÒ »ÓÀÔ´Ï´Ù. ¸¸¾à ƯÁ¤ machine¿¡ µå´Â ½ÇÁúÀûÀÎ ½Ã°£À» »ìÆ캸°íÀÚ ÇÑ´Ù¸é LinuxFromScratch SBU ȨÆäÀÌÁö¸¦ Âü°íÇϽʽÿÀ. [http://www.linuxfromscratch.org/~sbu/ http://www.linuxfromscratch.org/~sbu/] '''Note''' ¿äÁòÀÇ ¸¹Àº ½Ã½ºÅÛµéÀÌ µÎ °³ ÀÌ»óÀÇ ÇÁ·Î¼¼¼­(ȤÀº ÄÚ¾î)¸¦ °¡Áö°í À־ ÀÌ·¯ÇÑ °æ¿ì ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÏ¿© "parallel make"¸¦ ÀÌ¿ëÇϸé ÄÄÆÄÀÏÇÏ´Â µ¥ °É¸®´Â ½Ã°£À» ÁÙÀÏ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, Core2Duo´Â µ¿½Ã¿¡ µÎ°³ÀÇ ÇÁ·Î¼¼¼­¸¦ ´ÙÀ½ÀÇ È¯°æº¯¼ö ¼³Á¤À¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù: {{{ export MAKEFLAGS='-j 2' }}} ¶Ç´Â ºôµå ½Ã¿¡ ´ÙÀ½°ú °°ÀÌ ÇÒ ¼ö ÀÖ½À´Ï´Ù: {{{ make -j2 }}} ÀÌ·¯ÇÑ µÎ °³ ÀÌ»óÀÇ ÇÁ·Î¼¼¼­°¡ ÀÌ·¯ÇÑ ¹æ¹ýÀ¸·Î »ç¿ëµÉ °æ¿ì Ã¥¿¡ ³ª¿ÍÀÖ´Â SBU´Â ¸¹ÀÌ º¯ÇÒ ¼ö ÀÖÀ¸¸ç ½ÉÁö¾î Á¤»óÀûÀ¸·Î ½ÇÇàÇßÀ» ¶§º¸´Ù ´õ Å©°Ô ³ª¿Ã ¼ö ÀÖ½À´Ï´Ù. Ãâ·Â°á°ú¸¦ ºÐ¼®ÇÒ ¶§¿¡µµ ¼­·Î ´Ù¸¥ ÇÁ·Î¼¼¼­°¡ µ¿½Ã¿¡ ¾×¼¼½ºµÇ±â ¶§¹®¿¡ ºÐ¼®ÀÌ ´õ ¾î·ÁÀ§Áú¼öµµ ÀÖ½À´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ À§ÀÇ ¿É¼ÇÀ¸·Î ºôµå¸¦ ÇÏ´Ù°¡ ¹®Á¦°¡ »ý°åÀ» °æ¿ì ¿¡·¯ ¸Þ¼¼Áö¸¦ ºÐ¼®Çϱâ À§Çؼ­´Â ¿É¼ÇÀ» ÇØÁ¦ÇÏ°í single processor·Î ºôµåÇغ¸½Ã±â ¹Ù¶ø´Ï´Ù. == Test Suites¶õ? == ´ëºÎºÐÀÇ ÆÐÅ°ÁöµéÀÌ test suites¸¦ Á¦°øÇÕ´Ï´Ù. »õ·Ó°Ô ºôµåµÈ ÆÐÅ°Áö¿¡ ´ëÇØ test suites¸¦ ½ÇÇàÇÏ´Â °ÍÀº ÄÄÆÄÀÏÀÌ Á¦´ë·Î µÇ¾ú´ÂÁö È®ÀÎÇÒ ¼ö ÀÖ´Â "sanity check"¸¦ Á¦°øÇϱ⠶§¹®¿¡ °³¹ßÀÚ°¡ ÀǵµÇÑ ÆÐÅ°ÁöÀÇ ±â´ÉµéÀÌ ¿Ã¹Ù¸£°Ô ¼³Ä¡µÇ¾ú´ÂÁö È®ÀÎÇÏ¿© bug free¸¦ ¿Ïº®ÇÏ°Ô º¸ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ °Íµéº¸´Ù ´õ Áß¿äÇÑ test suitesµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î core toolchain ÆÐÅ°Áö¿¡ ´ëÇÑtest suitesµé(GCC, Binutils, Glibc)´Â ½Ã½ºÅÛÀÇ Áß¿äÇÑ ÇٽɺκÐÀ̱⠶§¹®¿¡ test suites°¡ ½Ã°£ÀÌ ¿À·¡°É¸®´õ¶óµµ ¹Ýµå½Ã Å×½ºÆ®¸¦ ÇغÁ¾ßÇÕ´Ï´Ù. Binutils°ú GCC¿¡ ´ëÇÑ test suites¿¡ ´ëÇØ ÀÚÁÖ µîÀåÇÏ´Â À̽´´Â 'running out of pseudo terminals'ÀÔ´Ï´Ù. ÀÌ°ÍÀº ¸î°¡Áö ¿øÀÎÀ¸·Î ÀÎÇØ ÀϾ ¼ö ÀÖÁö¸¸ ´ëºÎºÐÀÇ °æ¿ì È£½ºÆ®½Ã½ºÅÛ¿¡¼­ devpts ÆÄÀÏ ½Ã½ºÅÛÀ» ¿Ã¹Ù¸£°Ô °¡Áö°í ÀÖÁö ¾Ê¾Æ »ý±ä ¹®Á¦ÀÔ´Ï´Ù. ÀÌ ¹®Á¦¿¡ ´ëÇÑ ±ÛÀ» º¸·Á¸é ´ÙÀ½À» Âü°íÇϽʽÿÀ: [http://www.linuxfromscratch.org//lfs/faq.html#no-ptys http://www.linuxfromscratch.org//lfs/faq.html#no-ptys] °¡²û¾¿ °³¹ßÀÚ°¡ test suites¿¡ ½ÇÆÐÇصµ ½É°¢ÇÏ´Ù°í ¿©±âÁö ¾Ê´Â °æ¿ì ¶§¹®¿¡ Á¾Á¾ test suites¿¡ ½ÇÆÐÇÏ´Â ÆÐÅ°Áöµµ ´õ·¯ ÀÖ½À´Ï´Ù. ÀÌ·± °æ¿ì¿¡ ÇØ´çÇÏ´Â ÆÐÅ°Áö¸¦ È®ÀÎÇÏ·Á¸é[http://www.linuxfromscratch.org/lfs/build-logs/7.2/ http://www.linuxfromscratch.org/lfs/build-logs/7.2/]¿¡ ÀÖ´Â ·Î±×ÆÄÀÏÀ» È®ÀÎÇϽʽÿÀ. ÀÌ »çÀÌÆ®´Â ÀÌ Ã¥¿¡ ÀÖ´Â ¸ðµç ÆÐÅ°Áö¿¡ ÇØ´çÇÕ´Ï´Ù. = Àӽà ½Ã½ºÅÛ ±¸ÃàÇϱâ = == ¼Ò °³ == ÀÌ Àå¿¡¼­ ¿ì¸®´Â ¸®´ª½º ½Ã½ºÅÛ ÃÖ¼Ò»ç¾çÀ» ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ ÇÒ °ÍÀÔ´Ï´Ù. ÀÌ ½Ã½ºÅÛÀº ´ÙÀ½ Àå¿¡¼­ ÃÖÁ¾ LFS ½Ã½ºÅÛ ¼³Ä¡¸¦ ½ÃÀÛÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§ÇÑ ÃæºÐÇÑ µµ±¸µéÀ» Æ÷ÇÔ ÇÒ °ÍÀÔ´Ï´Ù ÀÌ·± ÃÖ¼Ò»ç¾çÀÇ ¼³Ä¡´Â µÎ ´Ü°è¸¦ °ÉĨ´Ï´Ù. ÃֽŠÆÑÅ°Áöµé°ú µ¶¸³ÀûÀ¸·Î ÀÛµ¿µÇ´Â Toolchain(compiler,assembler, linker and libraries)À» ¼³Ä¡ÇÏ°í, ±× ´ÙÀ½ ´Ù¸¥ ÇʼöÀûÀÎ ¸ðµç µµ±¸µéÀ» ¼³Ä¡Çϱâ À§ÇØ À̰͵éÀ» »ç¿ëÇÕ´Ï´Ù. ÀÌ Àå¿¡¼­ ÄÄÆÄÀÏµÈ ÆÄÀϵéÀº $LFS/tools µð·ºÅ丮 ¹Ø¿¡ ¼³Ä¡ µÉ °ÍÀÔ´Ï´Ù. ¿©±â¿¡¼­ ÄÄÆÄÀÏµÈ ÆÐÅ°ÁöµéÀº À̹ø Àå¿¡¼­¸¸ ¾²À̱⠶§¹®¿¡, ¿ì¸®´Â ±×°ÍµéÀÌ ÃÖÁ¾ LFS½Ã½ºÅÛ°ú ¼¯ÀÌ´Â °ÍÀ» ¿øÇÏÁö ¾Ê½À´Ï´Ù. ¼³Ä¡¸í·ÉµéÀº bash shellÀ» »ç¿ëÇÑ´Ù°í °¡Á¤ÇÕ´Ï´Ù ¶ÇÇÑ ÀÌ¹Ì ¼Ò½ºÆÑÅ°ÁöÀÇ ¾ÐÃàÀ» Ç®¾ú´Ù°í °¡Á¤ÇÏ°í,(lfs»ç¿ëÀڷμ­ ·Î±×ÀÎµÈ µ¿¾È - ¾Õ¿¡¼­ °£´ÜÈ÷ ¼³¸íÇßÀ½ .) ¼³Ä¡¸í·ÉÀ» »ç¿ëÇϱâ Àü¿¡ ÆÑÅ°ÁöÀÇ ¼Ò½º µð·ºÅ丮·Î µé¾î°¡±âÀ§ÇØ cd ¸í·ÉÀ» »ç¿ëÇÕ´Ï´Ù. ±× ÆÑÅ°ÁöµéÀÇ ÀϺδ ÄÄÆÄÀÏÀü¿¡ ÆÐÄ¡µË´Ï´Ù. ±× ÆÐÄ¡´Â ¹ö±×¸¦ ÇÇÇϱâ À§ÇØ ÇÊ¿ä·Î ÇÕ´Ï´Ù. ÆÐÄ¡´Â Á¾Á¾ ÀÌ Àå°ú ´ÙÀ½ Àå µÑ´Ù¿¡¼­ ÇÊ¿äÇÏÁö¸¸ ±×¸® Å« ¹®Á¦´Â ¾Æ´Õ´Ï´Ù.±×·¯¹Ç·Î ÆÐÄ¡¸¦ ´Ù¿î·Îµå Çϱâ À§ÇÑ ¼³¸íÀ» º¼ ¶§ Çò°¥¸®´õ¶óµµ ³Ê¹« °ÆÁ¤ÇÏÁö ¸¶¼¼¿ä. ÆÐÄ¡¸¦ Àû¿ëÇÒ ¶§ °æ¿ì¿¡ µû¶ó offset À̳ª fuzz.¿¡ °üÇÑ °æ°í ¸Þ¼¼Áö¸¦ º¸°Ô µÉ°ÍÀÔ´Ï´Ù. ÀÌ·± °æ°íµéÀº ÆÐÄ¡¸¦ ¼º°øÀûÀ¸·Î Àû¿ë Çϴµ¥ À־ ÀüÇô °ÆÁ¤ÇÒ °ÍÀÌ ¾ø½À´Ï´Ù. ´ëºÎºÐÀÇ ÆÑÅ°Áö ¼³Ä¡°úÁ¤µ¿¾È È­¸é¿¡¼­ ¸ðµç Á¾·ùÀÇ ÄÄÆÄÀÏ °æ°í¸¦ º¼ °ÍÀÔ´Ï´Ù. ÀÌ °æ°íµéÀº Á¤»óÀûÀ̹ǷΠ½Å°æ¾²Áö ¾Ê¾Æµµ ÁÁ½À´Ï´Ù. C ¾ð¾îÀÇ Ç¥ÁØÀº ¸¹ÀÌ ¹Ù²î¾ú´Âµ¥, ÀϺΠÆÑÅ°ÁöµéÀº ¿¾ ¹öÀüÀÇ C¿¡ ¸ÂÃß¾îÁ® Àֱ⠶§¹®¿¡ ³ª¿À´Â ¸Þ¼¼ÁöÀÔ´Ï´Ù. ½Å°æ¾µ ºÎºÐÀº ¾Æ´Õ´Ï´Ù. ÀØÁö ¸»¾Æ ÁÖ¼¼¿ä. ºÒÇÊ¿äÇÑ °Í ¾øÀÌ °ø°£À» Àý¾àÇϱâ À§ÇØ, °¢ ÆÑÅ°Áö¸¦ ¼³Ä¡ÇÑ ÈÄ¿¡ ¼Ò½º¿Í ¼³Ä¡ µð·º¼Ò¸®¸¦ »èÁ¦ÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ÀÛ¾÷À» ÁøÇàÇϱâÀü¿¡ ¾Æ·¡Ã³·³ ½ÇÇàÇÔÀ¸·Î½á LFS ȯ°æº¯¼ö¸¦ Àû¿ë µÇ¾úÀ½À» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. {{{ echo $LFS }}} LFS ÆÄƼ¼ÇÀÇ ¸¶¿îÆ®µÈ °÷ÀÇ °æ·Î¸¦ Ãâ·Â°á°ú·Î È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù. Ã¥ÀÇ ³»¿ëÀ» µû¶ú´Ù¸é "/mnt/lfs"À» º¼ ¼ö ÀÖÀ» °Ì´Ï´Ù. == Toolchain technical notes == ÀÌ Àå¿¡¼­´Â ¼¼ºÎÀûÀÎ ±â¼ú°ú ¿ø¸®ÀÇ ÀϺθ¦, µÚ¿¡¼­´Â ÀüüÀûÀÎ ¼³Ä¡¹æ¹ýÀ» ¼³¸í ÇÒ °ÍÀÔ´Ï´Ù. ¿©±âÀÇ ³»¿ëÀ» ¹Ù·Î ÀÌÇØÇÏÁö ¸øÇصµ »ó°ü¾ø½À´Ï´Ù. ÀÏ´Ü Çѹø ½ÇÁ¦·Î ¼³Ä¡Çغ¸¸é ´ëºÎºÐ °¨ÀÌ ¿Ã °ÍÀÔ´Ï´Ù. ³ªÁß¿¡¶óµµ ¾ðÁ¦µçÁö ÀÌ°÷À» ÂüÁ¶Çϼ¼¿ä. 5ÀåÀº '/'¸¦ Àӽ÷Π¹Ù²ÞÀ¸·Î½á 6Àå¿¡ ¼­ LSF ½Ã½ºÅÛÀ» ±ò²ûÇÏ°í ¹®Á¦¾øÀÌ ¼³Ä¡ÇÒ ¼ö Àִ ȯ°æÀ» Á¦°øÇÏ´Â °ÍÀ» ¸ñÇ¥·Î ÇÕ´Ï´Ù. ÀÌ·±½ÄÀ¸·Î µÇµµ·Ï È£½ºÆ® ½Ã½ºÅÛÀ¸·Î ºÎÅÍ ¿ì¸®ÀÇ ½Ã½ºÅÛÀ» ºÐ¸®Çϱ⸦ ½ÃµµÇÏ°í, µ¶¸³ÀûÀ¸·Î ÀÛµ¿ ÇÒ ¼ö ÀÖ´Â ToolchainÀ» ¼³Ä¡ÇÕ´Ï´Ù. óÀ½ Á¢ÇÏ´Â »ç¶÷µé¿¡°Ô À§ÇèºÎ´ãÀ» ÃÖ¼ÒÈ­ÇÏ°í ±³À°È¿°ú´Â ÃÖ´ëÈ­ µÇµµ·Ï ¼³Ä¡°úÁ¤ÀÌ °í¾ÈµÇ¾ú½À´Ï´Ù. ´Ù½Ã¸»ÇØ, ÀÌ ½Ã½ºÅÛÀ» ¼³Ä¡Çغ½À¸·Î½á ´õ ³ªÀº ±â¼úÀ» ¾òÀ» ¼ö ÀÖ´Ù´Â ¸»ÀÔ´Ï´Ù. ÁÖÀÇ»çÇ× : ÀÛ¾÷À» °è¼ÓÇϱ⿡ ¾Õ¼­, ÀÚ½ÅÀÇ Ç÷§Æû[¿¹¸¦µé¸é i386]ÀÌ ¹«¾ùÀÎÁö ¾Ë¾ÆµÎ¾î¾ß ÇÕ´Ï´Ù.´ëºÎºÐÀÇ °æ¿ì´Â i686±â¹Ý ¸®´ª½º¿¡ ÀûÀýÇÒ °ÍÀÔ´Ï´Ù. °£´ÜÇÑ ¹æ¹ýÀ¸·Î ¼Ò½ºÆÑÅ°Áö ¼Ó¿¡ ÀÖ´Â config.guess ¸¦ ½ÇÇàÇÔÀ¸·Î½á ÀÚ½ÅÀÇ Ç÷§Æû¿¡ ¸Â´Â °ÍÀ» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. Binutils ¼Ò½ºÀÇ ¾ÐÃàÀ» Ç®°í ./config.guess¸¦ ½ÇÇàÇؼ­ ±× Ãâ·Â¹®À» ¸Þ¸ðÇϼ¼¿ä. ¼³Ä¡¸¦ ÇÒ ¶§ ÀÚ½ÅÀÇ Ç÷§Æû¿¡ ¸Â´Â dynamic linker ÀÇ À̸§À» ¾Ë¾ÆµÎ¾î¾ß ÇÏ°í, Á¾Á¾ dynamic loader ¸¦ ÂüÁ¶ ÇÒ ¶§ Binutils ¾È¿¡ µé¾îÀִ ǥÁظµÄ¿ÀÎ ld ¿Í È¥µ¿ÇÏÁö ¸»¾Æ¾ß ÇÕ´Ï´Ù. The dynamic linker is provided by Glibc and has the job of finding and loading the shared libraries needed by a program, preparing the program to run and then running it. ÀüÅëÀûÀ¸·Î dynamic linker ÀÇ À̸§Àº ld-linux.so.2¸¦ »ç¿ëÇÕ´Ï´Ù. ld.so.1À̶ó´Â À̸§Àº Àß »ç¿ëÇÏÁö ¾Ê¾Ò°í, »õ·Î¿î 64ºñÆ® ±â¹Ý Ç÷§Æû¿¡¼­´Â ÀüÇô ´Ù¸¥ À̸§À» »ç¿ëÇÕ´Ï´Ù. ´ç½Å ½Ã½ºÅÛÀÇ /lib µð·ºÅ丮¿¡¼­ dynamic linkerÀÇ À̸§À» È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù. °¡Àå È®½ÇÇÑ ¹æ¹ýÀº È£½ºÆ®ÀÇ ºÒƯÁ¤ÇÑ ÇÁ·Î±×·¥À» ´ë»óÀ¸·Î readelf -l | grep interpreter À» ½ÇÇàÇÔÀ¸·Î½á È®ÀÎÀ» Çغ¸´Â °ÍÀÔ´Ï´Ù. Glibc ¼Ò½º Æ®¸®ÀÇ root¿¡ ÀÖ´Â shlib-versionsÀÇ ÆÄÀÏ¿¡ ¸ðµç Ç÷§Æû¿¡ ´ëÇÑ Á¤º¸°¡ µé¾îÀÖ½À´Ï´Ù. 5 Àå¿¡¼­ ¼³Ä¡ÀÛ¾÷À» ÇÒ ¶§ ¾Æ·¡ ³»¿ëµµ ÂüÁ¶Çϼ¼¿ä. *¿øÄ¢ÀûÀ¸·Î Å©·Î½º ÄÄÆÄÀÏÀº °°Àº ÇÁ¸®ÇȽº¾È¿¡ ¼³Ä¡µÈ ÅøÀÌ Çù·Â¿¡¼­ ÀÛµ¿ÇÏ°í ÀÛÀº GNU "magic"À» ÀÌ¿ëÇÑ´Ù. *ÇÁ·Î±×·¥ÀÌ ¿¬°áµÇ´Â °ÍÀ» º¸ÁõÇϴ ǥÁØÀÌ µÇ´Â ¸µÄ¿ÀÇ ¶óÀ̺귯¸® Ž»öÆнºÀÇ Á¶ÀÛÀº ´ÜÁö ¿ì¸®°¡ ¼±ÅÃÇÑ ¶óÀ̺귯¸®¿¡ ¹Ý´ëÇÑ´Ù. *µ¿ÀûÀÎ ¸µÄ¿¸¦ Ÿ°ÙÀ¸·Î ÇÏ´Â gcc ½ºÆåÆÄÀÏÀÇ ÁÖÀDZí°Ô »ç¿ëÇØ¾ß ÇÑ´Ù. Binutils´Â GCC¿Í GlibcÀÌ ±×µéÀÇ °¢°¢ÀÇ ¼öÇà µ¿¾È ¾î¼Àºí·¯¿Í linker¿¡ ´ëÇÑ ´Ù¾çÇÑ Æ¯Â¡ ½ÃÇèÀ» ¼öÇàÇϱ⠶§¹®¿¡ ù¹ø° ¼³Ä¡µË´Ï´Ù. Binutils´Â GCC¿Í GlibcÀÌ °¡´ÉÇÏ°Ô Çϰųª ¹«´ÉÇÏ°Ô ¸¸µå´Â ¾î¶² ¼ÒÇÁÆ®¿þ¾î Ư¡À» °áÁ¤ÇÏ´Â ./configureÀÇ °¢°¢ÀÇ ±¸µ¿µ¿¾È ¾î¼Àºí·¯¿Í linker¿¡ ´ëÇØ ´Ù¾çÇÑ ±â´É ½ÃÇèÀ» ¼öÇàÇϱ⠶§¹®¿¡ ù¹ø° ¼³Ä¡µË´Ï´Ù. ÀÌ°ÍÀº ù¹ø° ÀνÄÇѰͺ¸´Ù ´õ Áß¿äÇÏ´Ù. ºÎÁ¤È®ÇÏ°Ô ±¸¼ºµÈ GCC¿Í Glibc´Â °á°úÀûÀ¸·Î ¹Ì¼¼ÇÏ°Ô ºÎ½¤Áø ±×·± ÆļÕÀÇ Ãæ°ÝÀÌ ¸ðµç ºÐ¹èÀÇ ºôµåÀÇ ³¡±îÁö º¸ÀÌ¸é ¾ÈµÇ´Â ToolchainÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù. °í¸¿°Ôµµ, test suite ½ÇÆд ³Ê¹« ¸¹Àº ½Ã°£À» ³¶ºñÇϱâ Àü¿¡ º¸Åë ¿ì¸®¿¡°Ô °æ°í ÇÒ °ÍÀÌ´Ù. Binutils´Â /tools/bin ¿Í /tools/$TARGET_TRIPLET/binÀÇ ¾È¿¡ ±×°ÍÀÇ ¾î¼Àºí·¯¿Í ¸µÄ¿¸¦ ÀνºÅçÇÕ´Ï´Ù. Çö½Ç¿¡¼­ ÇÑ À§Ã¼¿¡ ÀÖ´Â µµ±¸´Â ´Ù¸¥ ¸î¸î¿¡°Ô ¿¬°áµË´Ï´Ù. ¸µÄ¿ÀÇ Áß¿äÇÑ ¸éÀº ±×°ÍÀÇ ¶óÀ̺귯¸® Ž»ö ¼ø¼­ÀÔ´Ï´Ù. »ó¼¼ÇÑ Á¤º¸´Â verbose flag¸¦ Áö³ª°¡´Â °Í¿¡ ÀÇÇØ ld ·ÎºÎÅÍ ¾ò¾î Áú ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, ld --verbose | grep SEARCHÀº ´ç½Å¿¡°Ô ±× ÇöÀçÀÇ Å½»ö Æнº¿Í ±×µéÀÇ ¼ø¼­¸¦ º¸¿©ÁÙ °ÍÀÔ´Ï´Ù. ´ç½ÅÀº ½ÇÁ¦·Î ÆÄÀÏÀÌ ¹«¾ùÀÎÁö dummy ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÏ°í verbose ±³È¯À» ¸µÄ¿¿¡°Ô °Ç³ÛÀ¸·Î½á ld¿¡ ÀÇÇØ ¿¬°áµÇ´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, gcc dummy.c -Wl,--verbose 2>&1 | grepÀº ´ç½Å¿¡°Ô ¼º°øÀûÀ¸·Î ±× ¿¬°áµ¿¾È ¿­¸° ¸ðµç ÆÄÀÏÀ» º¸¿©ÁÙ °ÍÀÔ´Ï´Ù. ¼³Ä¡µÈ ´ÙÀ½ÀÇ ÆÐÅ°Áö´Â GCCÀÔ´Ï´Ù. GCCÀÇ ./configure¼öÇൿ¾È¿¡ ´ç½ÅÀº ¾Æ·¡ ¿¹¸¦ º¼ °ÍÀÔ´Ï´Ù. {{{ checking what assembler to use... /tools/i686-pc-linux-gnu/bin/as checking what linker to use... /tools/i686-pc-linux-gnu/bin/ld }}} ÀÌ°ÍÀº À§¿¡ ¾ð±ÞµÈ ÀÌÀ¯¶§¹®¿¡ Áß¿äÇÕ´Ï´Ù. ±×°ÍÀº GCCÀÇ ¼³Á¤ ½ºÅ©¸³Æ®´Â »ç¿ëÇÏ´Â toolÀ» ¹ß°ßÇϱâ À§ÇØ $PATH µð·ºÅ丮¸¦ ¸¦ Ž»öÇÏÁö ¾Ê´Â°ÍÀ» º¸¿©ÁÝ´Ï´Ù. ±×·¯³ª gccÀÇ ½ÇÁ¦ ÀÛµ¿¾È °°Àº Ž»ö Æнº´Â ÇÊ¿¬ÀûÀ¸·Î »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ´ç½ÅÀº gcc -print-prog-name=ldÀÇ ±¸µ¿¿¡ ÀÇÇØ Ç¥ÁØ ¸µÄ¿ gcc¸¦ ã¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù. »ó¼¼ÇÑ Á¤º¸´Â ÄÄÆÄÀÏÇÏ´Â ´õ¹Ì ÇÁ·Î±×·¥µ¿¾ÈÀÇ -v flag¸¦ ÆнÌÇÏ´Â °Í¿¡ ÀÇÇØ gcc·ÎºÎÅÍ ¾ò¾îÁú ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, gcc -v dummy.cÀÇ Å½»ö Æнº¿Í ±×µéÀÇ ¼ø¼­¸¦ Æ÷ÇÔÇÔÀ¸·Î½á ÇÁ¸®ÇÁ·Î¼¼¼­, ÄÄÆÄÀÏ, ¾î¼Àºê¸®ÇÑ ½ºÅ×ÀÌÁö¿¡ ´ëÇÑ »ó¼¼ÇÑ Á¤º¸¸¦ º¸¿©ÁÙ °ÍÀÔ´Ï´Ù. ¼³Ä¡µÈ ´ÙÀ½ÀÇ ÆÐÅ°Áö´Â GlibcÀÔ´Ï´Ù. GlibcÀ» ºôµåÇÏ´Â °Í¿¡ ´ëÇÑ °¡Àå Áß¿äÇÑ °í·Á»çÇ×Àº ±× ÄÄÆÄÀÏ·¯, ¹ÙÀ̳ʸ® Åø°ú Ä¿³Î Çì´õÀÔ´Ï´Ù. ÄÄÆÄÀÏ·¯´Â GlibcÀÌ Ç×»ó $PATH µð·ºÅ丮¿¡¼­ gcc¸¦ ¹ß°ßÇϴµ¥ Ç×»ó »ç¿ë°ÍÀ̹ǷΠÀϹÝÀûÀ¸·Î ¾Æ¹«·± ¹®Á¦°¡ ¾ø½À´Ï´Ù. ¹ÙÀÌ·¯¸® Åø°ú Ä¿³Î Çì´õ´Â ÀÛ°í ´õ ±î´Ù·Î¿ï ¼ö ÀÖ½À´Ï´Ù.±×·¯¹Ç·Î ¿ì¸®´Â À§ÇèÀÌ ¾ø°í ¿Ã¹Ù¸¥ ¼±ÅÃÀ» °­È­ÇϱâÀ§ÇØ ½ºÀ§Ä¡ ¼³Á¤À» »ç¿ëÇÕ´Ï´Ù. ./configure ÈÄ¿¡ ´ç½ÅÀº ¸ðµç Áß¿äÇÑ ¼¼ºÎ»çÇ×À» À§ÇØ glibc-build µð·ºÅ丮¿¡¼­ config.make ÆÄÀÏÀÇ ³»¿äÀ» °Ë»ç ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ç½ÅÀº ¹ÙÀ̳ʸ® ÅøÀÌ »ç¿ëµÇ´Â Á¦¾î¿¡ CC="gcc -B/tools/bin/"ÀÇ »ç¿ë°ú °°Àº Àç¹ÌÀÖ´Â ¾ÆÀÌÅÛÀ» ÁÖ¸ñÇÒ °ÍÀÌ°í, ¶ÇÇÑ Å½»ö ÆнºÀ» Æ÷ÇÔÇÑ ÄÄÆÄÀÏ·¯ÀÇ Á¦¾î¿¡ -nostdinc and -isystem flagsÀÇ »ç¿ë°ú °°Àº Àç¹ÌÀÖ´Â ¾ÆÀÌÅÛÀ» ÁÖ¸ñÇÒ °ÍÀÔ´Ï´Ù. ÀÌ ¾ÆÀÌÅÛÀº Glibc ÆÐÅ°ÁöÀÇ Áß¿äÇÑ °üÁ¡¿¡ °­Á¶ÇÏ´Â °ÍÀ» µ½½À´Ï´Ù. ÀÌ°ÍÀº ±×°ÍÀÇ ºôµå ÀåÄ¡¿¡¼­ ¸Å¿ì µ¶¸³ÀûÀÌ°í ÀϹÝÀûÀ¸·Î toolcahin default¸¦ ¹ÏÁö ¾Ê½À´Ï´Ù. Glibc ÀνºÅçÈÄ ¿ì¸®´Â ¿ì¸®ÀÇ /tools frefix¿¡¼­ Ž»öÇÏ´Â °Í°ú ¿¬°ÍÇÏ´Â °ÍÀÌ ¹ß»ýÇÏ´Â °ÍÀ» º¸ÁõÇÏ´Â Á¶Á¤À» ¸¸µì´Ï´Ù. ¿ì¸®´Â Á¶Á¤µÈ ld¸¦ ¼³Ä¡Çϴµ¥ ±×°ÍÀº ÄÄÇ»Å;ÈÀÇ Å½»ö±æÀº /tools/lib±îÁö ÇÑÁ¤µÇ°Ô ÇÕ´Ï´Ù. ±×¸®°í ¿ì¸®´Â /tools/lib¿¡ ¿ì¸®ÀÇ »õ·Î¿î µ¿ÀûÀÎ ¸µÄ¿¸¦ °¡¸®Å°±â À§ÇØ gccÀÇ ½ºÆåÆÄÀÏÀ» °íĨ´Ï´Ù. ÀÌ ¸¶Áö¸· ´Ü°è´Â ¸ðµç °úÁ¤¿¡ Áß¿äÇÕ´Ï´Ù. À§¿¡ ¸»ÇÑ´ë·Î, µ¿ÀûÀÎ ¸µÄ¿·ÎÀÇ ÄÄÇ»Åͳ»ÀÇ Æнº´Â ¸ðµç °øÀ¯µÈ ½ÇÇà°¡´ÉÇÑ ELF·Î ³»ÀåµË´Ï´Ù. ´ç½ÅÀº readelf -l | grep interpreterÀ» ¼öÇàÇÔÀ¸·Î½á ÀÌ°ÍÀ» Á¡°ËÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼öÁ¤µÈ gccÀÇ ½ºÆå ÆÄÀÏ¿¡ ÀÇÇØ ¿ì¸®´Â ÀÌ ÀåÀÇ ³¡À» ÅëÇØ ¿©±â·ÎºÎÅÍ ÄÄÆÄµÈ ¸ðµç ÇÁ·Î±×·¥ÀÌ /tools/lib¿¡ ¿ì¸®µéÀÇ »õ·Î¿î µ¿ÀûÀÎ ¸µÄ¿¸¦ »ç¿ëÇÒ °ÍÀ» º¸ÁõÇÏ°í ÀÖ½À´Ï´Ù. »õ·Î¿î µ¿ÀûÀÎ ¸µÄ¿¸¦ »ç¿ëÇÒ Çʿ伺Àº GCCÀÇ µÎ¹ø° Æнº¸¦ À§ÇØ ½ºÆå ÆÐÄ¡¸¦ Àû¿ëÇÏ´Â °ÍÀÌ ÀÌÀ¯ÀÔ´Ï´Ù. ±×·¸°Ô ÇÏ´Â µ¥ À־ÀÇ ½ÇÆд °á°úÀûÀ¸·Î ±×µé¾ÈÀ¸·Î ³»ÀåµÈ È£½ºÆ® ½Ã½ºÅÛ /lib µð·ºÅ丮·ÎºÎÅÍ ±×µé ½º½º·Î µ¿ÀûÀÎ ¸µÄ¿ÀÇ À̸§À» °¡Áö°í ÀÖ´Â GCC ÇÁ·Î±×·¥ÀÌ µÉ °ÍÀÔ´Ï´Ù. ±×·±µ¥ ±×°ÍÀº È£½ºÆ®·ÎºÎÅÍ ¹°·¯°¡´Â ¿ì¸®µéÀÇ ¸ñÀûÀ» ÁÂÀý ½Ãų °ÍÀÔ´Ï´Ù. BinutilÀÇ µÎ¹ø° Æнºµ¿¾È¿¡ ¿ì¸®´Â --with-lib-path Æнº¸¦ ÀÌ¿ëÇÒ ¼öÀÖ½À´Ï´Ù. ldÀÇ ¶óÀ̺귯¸® Ž»ö Æнº¸¦ °ü¸®Çϱâ À§ÇØ ½ºÀ§Ä¡¸¦ ±¸¼ºÇÕ´Ï´Ù. Àü¹æÀ¸·Î ÀÌ Æ÷ÀÎÆ®·ÎºÎÅÍ ÄÚ¾î toolchainÀº µ¶¸³½ÄÀÌ°í È£½ºÆ®ÀÔ´Ï´Ù. 5ÀåÀÇ ³ª¸ÓÁö´Â /toos¿¡ »õ·Î¿î Glibc¿¡ ¹Ý´ëÇÏ´Â ¸ðµç ºôµð¸¦ ÆÐÅ°ÁöÇÕ´Ï´Ù. ¸ðµÎ Àß ÀÖ½À´Ï´Ù. 6Àå¿¡¼­ chrootȯ°æ¿¡ µé¾î°¡ÀÚ¸¶ÀÚ, ¿ì¸®°¡ ¾ð±ÞÇÑ ±×°ÍÀÇ µ¶¸³½Ä ¶§¹®¿¡ ¿ì¸®°¡ ù¹ø° Áß¿äÇÑ ÆÑÅ°Áö¿¡¼­ ÀνºÅçÇÑ°ÍÀº GlibcÀÌ´Ù. == Á¤Àû¿¬°á¿¡ ´ëÇÑ ÁÖÀÇ == ¸ðµç ÇÁ·Î±×·¥Àº ±×µéÀÇ Æ¯Á¤ÇÑ Å×½ºÅ©¿·¿¡¼­, ¿ÀÈ÷·Á º¸ÅëÀûÀÌ°í ¶§¶§·Î ÇÏÂúÀº ¸¹Àº µ¿ÀÛÀ» ¼öÇàÇÕ´Ï´Ù. ÇÒ´çÇÏ´Â ¸Þ¸ð¸®, µð·ºÅ丮¿Í ÆÄÀÏ ¾²±â, ÆÄÀÏ Àбâ string Á¶ÀÛ, ÆÐÅÍ ¸ÅĪ, ¼öÇаú ´Ù¸¥ ¸¹Àº Á÷¹«¸¦ Æ÷ÇÕ´Ï´Ù. WheelÀ» Àç¹ß¸íÇϱâ À§ÇØ °¢°¢ÀÇ ÇÁ·Î±×·¥À» ¾î¿¼ö ¾øÀÌ ÇÏ°Ô ÇÏ´Â ´ë½Å¿¡, GNU ½Ã½ºÅÛÀº ÀÌ¹Ì ¸¸µé¾îÁø ¶óÀ̺귯¸®¿¡ ÀÖ´Â ±âº»ÀûÀÎ ÀÌ ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù. ±× µéÀ» »ç¿ëÇÏ´Â ÇÁ·Î±×·¥¿¡ ´ëÇÑ ¶óÀ̺귯¸®·ÎºÎÅÍÀÇ ±â´ÉÀ» ¿¬°áÇÏ´Â µÎ ÁÖ¿äÇÑ ¹æ¹ý(Á¤Àû, µ¿Àû :statically ¶Ç´Â dynamically)ÀÌ ÀÖ½À´Ï´Ù. ÇÁ·Î±×·¥ÀÌ Á¤ÀûÀ¸·Î ¸µÅ©µÇ¾úÀ»¶§, °á°úÀûÀ¸·Î ´õ ºÎÇÇ°¡ Å« ÇÁ·Î±×·¥ÀÌ µÇ¸é¼­ ½ÇÇà°¡´ÉÇÑ ±× »ç¿ëµÈ functionÀÇ ÄÚµå´Â Æ÷ÇԵ˴ϴÙ. ÇÁ·Î±×·¥ÀÌ µ¿ÀûÀ¸·Î ¸µÅ©µÇ¾úÀ»¶§, Æ÷ÇԵǴ °ÍÀº µ¿ÀûÀÎ ¸µÄ¿, ¶óÀ̺귯¸®ÀÇ À̸§, ±×¸®°í ±× functionÀÇ À̸§¿¡ ´ëÇÑ ÂüÁ¶ÀÔ´Ï´Ù. ±×·±µ¥ ±×°ÍÀº ´õ ÀÛÀº ¸¹Àº°Í¿¡¼­ÀÇ ½ÇÇà°¡´ÉÇÑ °á°úÀÔ´Ï´Ù. ¼¼¹ø° ¹æ¹ýÀº µ¿ÀûÀÎ ¸µÄ¿ÀÇ ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ´õ ¸¹Àº Á¤º¸´Â dlopen manpage¸¦ º¸¼¼¿ä. Dµ¿ÀûÀÎ ¿¬°áÀº Linux¿¡ defaultÇÏ°í Á¤ÀûÀÎ ¿¬°á¿¡ ´ëÇÑ Áß¿äÇÑ ¼¼°¡Áö Áß¿äÇÑ ÀåÁ¡À» °¡Áö°í ÀÖ½À´Ï´Ù. ù ¹ø°, ±× °°Àº ÄÚµåÀÇ ¸¹Àº º¹»ç¸¦ ÇÁ·Î±×·¥ÀÇ ¸ðµç °¡Áö(bunch)¾ÈÀ¸·Î Æ÷ÇÔµÇ°Ô ÇÏ´Â ´ë½Å¿¡ Çϵåµð½ºÅ©¿¡¼­ ½ÇÇà°¡´ÉÇÑ ¶óÀ̺귯¸® ÄÚµåÀÇ ´ÜÁö ÇϳªÀÇ º¹»ç¸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù. ±×·¡¼­ µð½ºÅ©°ø°£ Àý¾àµË´Ï´Ù.µÎ¹ø°, ¿©·¯°³ÀÇ ÇÁ·Î±×·¥ÀÌ °°Àº ¶óÀ̺귯½º Æã¼ÇÀ» µ¿½Ã¿¡ »ç¿ëÇÒ ¶§, Æã¼Ç ÄÚµåÀÇ ´ÜÁö ÇÑ º¹»ç´Â core¿¡ ¿ä±¸µË´Ï´Ù. ±×·¡¼­ ¸Þ¸ð¸®°ø°£ÀÌ Àý¾àµË´Ï´Ù.¼¼¹ø°, ¶óÀ̺귯¸® Æã¼ÇÀÌ ¹ö±×¸¦ °íÁ¤µÇ°Ô Çϰųª ±×·¸Áö ¾ÊÀ¸¸é °³¼±µÉ ¶§, ±× °³¼±µÈ Æã¼ÇÀ» ÀÌ¿ëÇÏ´Â ¸ðµç ÇÁ·Î±×·¥À» ´Ù½Ã ÄÄÆÄÀÏÇØ¾ß ÇÏ´Â ´ë½Å¿¡ ´ÜÁö ÀÌ ÇÑ ¶óÀ̺귯¸®¸¦ ´Ù½Ã ÄÄÆÄÀÏ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. µ¿ÀûÀÎ ¿¬°áÀÌ ¿©·¯ ÀåÁ¡À» °¡Áö°í ÀÖ´Ù¸é ¿Ö? ¿ì¸®´Â ÀÌ Àå¿¡¼­ ù¹ø° µÎ ÆÑÅ°Áö¸¦ Á¤ÀûÀ¸·Î ¿¬°áÇÒ±î¿ä? ±× ÀÌÀ¯´Â 3ºÎºÐÀÔ´Ï´Ù.- ¿ª»çÀûÀÌ°í, ±³À°ÀûÀÌ°í, ±â¼úÀûÀÔ´Ï´Ù(historical, educational, and technical). ¿ª»çÀûÀ¸·Î´Â, ´õ ÀÏÂïÀÌ LFSÀÇ ¹öÁ¯ ÀÌ ÀåÀÇ ¸ðµç ÇÁ·Î±×·¥¿¡¼­ Á¤ÀûÀ¸·Î ¿¬°áµÇ¾ú±â ¶§¹®ÀÔ´Ï´Ù. ±³À°ÀûÀ¸·Î´Â, Â÷ÀÌÁ¡À» ¾Æ´Â°ÍÀÌ À¯¿ëÇϱ⠶§¹®ÀÔ´Ù. ±â¼úÀûÀ¸·Î´Â, ¿ì¸®°¡ ±×·¸°Ô Çϴµ¥ À־ È£½ºÆ®·ÎºÎÅÍ µ¶¸³ÀûÀÎ ºÎºÐÀ» ¾ò±â ¶§¹®ÀÔ´Ï´Ù. Àǹ̴ ÇÁ·Î±×·¥ÀÌ È£½ºÆ® ½Ã½ºÅÛÀ¸·ÎºÎÅÍ µ¶¸³ÀûÀ¸·Î »ç¿ëµÇ´Â °ÍÀÔ´Ï´Ù. ±×·¯³ª óÀ½ µÎ ÆÐÅ°Áö°¡ µ¿ÀûÀ¸·Î ºôµåµÉ ¶§, ÀüüÀÇ ¼º°øÀûÀÎ LFS ºôµå´Â ¿©ÀüÈ÷ ¼ºÃëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» À¯ÀÇÇÒ °¡Ä¡°¡ ÀÖ½À´Ï´Ù. == ÀϹÝÀûÀÎ ÄÄÆÄÀÏ ¼³¸íµé == [chaoxifer] - 7.2·Î ¾÷µ¥ÀÌÆ®Çϸ鼭 »õ·Î Ãß°¡ÇÑ ºÎºÐÀÔ´Ï´Ù. ÆÐÅ°ÁöµéÀ» ºôµåÇϱâ Àü¿¡ ±âº»ÀûÀ¸·Î ¾Ë¾ÆµÎ¾î¾ßÇÒ °ÍµéÀÌ ¸î°¡Áö ÀÖ½À´Ï´Ù. * ¸î¸îÀÇ ÆÐÅ°ÁöµéÀº ºôµå Áß ¹®Á¦µéÀ» ÇÇÇϱâ À§ÇØ ÄÄÆÄÀÏÀü¿¡ ÆÐÄ¡°¡ Àû¿ëµÇ¾î¾ßÇÕ´Ï´Ù. ¾î¶² ÆÐÄ¡´Â À̹ø Àå¿¡¼­³ª ´ÙÀ½ Àå¿¡¼­ µÎ¹ø ´Ù ÆÐÄ¡µÇ¾î¾ßÇÏ´Â °æ¿ìµµ ÀÖÁö¸¸ ¶Ç ´Ù¸¥ °æ¿ì¿¡´Â Çѹø¸¸ ÆÐÄ¡µÇ¾îµµ µÇ´Â °ÍÀÌ ÀÖ½À´Ï´Ù. À̶§¹®¿¡ ¿©·¯ºÐµéÀº ÆÐÅ°Áö¸¦ ¼³Ä¡Çϸ鼭 ÆÐÄ¡°¡ ÀÌ·ç¾îÁöÁö ¾Ê¾Æ ¼³¸í¼­¿¡¼­ ½Ç¼ö·Î ºüÁø°ÍÀÌ ¾Æ´Ò±î °ÆÁ¤ÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ÆÐÄ¡¸¦ Àû¿ëÇÏ°í¼­ ºôµå½Ã¿¡ ³ªÅ¸³ª´Â ''offset''À̳ª ''fuzz''¿¡ ´ëÇÑ °æ°í¸Þ¼¼ÁöµéÀº ÀÌ¹Ì ÆÐÄ¡¾È¿¡¼­ ÃæºÐÈ÷ °è»êµÈ °á°úÀÔ´Ï´Ù. À̺κп¡ ´ëÇؼ­´Â °ÆÁ¤ÇÏ½Ç ÇÊ¿ä´Â ¾ø½À´Ï´Ù. * ´ëºÎºÐÀÇ ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇÏ´Â µ¿¾È È­¸é¿¡ ¸î¸î °æ°í¸Þ¼¼ÁöµéÀÌ ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀº ¹«½ÃÇصµ µÇ´Â °æ°íÀÔ´Ï´Ù. ÀÌ·¯ÇÑ °æ°í¸Þ¼¼ÁöµéÀº ȤÀº C, C++ ±¸¹®¿¡¼­ »ç¿ëµÇ´Â deprecated(¿¹Àü¿¡´Â »ç¿ëµÇ¾úÁö¸¸ ÀÌÁ¦´Â »ç¿ëµÇÁö ¾Ê´Â °Íµé)¿¡ ´ëÇÑ °ÍµéÀÔ´Ï´Ù. C Ç¥ÁØÀº ÀÚÁÖ ¹Ù²î±â ¶§¹®¿¡ ÆÐÅ°ÁöµéÁß ¾î¶² °ÍµéÀº ¿À·¡µÈ Ç¥ÁØÀ» »ç¿ëÇÏ´Â °Íµéµµ ÀÖ½À´Ï´Ù. * ¸¶Áö¸·À¸·Î LFS ȯ°æ º¯¼ö°¡ Á¦´ë·Î ¼³Á¤µÇ¾îÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ: {{{ echo $LFS }}} 2°¡Áö Áß¿äÇÑ »ç½Çµé 1. ÀÌ Ã¥¿¡¼­ ÀÌ·ç¾îÁö´Â ºôµå´Â '''bash'''¼ÐÀ» »ç¿ëÇÑ´Ù°í °¡Á¤ÇÕ´Ï´Ù. 2. ºôµå °úÁ¤¿¡ ´ëÇØ ´Ù½Ã °­Á¶ÇÕ´Ï´Ù: 1. ¸ðµç ¼Ò½º¿Í ÆÐÄ¡µéÀÌ µé¾îÀÖ´Â µð·ºÅ丮´Â chrootȯ°æ¿¡¼­ Á¢±Ù°¡´ÉÇÑ /mnt/lfs/sources°°Àº µð·ºÅ丮À̾î¾ß ÇÕ´Ï´Ù. Àý´ë·Î /mnt/lfs/tools/ µð·ºÅ丮 ¾È¿¡ ¼Ò½º¸¦ ³õÁö ¸¶½Ê½Ã¿À. 2. ¼Ò½º µð·ºÅ丮·Î ÇöÀç µð·ºÅ丮¸¦ ¹Ù²Ù½Ê½Ã¿À. 3. °¢ ÆÐÅ°Áöµé¿¡ ´ëÇÏ¿© 3-1. tar ÇÁ·Î±×·¥À» ÀÌ¿ëÇؼ­ ºôµåÇÒ ÆÐÅ°Áö¸¦ Ǫ½Ê½Ã¿À. ÀÌ Àå¿¡¼­´Â ¿©·¯ºÐÀÌ lfs ·Î ÆÐÅ°Áö¸¦ Ç®¾ú´ÂÁö ´Ù½ÃÇѹø È®ÀÎÇϽʽÿÀ. 3-2. ¿©·¯ºÐÀÌ ÆÐÅ°Áö¸¦ Ç®¾î¼­ »ý¼ºµÈ µð·ºÅ丮·Î À̵¿ÇϽʽÿÀ. 3-3. Ã¥ÀÇ ¼³¸í¿¡ µû¶ó ÆÐÅ°Áö¸¦ ºôµåÇϽʽÿÀ. 3-4. ´Ù½Ã ¼Ò½º µð·ºÅ丮(cd ../)·Î À̵¿ÇÕ´Ï´Ù. 3-5. ¹æ±Ý ÀÛ¾÷Çß´ø µð·ºÅ丮¸¦ »èÁ¦ÇÏ°í ''''''-build¿Í °°Àº µð·ºÅ丮µéÀº Ã¥ÀÇ ¼³¸í¿¡ µû¶ó ´õÀÌ»ó °ü·Ã ÆÐÅ°Áö¸¦ ºôµåÇÒ ÇÊ¿ä°¡ ¾øÀ¸¸é ±× ¶§ »èÁ¦ÇϽñ⠹ٶø´Ï´Ù. == Binutils-2.22 - Pass 1 ¼³Ä¡ == Approximate build time: 1.0 SBU Required disk space: 194 MB Bintutils(2.14) °ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://ftp.gnu.org/gnu/binutils/ Binutils¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo. === BinutilsÀÇ ÀνºÅç === binutils´Â °¡Àå ¸ÕÀú ÄÄÆÄÀÏ ÇØ¾ß ÇÕ´Ï´Ù. ±âº» ÃÖÀûÈ­ Ç÷¡±×(including the -march and -mcpu options)µéÀ» º¯°æÇϴ°ÍÀº ±×¸® ÁÁÁö ½À°üÀÌ ¾Æ´Õ´Ï´Ù. ±×·¯¹Ç·Î ¸¸¾à¿¡ ´ç½ÅÀÌ CFLAGS³ª CXXFLAG °°Àº ÀÌ¹Ì ÃÖÀûÈ­ µÇ¾îÀִ ȯ°æº¯¼öµéÀ» º¯°æÇßÀ» °æ¿ì¿¡´Â Glibc¸¦ ¼³Ä¡ÇÒ ¶§ ¿ø»óº¹±Í ½ÃÄÑÁÖ¼¼¿ä. ÄÄÆÄÀÏ ÃÖÀûÈ­ »ç¿ëÀ¸·Î ºôµå ½ÇÆа¡ ÀϾÁö ¾Êµµ·Ï ÆÐÄ¡¸¦ Àû¿ëÇÕ´Ï´Ù. {{{ patch -Np1 -i ../binutils-2.22-build_fix-1.patch }}} binutils ¹®¼­¿¡¼­´Â binutils¸¦ ¼³Ä¡ÇÒ¶§ /tools ¹Û¿¡¼­ ¼³Ä¡Çϴ°ÍÀ» ±ÇÀåÇÕ´Ï´Ù: {{{ mkdir -v ../binutils-build cd ../binutils-build }}} Note: SBU¸¦ Á¦´ë·Î ÃøÁ¤Çϱâ À§Çؼ­´Â ÇÑ ÆÑÅ°Áö¸¦ ¼³Ä¡ÇÒ ¶§ ÇÊ¿äÇÑ ÃÑ ½Ã°£À» °è»êÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ Çϸé SBU¸¦ Á¦´ë·Î ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. time { ./configure ... && ... && ... && make install; }. Binutils ÄÄÆÄÀÏ ÁغñÇϱâ: {{{ ../binutils-2.22/configure \ --prefix=/tools \ --with-sysroot=$LFS \ --with-lib-path=/tools/lib \ --target=$LFS_TGT \ --disable-nls \ --disable-werror }}} The meaning of the configure options: * --prefix=/tools: binutilsÇÁ·Î±×·¥µéÀ» /tools·Î ¼³Ä¡Ç϶ó´Â ¿É¼Ç. * --disable-nls: ´Ù±¹¾î Áö¿ø¿É¼ÇÀ» ²ö´Ù. ¿ì¸®´Â ¾ÕÀ¸·Î ÇÁ·Î±×·¥À» Á¤ÀûÀ¸·Î ÄÄÆÄÀÏÇؼ­ »ç¿ëÇÒ °Çµ¥ ÀÌ¿Í°°Àº ¿É¼ÇÀ» ÄÑµÎ¸é ³ªÁß¿¡ ¹®Á¦°¡ »ý±æ¼ö À־ »ç¿ëÇÏÁö ¾Ê´Â´Ù. * --with-sysroot=$LFS: ÀÌ°ÍÀº ºôµå ½Ã½ºÅÛÀÌ $LFS(/mnt/lfs)¾È¿¡¼­ ÇÊ¿äÇÑ Å¸°Ù ½Ã½ºÅÛ ¶óÀ̺귯¸®¸¦ ¤Ô¤º¤¿¤ºÀ¸¶ó°í ¼³Á¤ÇÏ´Â ¿É¼ÇÀÔ´Ï´Ù. * --with-lib-path=/tools/lib: ÀÌ°ÍÀº ¸µÄ¿°¡ ¼³Á¤µÉ ¶§ »ç¿ëµÇ´Â ¶óÀ̺귯¸® °æ·ÎÀÔ´Ï´Ù. * --target=$LFS_TGT: ÄÄÇ»ÅÍ¿¡ ´ëÇÑ µð½ºÅ©¸³¼ÇÀÌ ÀúÀåµÈ $LFS_TGT ȯ°æº¯¼ö´Â '''config.guess'''½ºÅ©¸³Æ®¿¡¼­ ¸®ÅϵǴ °ª°ú ¾à°£ ´Ù¸¨´Ï´Ù. À̶§¹®¿¡ '''configure''' ½ºÅ©¸³Æ®·Î Å©·Î½º ¸µÄ¿¸¦ ¸¸µé±â À§ÇØ $LFS_TGT°ªÀ» BinutilsÀÇ ºôµå ½Ã½ºÅÛ¿¡ Àû¿ëÇ϶ó°í ¸»ÇØÁÖ´Â ¿É¼ÇÀÔ´Ï´Ù. * --disable-werror: ÀÌ°ÍÀº È£½ºÆ® ÄÄÆÄÀÏ·¯ºÎÅÍ ³ª¿À´Â °æ°íµé¿¡ ÀÇÇØ ºôµå°¡ ¸ØÃß´Â °ÍÀ» ¸·¾ÆÁÖ´Â ¿É¼ÇÀÔ´Ï´Ù. À̾ ÄÄÆÄÀÏÀ» °è¼Ó ÇսôÙ.: {{{ make }}} ÀÚ, ÀÌÁ¦ ÄÄÆÄÀÏÀº ³¡³µ½À´Ï´Ù. test suite¸¦ ¾îµð¿¡¼­ ½ÇÇàÇÒ °ÍÀÎÁö°¡ Áß¿äÇÕ´Ï´Ù. ¾ÆÁ÷ ¾ð±ÞÀÌ Á¶±Ý À̸¥ °ÍÀ̱⿡, ÀÌ Àå¿¡¼­´Â test suites ¸¦ ½ÇÇàÇϴ°ÍÀº ÃßõÇÏÁö ¾Ê½À´Ï´Ù.(for the temporary) GCC test suite¸¦ ½ÇÇàÇϱ⸦ ¿øÇÒÁö¶óµµ ¾ÆÁ÷ ¾ø±â¶§¹®¿¡ ÀÌ Àå¿¡¼­ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. °Ô´Ù°¡ À̹øÀå¿¡¼­ ¼³Ä¡ÇÑ ÇÁ·Î±×·¥Àº ´ÙÀ½ ¼³Ä¡°úÁ¤¿¡¼­ µ¤¾î¾²±â µË´Ï´Ù. ¸¸¾à x86_64¿¡¼­ ºôµåÇß´Ù¸é ÅøüÀÎÀ» Á¤»óÀûÀ¸·Î Çϱ⠿öÇØ ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µé¾îÁÝ´Ï´Ù {{{ case $(uname -m) in x86_64) mkdir -v /tools/lib && ln -sv lib /tools/lib64 ;; esac }}} ÆÐÅ°Áö ÀνºÅçÇϱâ: {{{ make install }}} Glibc¸¦ ¼³Ä¡ÇÑ ÈÄ¿¡ º¸°Ô µÉ "locking in"ºÎºÐÀ» À§ÇÑ ¼±ÇàÀÛ¾÷: {{{ make -C ld clean make -C ld LDFLAGS="-all-static" LIB_PATH=/tools/lib }}} make ÆĶó¹ÌÅÍÀÇ ÀǹÌ: * -C ld clean: ld µð·ºÅ丮¾ÈÀÇ ¸ðµç ÄÄÆÄÀÏµÈ ½ÇÇàÈ­ÀϵéÀ» Áö¿î´Ù. * -C ld LDFLAGS="-all-static" LIB_PATH=/tools/lib: À̿ɼÇÀº ld ¼­ºê µð·ºÅ丮 ¾ÈÀÇ ¸ðµç ÇÁ·Î±×·¥µéÀ» ¸®ºôµåÇÑ´Ù. LIB_PATH º¯¼ö¿¡ "/tools/lib"¸¦ ÁöÁ¤ÇÏ¸é ±âº» ¼ÂÆõǾî ÀÖ´Â µð·ºÅ丮¸¦ ÂüÁ¶ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ¶óÀ̺귯¸® Æнº·Î /tools/lib¸¦ ÂüÁ¶ÇÏ°Ô µÈ´Ù. ÀÌ º¯¼ö´Â ¸µÄ¿ÀÇ °æ·Î¸¦ ÁöÁ¤ÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù. {{{ ÁÖÀÇ Binutils ¿Í ¼Ò½º µð·ºÅ丮¸¦ Áö¿ìÁö ¸¶¼¼¿ä. ÀÌ ÀåÀÇ µÞÂÊ¿¡¼­ ´Ù½Ã »ç¿ëÇÏ°Ô µË´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº the Section called Contents of Binutils in Chapter 6À» ÂüÁ¶Çϼ¼¿ä. }}} == GCC-4.7.4 - Pass 1 ¼³Ä¡ == Approximate build time: 5.5 SBU Required disk space: 1.G GB GCC (4.7.1) °ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://ftp.gnu.org/pub/gnu/gcc/ GCC¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo. ¼³¸í: GCC ÆÐÅ°Áö´Â C¿Í C++ ÄÄÆÄÀÏ·¯µéÀ» Æ÷ÇÔÇÑ GNU ÄÄÆÄÀÏ·¯ Ä÷º¼ÇÀ» Æ÷ÇÔÇÕ´Ï´Ù. ''' ±âº» ÃÖÀûÈ­ Ç÷¡±×(including the -march and -mcpu options)µéÀ» º¯°æÇϴ°ÍÀº ±×¸® ÁÁÁö ½À°üÀÌ ¾Æ´Õ´Ï´Ù. ±×·¯¹Ç·Î ¸¸¾à¿¡ ´ç½ÅÀÌ CFLAGS³ª CXXFLAG °°Àº ÀÌ¹Ì ÃÖÀûÈ­ µÇ¾îÀִ ȯ°æº¯¼öµéÀ» º¯°æÇßÀ» °æ¿ì¿¡´Â Glibc¸¦ ¼³Ä¡ÇÒ ¶§ ¿ø»óº¹±Í ½ÃÄÑÁÖ¼¼¿ä. ''' === Cross GCC ¼³Ä¡ === GCC´Â GMP, MPFR, MPC ÆÐÅ°ÁöµéÀ» ÇÊ¿ä·Î ÇÕ´Ï´Ù. ¸¸¾à ¿©·¯ºÐµéÀÇ È£½ºÆ® ½Ã½ºÅÛ¿¡ ¾ð±ÞÇÑ °ÍµéÀÌ ÆÐÅ°Áö ÇüÅ·Πµû·Î ÀÖÁö ¾Ê´Ù¸é GCCÆÐÅ°Áö ¾È¿¡ ÀüºÎ Æ÷ÇԵǾî ÀÖÀ» °ÍÀÔ´Ï´Ù. ¸ÕÀú GCC ¼Ò½º µð·ºÅ丮 ¾È¿¡ °¢°¢ÀÇ ÆÐÅ°ÁöµéÀ» Ç®°í GCC ºôµå°úÁ¤¿¡¼­ À̵é ÆÐÅ°ÁöµéÀÌ ÀÚµ¿ÀûÀ¸·Î »ç¿ëµÇµµ·Ï À̸§À» ¹Ù²ãÁÝ´Ï´Ù. {{{ tar -Jxf ../mpfr-3.1.1.tar.xz mv -v mpfr-3.1.1 mpfr tar -Jxf ../gmp-5.0.5.tar.xz mv -v gmp-5.0.5 gmp tar -zxf ../mpc-1.0.tar.gz mv -v mpc-1.0 mpc }}} ´ÙÀ½ÀÇ ¸í·É¹®Àº GCCÀÇ default dynamic linker¸¦ /tools¿¡ ¼³Ä¡µÇ¾î ÀÖ´Â ÇÁ·Î±×·¥À» »ç¿ëÇϵµ·Ï ¹Ù²Ü°ÍÀÔ´Ï´Ù. ¶ÇÇÑ GCCÀÇ include °Ë»ö °æ·Î¶ÇÇÑ »èÁ¦ÇÕ´Ï´Ù.(/usr/include) {{{ for file in \ $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h) do cp -uv $file{,.orig} sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \ -e 's@/usr@/tools@g' $file.orig > $file echo ' #undef STANDARD_STARTFILE_PREFIX_1 #undef STANDARD_STARTFILE_PREFIX_2 #define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/" #define STANDARD_STARTFILE_PREFIX_2 ""' >> $file touch $file.orig done }}} óÀ½ º¸¸é ¹«½¼¸»ÀÎÁö ÀÌÇØÇϱâ Èûµé °Ì´Ï´Ù. ÇϳªÇϳª »ìÆ캸µµ·Ï ÇսôÙ. ¸ÕÀú ¿ì¸®´Â gcc/config µð·ºÅ丮¾È¿¡¼­ linux.h, linux64.h, sysv4.h¶ó´Â À̸§À» °¡Áö´Â ÆÄÀÏÀ» ã¾Æ³À´Ï´Ù. ÆÄÀÏÀÌ °Ë»öµÇ¸é ÇØ´ç ÆÄÀÏÀ» .orig¸¦ ÆÄÀÏ¸í µÚ¿¡ µ¡ºÙ¿©¼­ º¹»çÇÕ´Ï´Ù. ±× µÚ¿¡ sed ¸í·ÉÀ¸·Î »ç¿ëµÈ Á¤±ÔÇ¥Çö½ÄÀÌ "/lib/ld", "/lib64/ld", "lib32/ld"¿¡ "/tools"¸¦ µ¡ºÙÀÌ°í µÎ¹ø° Ç¥Çö¿¡¼­´Â "/usr"°¡ "/tools"·Î ´ëüµË´Ï´Ù. ´ÙÀ½¹®Àå¿î ±âÁ¸ startfileÀÇ °æ·Î¸¦ ÆÄÀÏÀÇ ³¡ºÎºÐÀ¸·Î ¼³Á¤ÇÏ´Â °ÍÀÔ´Ï´Ù. STANDARD_STARTFILE_PREFIX_1¿¡¼­ »õ·Î Á¤ÀÇÇÑ ºÎºÐÀÇ "/tools/lib/" À̺κÐÀ» ÀÚ¼¼È÷ º¸½Ê½Ã¿À. µÞºÎºÐ¿¡ "/"°¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¸¶Áö¸·À¸·Î '''touch'''¸¦ ÀÌ¿ëÇØ ¿øº» ÆÄÀÏÀÇ ºñÁ¤»óÀûÀÎ º¯°æÀ» ¹Ì¸® ¸·À» ¼ö ÀÖ½À´Ï´Ù. ÀÌ´Â ÆÄÀÏÀÇ º¯°æ³¯Â¥¸¦ ¼³Á¤Çؼ­ '''cp -u'''¸¦ »ç¿ëÇÏ¿´À» ¶§ ¿øº»ÆÄÀÏÀÇ À߸øµÈ º¯°æÀ» ¸·À» ¼ö ÀÖ½À´Ï´Ù. (cp -u ´Â º¹»çÇÒ ÆÄÀÏÀÌ ÀÖÀ» ¶§ ÀÌ ÆÄÀÏÀÇ º¯°æ ³¯Â¥°¡ °°°Å³ª ´õ ÃÖ±ÙÀÇ °ÍÀÌ¸é º¹»çÇÏÁö ¾Ê½À´Ï´Ù.) GCC´Â ½ºÅú¸È£¸¦ Á¦´ë·Î °¨ÁöÇÏÁö ¸øÇϱ⠶§¹®¿¡ Glibc-2.16.0À» ºôµåÇÒ ¶§ ¹®Á¦°¡ ¹ß»ýÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ´ÙÀ½ÀÇ ¸í·ÉÀ¸·Î ÇØ´ç ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù: {{{ sed -i '/k prot/agcc_cv_libc_provides_ssp=yes' gcc/configure }}} GCC ¹®¼­¿¡¼­´Â GCC¸¦ ¼³Ä¡ÇÒ¶§ /tools ¹Û¿¡¼­ ¼³Ä¡Çϴ°ÍÀ» ±ÇÀåÇÏ°í ÀÖ½À´Ï´Ù. {{{ mkdir -p $LFS/build/gcc-build cd $LFS/build/gcc-build }}} GCCÄÄÆÄÀÏÀ»À» ¿öÇØ configure: {{{ ../gcc-4.7.1/configure \ --target=$LFS_TGT \ --prefix=/tools \ --with-sysroot=$LFS \ --with-newlib \ --without-headers \ --with-local-prefix=/tools \ --with-native-system-header-dir=/tools/include \ --disable-nls \ --disable-shared \ --disable-multilib \ --disable-decimal-float \ --disable-threads \ --disable-libmudflap \ --disable-libssp \ --disable-libgomp \ --disable-libquadmath \ --enable-languages=c \ --with-mpfr-include=$(pwd)/../gcc-4.7.1/mpfr/src \ --with-mpfr-lib=$(pwd)/mpfr/src/.libs }}} configure ¿É¼ÇÀÇ ÀÇ¹Ì * --with-newlib: ¾ÆÁ÷ C library°¡ »ç¿ë°¡´ÉÇÏÁö ¾ÊÀº »óÅ¿¡¼­ libgcc°¡ ºôµåµÇ¸é ¹®Á¦°¡ ½ÇÆÐÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¶§¹®¿¡ inhibit_libc »ó¼ö°¡ Á¤ÀǵǾîÀÖ´Ù´Â °ÍÀ» ¹Ì¸® ¾Ë·ÁÁ༭ libc¸¦ ÇÊ¿ä·ÎÇÏ´Â Äڵ尡 ÄÄÆÄÀϵÇÁö ¾Êµµ·Ï ÇÕ´Ï´Ù. * --without-headers: cross-compiler¸¦ ¿Ïº®ÇÏ°Ô ¸¸µå·Á¸é GCC´Â target½Ã½ºÅÛ°ú ȣȯÀ̵Ǵ ǥÁØ Çì´õÆÄÀϵéÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÇÏÁö¸¸ ¿ì¸®ÀÇ ¸ñÇ¥¿¡´Â ÀÌ·¯ÇÑ Çì´õÆÄÀϵéÀº ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ Ç÷¡±×´Â GCC°¡ ÇØ´ç Çì´õÆÄÀϵéÀ» ãÁö ¾Êµµ·Ï ÇØÁÝ´Ï´Ù. * --with-local-prefix=/tools: gcc include path°¡ /usr/local/include·Î µÇ¾î ÀÖ´Â °ÍÀ» /tools/·Î ¹Ù²Ù¾î ÁÖ±â À§¼­ÀÔ´Ï´Ù. ÀÌ ¿É¼ÇÀÌ ²À ÇÊ¿äÇÑ °ÍÀº ¾Æ´ÏÁö¸¸ ¿ì¸®´Â È£½ºÆ® ½Ã½ºÅÛ¿¡ ¿µÇâÀ» ÃÖ¼ÒÈ­ Çϱ⸦ ¿øÇϱ⠶§¹®¿¡ ÀÌ ¿É¼ÇÀ» »ç¿ëÇÕ´Ï´Ù. * --with-native-system-header-dir=/tools/include: GCC´Â ±âº»ÀûÀ¸·Î /usr/include¿¡¼­ ½Ã½ºÅÛ Çì´õÆÄÀϵéÀ» ã½À´Ï´Ù. sysroot ½ºÀ§Ä¡( GCC ¿É¼ÇÀ¸·Î, Ç¥ÁØ C ¶óÀ̺귯¸® Çì´õ ÆÄÀÏ°ú ¸®À̺귯¸® À§Ä¡¸¦ º¯°æÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù. º¸Åë Å©·Î½º ÄÄÆÄÀÏÀ» ÇÒ ¶§ »ç¿ëµË´Ï´Ù. ¿¹:gcc --sysroot=/example Çϸé /example/usr/include¿¡¼­ Çì´õÆÄÀÏÀ» ã°Ô µË´Ï´Ù )¿Í ÇÔ²² ÀÌ¿ëÇÏ¸é º¸Åë $LFS/usr/include·Î ¹Ù²ð °ÍÀÔ´Ï´Ù. * --disable-shared: GCC°¡ Á¤Àû ³»ºÎ ¶óÀ̺귯¸®¸¦ ¸µÅ©Çϵµ·Ï ¸¸µì´Ï´Ù. ÀÌ·¸°Ô ÇÏ¿© È£½ºÆ® ½Ã½ºÅÛ¿¡¼­ ¹ß»ýµÉ ¼ö ÀÖ´Â ¹®Á¦¸¦ ÇÇÇÒ ¼ö ÀÖ½À´Ï´Ù. * --disable-decimal-float, --disable-threads, --disable-libmudflap, --disable-libssp, --disable-libgomp, --disable-libquadmath: Å©·Î½º ÄÄÆÄÀÏ·¯¸¦ ºôµåÇÒ¶§ À§ÀÇ decimal-float, threads, libmudflap, libsspµéÀº ºôµå½Ã¿¡ ½ÇÆÐÇÒ »Ó´õ·¯ Àӽà libc¸¦ ¸¸µå´Â µ¥¿¡ ÇÊ¿ä°¡ ¾ø±â ¶§¹®¿¡ »ç¿ëÇÏÁö ¾Êµµ·Ï ÇÕ´Ï´Ù. * --disable-multilib: x86_64¿¡¼­ LFS´Â ¾ÆÁ÷ multilib ¼³Á¤À» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ½ºÀ§Ä¡´Â x86 ½Ã½ºÅÛ¿¡¼­´Â ¾Æ¹«·± ¿µÇâÀÌ ¾ø½À´Ï´Ù. * --enable-languages=c: ÀÌ ¿É¼ÇÀº ¼³Ä¡½Ã¿¡ C ÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇϵµ·Ï ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ ¿É¼ÇÀº GCC Ÿ¸£º¼À» ´Ù¿î·Îµå ¹Þ¾Æ¼­ ¼³Ä¡ÇÒ¶§¸¸ »ç¿ëÇÕ´Ï´Ù. ÆÐÅ°Áö ÄÄÆÄÀÏÇϱâ. {{{ make }}} makeÆĶó¹ÌÅÍÀÇ ÀÇ¹Ì ÄÄÆÄÀÏÀº ³¡³µ½À´Ï´Ù. test suite¸¦ ¾îµð¿¡¼­ ½ÇÇàÇÒ °ÍÀÎÁö°¡ Áß¿äÇÕ´Ï´Ù. ¾ÆÁ÷Àº ±×·±°É ¸»Çϱ⿣ Á¶±Ý À̸£±â ¶§¹®¿¡, ÀÌ Àå¿¡¼­´Â test suites ¸¦ ½ÇÇàÇϴ°ÍÀº ÃßõÇÏÁö ¾Ê½À´Ï´Ù. GCC test suite¸¦ ½ÇÇàÇϱ⸦ ¿øÇÒÁö¶óµµ ¾ÆÁ÷ ¾ø±â ¶§¹®¿¡ ÀÌ Àå¿¡¼­ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. °Ô´Ù°¡ À̹øÀå¿¡¼­ ¼³Ä¡ÇÑ ÇÁ·Î±×·¥Àº ´ÙÀ½ ¼³Ä¡ °úÁ¤¿¡¼­ µ¤¾î ¾²°Ô µË´Ï´Ù. ÆÐÅ°Áö ¼³Ä¡Çϱâ: {{{ make install }}} Áö±Ý±îÁöÀÇ °úÁ¤ÀÌ ³¡³ª¸é /tools/bin/ccÀÇ symlink¸¦ ¸¸µé°ÍÀÔ´Ï´Ù. ¸¹Àº ÇÁ·Î±×·¥µé°ú ½ºÅ©¸³Æ®µéÀº gcc ´ë½Å¿¡ cc¸¦ ÀÌ¿ëÇÕ´Ï´Ù. ÀÌ°ÍÀº ÇÁ·Î±×·¥ÀÇ ¼Ó¼ºÀ» À¯ÁöÇÏ°Ô ÇÏ°í, ¸ðµç Á¾·ùÀÇ À¯´Ð½º ½Ã½ºÅÛ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁÝ´Ï´Ù. ¸ðµç Á¾·ùÀÇ À¯´Ð½º ½Ã½ºÅÛ¿¡ GNU C ÄÄÆÄÀÏ·¯°¡ ¼³Ä¡µÇ¾î ÀÖ´Â°Ç ¾Æ´Õ´Ï´Ù. ÀÌ·¸°Ô Çϸé, ½Ã½ºÅÛ¿¡ ¾î¶² Á¾·ùÀÇ C ÄÄÆÄÀÏ·¯°¡ ¼³Ä¡µÇ¾î ÀÖ´ø°£¿¡ ÀÏÀÏÈ÷ °ü¸®ÀÚ ½Å°æ½áÁÙ ÇÊ¿ä°¡ ¾ø±â ¶§¹®¿¡ ÆíÇÕ´Ï´Ù. ½Éº¼¸¯ ¸µÅ©ÀÇ ÀåÁ¡ÀÌ ¹Ù·Î ÀÌ·± °ÍÀÔ´Ï´Ù. {{{ cd /tools/bin ln -s gcc /tools/bin/cc }}} {{{ ln -vs libgcc.a `$LFS_TGT-gcc -print-libgcc-file-name | sed 's/libgcc/&_eh/'` }}} --disable-shared¸¦ »ç¿ëÇϴ°ÍÀº libgcc_eh.a ÆÄÀÏÀ» »ý¼º, ¼³Ä¡ÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. Glibc ÆÐÅ°Áö´Â -lgcc_eh¸¦ ºôµå½Ã¿¡ »ç¿ëÇÏ°Ô µÇ¸é libgcc_eh.a¿¡ ÀÇÁ¸ÇÏ°Ô µË´Ï´Ù. ÀÌ ÀÇÁ¸¼ºÀº À§¿Í °°ÀÌ ½Éº¼¸¯¸µÅ©·Ñ ¸¸µé¾î ÁÜÀ¸·Î½á ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù. == Linux-3.5.2 API Çì´õµé ¼³Ä¡ == Approximate build time: 0.1 SBU Required disk space: 511 MB ¼³¸í: Linux API Headers(ÆÄÀÏ linux-3.5.2.tar.xz)µéÀº Glibc¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù. == Linux API Headers ¼³Ä¡ == ¸®´ª½º Ä¿³ÎÀº ½Ã½ºÅÛÀÇ C ¶óÀ̺귯¸® »ç¿ëÀ» À§ÇØ Application Programming Interface(API)¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ°ÍÀº Linux kernel tarball ³»¿¡ ÀÖ´Â C Çì´õÆÄÀϵéÀ» »ç¿ë°¡´ÉÇϵµ·Ï ¸¸µé¾î¼­ ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ, ÀÌÁ¦ ¿ì¸° Ä¿³ÎÀÇ ¾ÐÃàÀ» Ç®°í, ¼³Ä¡ÇÏ°í, ÇÊ¿äÇÑ ÆÄÀϵéÀ» gcc°¡ ÂüÁ¶ÇÒ À§Ä¡¿¡ º¹»çÇÒ°Ì´Ï´Ù. Çì´õÆÄÀÏ ¼³Ä¡ ÁغñÇϱâ {{{ make mrproper }}} make mrproper¸¦ ½ÇÇàÇÔÀ¸·Î½á Ä¿³ÎÆ®¸®¿¡ ÀÖ´Â ºÒÇÊ¿äÇÑ °ÍµéÀÌ Á¦°ÅµÇ¾ú½À´Ï´Ù. ¸®´ª½º Ä¿³ÎÆÀ¿¡¼­´Â ´Ù¸¥ ¿©·¯ Á¾·ùÀÇ Ä¿³Î ÄÄÆÄÀÏÀü¿¡ make mrproperÀ» ½ÇÇàÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. ÀÌÁ¦ »ç¿ëÀÚ°¡ º¼ ¼ö ÀÖ´Â Ä¿³ÎÇì´õÆÄÀÏÀÌ ÃßÃâÇÕ´Ï´Ù. {{{ make headers_check make INSTALL_HDR_PATH=dest headers_install cp -rv dest/include/* /tools/include }}} == Glibc-2.16.0 ¼³Ä¡ == Approximate build time: 5.4 SBU Required disk space: 554 MB Glibc (2.16.0)°ø½Ä ´Ù¿î·Îµå »çÀÌÆ® : ftp://ftp.gnu.org/gnu/glibc/ -- ¹Ì·¯ »çÀÌÆ®µé : ftp://gaosu.rave.org/pub/linux/lfs/packages/conglomeration/glibc-2.3.3-20031202.tar.bz2 http://lfs.mirror.intermedia.com.sg/packages/glibc/glibc-2.3.3-20031202.tar.bz2 ftp://lfs.mirror.intermedia.com.sg/pub/lfs/glibc/glibc-2.3.3-20031202.tar.bz2 http://dl.lfs.fredan.org/glibc-2.3.3-20031202.tar.bz2 http://packages.lfs-es.org/glibc-2.3.3-20031202.tar.bz2 http://mirror.averse.net/lfs-packages/glibc-2.3.3-20031202.tar.bz2 ftp://mirror.averse.net/pub/lfs-packages/glibc-2.3.3-20031202.tar.bz2 ftp://ftp.lfs-matrix.de/lfs/packages/conglomeration/glibc-2.3.3-20031202.tar.bz2 -- Glibc¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Gettext, Grep, Make, Perl, Sed, Texinfo. ¼³¸í: Glibc ÆÐÅ°Áö´Â ÁÖ¿ä C ¶óÀ̺귯¸®¸¦ Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ ¶óÀ̺귯¸®µéÀº ¸Þ¸ð¸®ÇÒ´çÀ̳ª µð·ºÅ丮 °Ë»ö, ÆÄÀÏ¿¡ ´ëÇÑ ¿­±â¿Í ´Ý±â, Àбâ/¾²±â, ¹®ÀÚ¿­ Çڵ鸵, ÆÐÅÏ ¸ÅĪ, »ê¼ú¿¬»ê µî¿¡ ´ëÇÑ ±âº»ÀûÀÎ ¹æ¹ýµéÀ» Á¦°øÇÕ´Ï´Ù. === Glibc ¼³Ä¡ === -- ±âº» ÃÖÀûÈ­ Ç÷¡±×(including the -march and -mcpu options)µéÀ» º¯°æÇϴ°ÍÀº ±×¸® ÁÁÁö ½À°üÀÌ ¾Æ´Õ´Ï´Ù. ±×·¯¹Ç·Î ¸¸¾à¿¡ CFLAGS³ª CXXFLAG °°Àº ÀÌ¹Ì ÃÖÀûÈ­ µÇ¾îÀִ ȯ°æº¯¼öµéÀ» º¯°æÇßÀ» °æ¿ì¿¡´Â Glibc¸¦ ¼³Ä¡ÇÒ ¶§ ¿ø»óº¹±Í ½ÃÄÑÁÖ¼¼¿ä. ±âº»ÀûÀ¸·Î, Glibc¸¦ Ã¥¿¡¼­ Á¦½ÃÇϴ°ÍÀÌ ¾Æ´Ñ ´Ù¸¥ ¹æ¹ýÀ¸·Î ÄÄÆÄÀÏÇϴ°ÍÀº »ç¿ëÀÚÀÇ ½Ã½ºÅÛÀÇ ¾ÈÁ¤¼ºÀ» ÇØÄ¥ ¼ö ÀÖ½À´Ï´Ù. -- LFS 7.1¿¡¼­ rpc Çì´õÆÄÀÏÀÌ Á¤»óÀûÀ¸·Î ¼³Ä¡µÇÁö ¾Ê´Â °æ¿ì°¡ ÀÖ¾ú½À´Ï´Ù. ¿©·¯ºÐÀÇ È£½ºÆ® ½Ã½ºÅÛ¿¡ Á¦´ë·Î ¼³Ä¡µÇ¾î ÀÖ´ÂÁö È®ÀÎÇÏ°í ¸¸¾à ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê´Ù¸é ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇϽʽÿÀ: {{{ if [ ! -r /usr/include/rpc/types.h ]; then su -c 'mkdir -p /usr/include/rpc' su -c 'cp -v sunrpc/rpc/*.h /usr/include/rpc' fi }}} GCC-4.7.1·Î Glibc-2.16.0À» ºôµåÇÒ ¶§ »ý±â´Â ¹ö±×¸¦ ÇȽºÇÕ´Ï´Ù: {{{ sed -i 's/ -lgcc_s//' Makeconfig }}} Glibc¹®¼­´Â Àü¿ëµð·ºÅ丮¾È¿¡ ¼Ò½ºµð·ºÅ丮 ¹Û¿¡¼­ Glibc¸¦ ºôµåÇϴ°ÍÀ» ÃßõÇÕ´Ï´Ù: {{{ mkdir -v ../glibc-build cd ../glibc-build }}} Glibc ÄÄÆÄÀÏ Áغñ: {{{ ../glibc-2.16.0/configure \ --prefix=/tools \ --host=$LFS_TGT \ --build=$(../glibc-2.16.0/scripts/config.guess) \ --disable-profile \ --enable-add-ons \ --enable-kernel=2.6.25 \ --with-headers=/tools/include \ libc_cv_forced_unwind=yes \ libc_cv_ctors_header=yes \ libc_cv_c_cleanup=yes }}} '''¿©±â¼­ Àá±ñ.''' Glibc¸¦ ÄÄÆÄÀÏ ÇÒ ¶§´Â Àý´ë! GlibcÀÇ ¾ÐÃàÀ» Ç®¾î ³õÀº µð·ºÅ丮¿¡¼­ ÇÏ¸é ¾È µË´Ï´Ù. À§¿¡¼­µµ º¸¸é ¾Ë°ÚÁö¸¸, ¾ÐÃàÀ» Ç®¾î ³õÀº µð·ºÅ丮°¡ ¾Æ´Ï¶ó »óÀ§ µð·ºÅ丮¿¡¼­ ÀÛ¾÷À» ÇÏ°í ÀÖÀ½À» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à ¾ÐÃàÀ» Ç®¾î ³õÀº µð·ºÅ丮¿¡¼­ ÀÛ¾÷À» ÇÏ°Ô µÇ¸é ÀÏ´Ü, Configure¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇÏ°í ¾ïÁö·Î ÄÄÆÄÀÏÀ» ÇÑ´Ù°í Çصµ ÄÄÆÄÀÏ µµÁß ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù. ¼³Á¤ ¿É¼ÇÀÇ ÀǹÌ: * --host=LFS_TGT, --build=$(../glibc-2.16.0/scripts/config.guess): ÀÌ µÎ°¡Áö ½ºÀ§Ä¡¸¦ ÇÔ²² »ç¿ëÇϸé GlibcÀÇ ºôµå ½Ã½ºÅÛÀº /tools ¾È¿¡ ÀÖ´Â Å©·Î½º ÄÄÆÄÀÏ·¯¿Í Å©·Î½º ¸µÄ¿¸¦ »ç¿ëÇÏ¿© Å©·Î½º ÄÄÆÄÀÏÀ» ÇÏ°Ô µË´Ï´Ù. * --disable-profile: ÇÁ·ÎÆÄÀÏ Á¤º¸ ¶óÀ̺귯¸®µéÀÇ ºôµùÀ» ºñÈ°¼ºÈ­ÇÕ´Ï´Ù. ´ç½ÅÀÌ ÇÁ·ÎÆÄÀÏÀ» ¸¸µé °èȹÀ̶ó¸é ÀÌ ¿É¼ÇÀ» »©¼¼¿ä. * --enable-add-ons=linuxthreads: threading¶óÀ̺귯¸®Ã³·³ Linuxthreads add-onÀ» »ç¿ëÀ» ÇÑ´Ù°í Glibc¿¡°Ô ¾Ë·ÁÁÝ´Ï´Ù. * --enable-kernel=2.6.25: Glibc¿¡ ÄÄÆÄÀÏÇÏ´Â ¶óÀ̺귯¸®´Â Ä¿³Î 2.6.25À̰ųª À̺¸´Ù ÃֽŠ¹öÀüÀ» Áö¿øÇÕ´Ï´Ù. ¸¸¾à À̺¸´Ù ¿À·¡µÈ Ä¿³Î¹öÀüÀΰæ¿ì´Â ÄÄÆÄÀÏÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù. * --with-headers=/tools/include: Glibc¿¡°Ô Ä¿³Î Çì´õÆÄÀÏÀ» ¼³Ä¡ÇÑ µð·ºÅ丮 °æ·Î¸¦ ¸»ÇØÁÝ´Ï´Ù. * libc_cv_forced_unwind=yes: Binutils-2.22¿¡¼­ Å©·Î½ºÄÄÆÄÀϵǾú´ø ¸µÄ¿´Â Glibc°¡ ¼³Ä¡µÇ±â Àü±îÁö´Â »ç¿ëÇÒ ¼ö°¡ ¾ø½À´Ï´Ù. À̶§¹®¿¡ configure Å×½ºÆ®¿¡¼­ force-unwind support Å×½ºÆ®°úÁ¤¿¡¼­ configure failÀÌ ÀϾ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¿É¼ÇÀº fore-unwind support¸¦ Å×½ºÆ® ÇÏÁö ¾Ê°í ³Ñ¾î°¡µµ·Ï ÇØÁÝ´Ï´Ù. * libc_cv_c_cleanup=yes: À§¿Í °°Àº ÀÌÀ¯·Î configure script°¡ C cleanup handling support¸¦ Å×½ºÆ®ÇÏÁö ¾Ê°í ³Ñ¾î°¡µµ·Ï ÇØÁÝ´Ï´Ù. * libc_cv_ctors_header=yes: À§¿Í °°Àº ÀÌÀ¯·Î configure script°¡ gcc constructor support¸¦ Å×½ºÆ®ÇÏÁö ¾Ê°í ³Ñ¾î°¡µµ·Ï ÇØÁÝ´Ï´Ù. * --with-binutils=/tools/bin and --with-headers=/tools/include: ÀÌ ºÎºÐÀº Àý´ë °Çµå¸®Áö ¸»°í ±×´ë·Î Çϼ¼¿ä. ÀÌ ºÎºÐÀ» °Çµå¸®¸é ÄÄÆÄÀÏ ÀÚü°¡ ¾È µÇ°Å³ª µÈ´Ù ÇÏ´õ¶óµµ ³ªÁß¿¡ 100% ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù. configure µµÁß ´ÙÀ½°ú °°Àº °æ°í ¸Þ¼¼Áö°¡ ¹ß»ýÇÒ ¼öµµ ÀÖ½À´Ï´Ù: {{{ configure: WARNING: *** These auxiliary programs are missing or incompatible versions: msgfmt *** some features will be disabled. *** Check the INSTALL file for required versions. }}} ÀÒ¾î¹ö¸®°Å³ª ȣȯ¼ºÀÌ ¾ø´Â msgfmtÇÁ·Î±×·¥Àº ÀϹÝÀûÀ¸·Î ÇÊ¿ä ¾ø½À´Ï´Ù, ÇÏÁö¸¸ °¡²û test suite¸¦ ½ÇÇàÇÒ¶§ ¹®Á¦¸¦ ÀÏÀ¸Åµ´Ï´Ù. ÆÐÅ°Áö ÄÄÆÄÀÏ: {{{ make }}} ÀÌ ÆÐÅ°Áö´Â test suite¿Í °°ÀÌ Á¦°øµÇÁö¸¸ ¾ÆÁ÷ C++ ÄÄÆÄÀÏ·¯¸¦ °¡Áö°í ÀÖÁö ¾Ê±â ¶§¹®¿¡ ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù. '''Note''' test suite¸¦ ¼º°øÀûÀ¸·Î ½ÇÇàÇϱâ À§Çؼ­´Â locale µ¥ÀÌÅÍ°¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. Locale data´Â ³¯Â¥, ½Ã°£, ÇöÀç ½Ã½ºÅÛ À¯Æ¿¸®Æ¼¿¡ ÀÇÇØ Ãâ·ÂµÇ°Å³ª ¼ö¿ëµÇ´Â µ¥ÀÌÅÍ Æ÷¸Ëµé¿¡ ´ëÇÑ Á¤º¸¸¦ °®°í ÀÖ½À´Ï´Ù. ÇöÀç test suite¸¦ ½ÇÇàÇÒ ¼ö ¾ø´Â ÀÌÀ¯´Â ¾ÆÁ÷ ÇÊ¿äÇÑ ·ÎÄÉÀÏÀ» ¼³Ä¡ÇÏÁö ¾Ê¾Ò±â ¶§¹®ÀÔ´Ï´Ù. Àû´çÇÑ ·ÎÄÉÀÏ ¼³Ä¡´Â ´ÙÀ½ Àå¿¡¼­ ÇÒ °Ì´Ï´Ù. ±×·¡µµ Glibc ·ÎÄÉÀÏÀ» ¼³Ä¡ÇÏ°í ½ÍÀ¸½Ã¸é ´ÙÀ½Àå¿¡ ÀÖ´Â Glibc-2.16.0 ºÎºÐÀ» »ìÆ캸¼¼¿ä {{{ make install }}} '''°æ°í''' »õ·Î¿î toolchainÀÇ ±âº»±â´É(compiling and linking)À» ¼³Ä¡ÇÏ°í Áö¿ì´Â °ÍÀÌ Áß¿äÇÑ ÀÏÀÔ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ °£´ÜÇÑ ÇÁ·Î±×·¥À» Â¥¼­ Á¦´ë·Î ¼³Ä¡µÇ¾ú´ÂÁö¸¦ È®ÀÎÇØ º¾½Ã´Ù. {{{ echo 'main(){}' > dummy.c cc dummy.c readelf -l a.out | grep ': /tools' }}} Áö±Ý±îÁö ¸ðµç ÀÛ¾÷À» Àß µû¶ó Çß´Ù¸é ¿¡·¯´Â ¾øÀ» °ÍÀÌ°í, ´ÙÀ½°ú ¸Þ¼¼Áö¸¦ º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. [ Requesting program interpreter: /tools/lib/ld-linux.so.2 ] (´ÙÀ̳ª¹Í ¸µÄ¿ À̸§¿¡ Ç÷§ÆûÀÇ Æ¯Â¡ÀÌ ³ªÅ¸³ª ÀÖ½À´Ï´Ù.) ´ÙÀ̳ª¹Í ¸µÄ¿¸¦ ¼³Ä¡ÇÒ ¶§ ¼³Ä¡°æ·Î·Î½á /tools/lib ¸¦ ¼³Á¤ÇØ Áà¾ß ÇÕ´Ï´Ù.(prefix = /tools/lib) À§¿Í °°Àº ¸Þ¼¼Áö°¡ Ãâ·ÂµÇÁö ¾Ê°Å³ª, ¾Æ¹«·± ¸Þ¼¼Áö°¡ ¾ø´Ù¸é ¾î¶² °ÍÀÌ ½É°¢ÇÏ°Ô À߸øµÈ °ÍÀÔ´Ï´Ù. ¼³Ä¡°úÁ¤Áß¿¡ ¾îµð¿¡¼­ ¹®Á¦°¡ ¹ß»ýÇß´ÂÁö ¾Ë¾Æº¸°í Á¶»çÇϴ°ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¼³Ä¡°úÁ¤ÀÌ ¿ÏÀüÈ÷ Á¾·áµÇ±â Àü±îÁö´Â À§¿Í °°Àº »óȲÀÌ ¹ß»ýÇصµ ÀÏÀÏÀÌ ¹ÝÀÀÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ù°, cc ´ë½Å¿¡ gcc¸¦ »ç¿ëÇؼ­ sanity check¸¦ ¹Ýº¹Çؼ­ ÇÑ´Ù. À§¿Í °°Àº ÀÛ¾÷Àº /tools/bin/ccÀÇ symlink°¡ À߸ø µÇ¾îÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. GCC-3.3.2 - Pass 1 ÀνºÅç ¿¡ ´Ù½Ã °¡¼­(ÂüÁ¶Çؼ­) symlink¸¦ ¼öÁ¤ÇØ ÁÖ¼¼¿ä. µÎ¹ø°, $PATH ȯ°æº¯¼ö°¡ Á¦´ë·Î ÁöÁ¤µÇ¾ú´ÂÁö È®ÀÎÇÏÀÚ. $PATH ȯ°æº¯¼ö°¡ Á¦´ë·Î ÁöÁ¤µÇ¾ú´ÂÁö È®ÀÎÇϱâ À§Çؼ­ echo $PATH ¸¦ ÀÔ·ÂÇغ¸ÀÚ. echo $PATH¸¦ ÀÔ·ÂÇßÀ»¶§ ³ª¿À´Â ¸®½ºÆ®¿¡ /tools/bin°¡ ÀÖÀ¸¸é Á¦´ë·Î ÁöÁ¤µÇ¾ú´Ù°í º¼ ¼ö ÀÖ´Ù. ¸¸¾à $PATHȯ°æº¯¼ö°¡ À߸øµÇ¾ú´Ù¸é lfs»ç¿ëÀÚ·Î ·Î±×ÀÎÀ» ÇÏÁö ¾Ê¾Ò°Å³ª ȯ°æ¼³Á¤Çϱâ Àå¿¡¼­ ¹«¾ð°¡ ½Ç¼ö¸¦ Çß´Ù´Â ÀǹÌÀÌ´Ù. ¼¼¹ø°, ¼³Á¤ÆÄÀÏÀ» º¯°æÇÏ°í ³ª¼­ ¹«¾ù°¡ ¹®Á¦°¡ »ý±æ ¶§µµ ÀÖ´Ù. ±×·±°æ¿ì¿¡´Â Áö³­¹ø¿¡ ÃßõÇÑ°Íó·³ cut-and-paste(¿øº»¿¡¼­ °®´ÙºÙÀ̱â)¸¦ ÀÌ¿ëÇؼ­ ¼³Á¤ÆÄÀÏÀ» ´Ù½Ã ¸¸µé¾î¶ó. ¸ðµç ÀÛ¾÷ÀÌ ¸¸Á·½º·´°Ô ³¡³µ´Ù¸é, test filesÀ» Áö¿ì¼¼¿ä. {{{ rm dummy.c a.out }}} ---- ÀÚ, self-contained toolchainÀÇ ¼³Ä¡°¡ ¿Ïº®ÇÏ°Ô ³¡³µ°í, À̰͵éÀº ³ª¸ÓÁö Àӽõµ±¸µéÀ» build Çϴµ¥ »ç¿ëµÉ °ÍÀÔ´Ï´Ù. == Binutils-2.22 - Pass 2 == ºôµå ½Ã°£: 1.1 SBU ÇÊ¿ä ¿ë·®: 407 MB === Bintuils ¼³Ä¡Çϱâ === ÄÄÆÄÀÏ·¯ ÃÖÀûÈ­½Ã¿¡ ºôµå ½ÇÆи¦ ¸·±â À§ÇØ ´ÙÀ½°ú °°ÀÌ ÆÐÄ¡¸¦ Àû¿ëÇÕ´Ï´Ù. {{{ patch -Np1 -i ../binutils-2.22-build_fix-1.patch }}} ¼Ò½º µð·ºÅ丮 ¹Û¿¡¼­ »õ·Î¿î ºôµå µð·ºÅ丮¸¦ ¸¸µì´Ï´Ù. {{{ mkdir -v ../binutils-build cd ../binutils-build }}} Bintuils ÄÄÆÄÀÏÀ» ÁغñÇÕ´Ï´Ù: {{{ CC=$LFS_TGT-gcc \ AR=$LFS_TGT-ar \ RANLIB=$LFS_TGT-ranlib \ ../binutils-2.22/configure \ --prefix=/tools \ --disable-nls \ --with-lib-path=/tools/lib }}} »õ·Î¿î configure ¿É¼Çµé: * CC=$LFS_TGT-gcc AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib: È£½ºÆ® ½Ã½ºÅÛ¿¡ ÀÖ´Â ÄÄÆÄÀÏ·¯ ´ë½Å Å©·Î½º ÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇϵµ·Ï ÀÌ·± º¯¼öµéÀ» È®½ÇÇÏ°Ô Á¤ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù. * --with-lib-path=/tools/lib: ÀÌ°ÍÀº configure ½ºÅ©¸³Æ®°¡ ¶óÀ̺귯¸® °Ë»ö °æ·Î·Î host½Ã½ºÅÛÀ» »ç¿ëÇÏÁö ¾Ê°í /tools/libÀ» Ž»öÇϵµ·Ï ÇÕ´Ï´Ù. ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇÕ´Ï´Ù: {{{ make }}} ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÕ´Ï´Ù: {{{ make install }}} ÀÌÁ¦ ´ÙÀ½ÀåÀÇ "Re-adjusting" ºÎºÐÀ» À§ÇÑ ¸µÄ¿¸¦ ¹Ì¸® ÁغñÇصӴϴÙ. {{{ make -C ld clean make -C ld LIB_PATH=/usr/lib:/lib cp -v ld/ld-new /tools/bin }}} ÆĶó¹ÌÅÍ ¼³¸í: * -C ld clean: make ÇÁ·Î±×·¥¿¡°Ô "ld"¶ó´Â ÇÏÀ§ µð·ºÅ丮³»¿¡ ÄÄÆÄÀÏµÈ ¸ðµç ÆÄÀÏÀ» Áö¿ì¶ó°í ¸»ÇÕ´Ï´Ù. * -C ld LIB_PATH=/usr/lib:/lib: ÀÌ ¿É¼ÇÀº ld ÇÏÀ§ µð·ºÅ丮 ³»¿¡ ÀÖ´Â ¸ðµç °ÍµéÀ» ´Ù½Ã ºôµåÇ϶ó´Â °ÍÀÔ´Ï´Ù. LIB_PATH¶ó´Â Makefile º¯¼ö¸¦ ÁöÁ¤Çؼ­ Àӽà ÅøÀ» ¼³Ä¡Çϱâ À§ÇØ º¯°æÇß´ø ¶óÀ̺귯¸® °æ·Î¸¦ ´Ù½Ã ¿ø·¡ÀÇ µðÆúÆ®°ªÀ¸·Î µÇµ¹·Á³õ½À´Ï´Ù. ÀÌ·¯ÇÑ Áغñ´Â ´ÙÀ½ ÀåÀ» À§ÇØ ÇÊ¿äÇÑ °úÁ¤ÀÔ´Ï´Ù. == GCC-4.7.1 - Pass 2 == ¿¹»ó ½Ã°£: 7.1 SBU ÇÊ¿ä ¿ë·®: 1.8 GB === GCC ¼³Ä¡Çϱâ === ¿ì¸®°¡ óÀ½ ºôµåÇß´ø GCC¿¡´Â ³»ºÎ ½Ã½ºÅÛ Çì´õµéÀÌ ¸î°³¹Û¿¡ ¾ø¾ú½À´Ï´Ù. ±×µé Áß ÇϳªÀÎ limits.h´Â ½Ã½ºÅÛ limits.h(/tools/include/limits.h) Çì´õ ¾È¿¡ ¸í½ÃµÇ¾î ÀÖ´Â °ÍµéÀ» ¼ø¼­´ë·Î include ÇÕ´Ï´Ù. ÇÏÁö¸¸ gcc°¡ óÀ½ ºôµåµÉ ´ç½Ã¿¡´Â /tools/include/limits.h¶ó´Â ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê¾Ò°í µû¶ó¼­ GCC°¡ ¼³Ä¡µÇ¾ú´Ù°í Çصµ ÇØ´ç Çì´õÆÄÀϵéÀº includeµÇÁö ¸øÇÏ°í ºÎºÐÀûÀ¸·Î¸¸ ¼³Ä¡µÉ ¼ö¹Û¿¡ ¾ø¾ú½À´Ï´Ù. ÀÌ°ÍÀº ÀÓ½ÃÀûÀÎ libc¸¦ ºôµåÇϴµ¥´Â ÀûÇÕÇÏÁö¸¸ GCC¸¦ ºôµåÇϱ⿡´Â Çì´õÆÄÀÏÀÌ ºÎÁ·ÇÒ ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù. ¿ÏÀüÇÑ ¹öÀüÀÇ ³»ºÎ Çì´õÆÄÀϵéÀ» °®±â À§Çؼ­´Â ´ÙÀ½°ú °°ÀÌ ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù: {{{ cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \ `dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/include-fixed/limits.h }}} x86 ½Ã½ºÅÛ¿¡¼­´Â GCCÀÇ bootstrap ºôµå´Â -fomit-frame-pointer¶ó´Â ÄÄÆÄÀÏ·¯ Ç÷¡±×¸¦ »ç¿ëÇÕ´Ï´Ù. bootstrapÀÌ ¾ø´Â ºôµå¿¡¼­´Â »ý·«µÇ´Â°Ô ±âº»ÀÌÁö¸¸ bootstrapÀÌ ÀÖ´Ù´Â °¡Á¤ÇÏ¿¡ ÄÄÆÄÀÏ·¯¸¦ ¸¸µé¾î³»´Â°Ô ¸ñÇ¥À̱⠶§¹®¿¡ ´ÙÀ½°ú °°ÀÌ '''sed'''¸í·ÉÀ¸·Î Ç÷¡±×¸¦ »ç¿ëÇϵµ·Ï ÇÏ°Ú½À´Ï´Ù: {{{ cp -v gcc/Makefile.in{,.tmp} sed 's/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in.tmp \ > gcc/Makefile.in }}} ´Ù½ÃÇѹø /tools¿¡ ¼³Ä¡µÈ ¸µÄ¿¸¦ »ç¿ëÇϵµ·Ï GCCÀÇ ±âº» µ¿Àû ¸µÄ¿ÀÇ À§Ä¡¸¦ º¯°æÇØÁÝ´Ï´Ù: {{{ for file in \ $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h) do cp -uv $file{,.orig} sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \ -e 's@/usr@/tools@g' $file.orig > $file echo ' #undef STANDARD_STARTFILE_PREFIX_1 #undef STANDARD_STARTFILE_PREFIX_2 #define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/" #define STANDARD_STARTFILE_PREFIX_2 ""' >> $file touch $file.orig done }}} óÀ½ GCC¸¦ ºôµåÇßÀ»¶§¿Í ¸¶Âù°¡Áö·Î GMP, MPFR, MPC ÆÐÅ°Áö°¡ ÇÊ¿äÇÕ´Ï´Ù. °¢°¢ÀÇ tarballÀ» Ç®°í ºôµå¿¡ ÇÊ¿äÇÑ À̸§À¸·Î ¹Ù²ß´Ï´Ù: {{{ tar -Jxf ../mpfr-3.1.1.tar.xz mv -v mpfr-3.1.1 mpfr tar -Jxf ../gmp-5.0.5.tar.xz mv -v gmp-5.0.5 gmp tar -zxf ../mpc-1.0.tar.gz mv -v mpc-1.0 mpc }}} ¼Ò½º µð·ºÅ丮¿Í ºÐ¸®µÈ ºôµå µð·ºÅ丮¸¦ ¸¸µé¾îÁÝ´Ï´Ù: {{{ mkdir -v ../gcc-build cd ../gcc-build }}} ¹Ýµå½Ã GCC¸¦ ºôµåÇϱâ Àü¿¡ ÃÖÀûÈ­¿¡ °ü·ÃµÈ Ç÷¡±× ¼³Á¤Çß´ø °ÍÀ» È®ÀÎÇÏ°í ¼³Á¤µÇ¾î ÀÖ´Ù¸é ´Ù½Ã unsetÇØÁֽʽÿÀ. ÀÌÁ¦ GCC ÄÄÆÄÀÏÀ» ÁغñÇÕ´Ï´Ù: {{{ CC=$LFS_TGT-gcc \ AR=$LFS_TGT-ar \ RANLIB=$LFS_TGT-ranlib \ ../gcc-4.7.1/configure \ --prefix=/tools \ --with-local-prefix=/tools \ --with-native-system-header-dir=/tools/include \ --enable-clocale=gnu \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-languages=c,c++ \ --disable-libstdcxx-pch \ --disable-multilib \ --disable-bootstrap \ --disable-libgomp \ --with-mpfr-include=$(pwd)/../gcc-4.7.1/mpfr/src \ --with-mpfr-lib=$(pwd)/mpfr/src/.libs }}} °¢°¢ÀÇ ÄÄÆÄÀÏ ¿É¼Ç¿¡ ´ëÇÑ ¼³¸íÀÔ´Ï´Ù: '''--enable-clocale=gnu''' ÀÌ ¿É¼ÇÀº ¸ðµç ½Ã½ºÅÛȯ°æ¿¡¼­ C++ ¶óÀ̺귯¸®¸¦ À§ÇØ ¿Ã¹Ù¸¥ locale ¸ðµ¨ÀÌ ¼±Åõǵµ·Ï ÇØÁÝ´Ï´Ù. ¸¸¾à configure ½ºÅ©¸³Æ®°¡ de_DE ·ÎÄÉÀÏÀÌ ¼³Ä¡µÈ °ÍÀ» ¹ß°ßÇß´Ù¸é ¿Ã¹Ù¸¥ GNU ·ÎÄÉÀÏ ¸ðµ¨À» ¼±ÅÃÇÒ °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ ¸¸¾à de_DE ·ÎÄÉÀÏÀÌ ¼³Ä¡µÇÁö ¾ÊÀº »óŶó¸é ÀÏ¹Ý ·ÎÄÉÀÏ ¸ðµ¨ÀÌ ¼±ÅõǾî ȣȯÀÌ ¾ÈµÇ´Â C++ ¶óÀ̺귯¸®·Î Application Binary Interface(ABI)°¡ ¼³Ä¡µÉ À§ÇèÀÌ ÀÖ½À´Ï´Ù. '''--enable-threads=posix''' ¸ÖƼ¾²·¹µå Äڵ忡 ´ëÇÑ C++ ¿¹¿Ü 󸮸¦ °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù. '''--enable-__cxa_atexit''' ÀÌ ¿É¼ÇÀº C++ µð½ºÆ®·°ÅÍ(Æı«ÀÚ)¸¦ Áö¿ª staticÀ̳ª Àü¿ª ¿ÀºêÁ§Æ®·Î µî·ÏÇÒ ¶§¿¡ atexitº¸´Ù __cxa_atexit¸¦ »ç¿ëÇϵµ·Ï ¸¸µé¾îÁÝ´Ï´Ù. µð½ºÆ®·°ÅÍ¿¡ ´ëÇØ Ç¥ÁØ-ȣȯ°¡´ÉÇÑ Çڵ鷯¸¦ À§Çؼ­ ¹Ýµå½Ã ÇÊ¿äÇÑ ¿É¼ÇÀÔ´Ï´Ù. ¶ÇÇÑ ÀÌ°ÍÀº C++ ABI, C++ °øÀ¯ ¶óÀ̺귯¸®, C++ ÇÁ·Î±×·¥ µî¿¡ ¿µÇâÀ» ³¢Ä¨´Ï´Ù. '''enable-languages=c,c++''' ÀÌ ¿É¼ÇÀº C¿Í C++ ÄÄÆÄÀÏ·¯°¡ ºôµåµÇµµ·Ï ÇÕ´Ï´Ù. '''disable-libstdcxx-pch''' Àý´ë·Î libstdc++¸¦ ºôµåÇϴµ¥ pre-compiled header(PCH)¸¦ ºôµåÇÏÁö ¸¶½Ê½Ã¿À. ¿ë·®µµ Ŭ »Ó´õ·¯ ¿ì¸®´Â ÀÌ°ÍÀ» »ç¿ëÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. '''--disable-bootstrap''' ¿ø·¡ GCC ºôµå´Â "bootstrap" ºôµå¸¦ ±âº»À¸·Î ÇÕ´Ï´Ù. ÀÌ°ÍÀº Çѹø GCC¸¦ ºôµåÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ¿©·¯¹ø ºôµå¸¦ ÇÕ´Ï´Ù. ÀÌ´Â °áÇÔ¾øÀÌ ÄÄÆÄÀÏÇϱâ À§ÇÔÀε¥ LFS ºôµå¹ã¹ý´Â ¸Å¹ø bootstrapÀÌ ÇÊ¿äÇÏÁö ¾Ê´Â solid ÄÄÆÄÀÏ·¯¸¦ Á¦°øÇؾßÇϱ⠶§¹®¿¡ ÀÌ ¿É¼ÇÀ» »ç¿ëÇÕ´Ï´Ù. ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇÕ´Ï´Ù: {{{ make }}} ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÕ´Ï´Ù. {{{ make install }}} ¸¶Áö¸·À¸·Î symlink¸¦ »ý¼ºÇÕ´Ï´Ù. ¸¹Àº ÇÁ·Î±×·¥ÀÌ '''gcc'''´ë½Å '''cc'''¸¦ »ç¿ëÇÕ´Ï´Ù. ¸ðµç UNIX ½Ã½ºÅÛ¿¡¼­ GCC°¡ ¼³Ä¡µÈ °ÍÀÌ ¾Æ´Ï±â ¶§¹®¿¡ º¸Åë ½ºÅ©¸³Æ®³ª ÇÁ·Î±×·¥¿¡¼­´Â '''cc'''¸¦ ÀϹÝÀûÀ¸·Î »ç¿ëÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ gcc¸¦ '''cc'''·Î »ç¿ëÇϵµ·Ï ¸µÅ©¸¦ °É¾îÁÝ´Ï´Ù. {{{ ln -sv gcc /tools/bin/cc }}} == Tcl-8.5.12 == Tcl ÆÐÅ°Áö´Â Tool Command Language¸¦ Æ÷ÇÔÇÕ´Ï´Ù. ºôµå ½Ã°£: 0.4 SBU ÇÊ¿ä ¿ë·®: 33 MB === Tcl ¼³Ä¡Çϱâ === ÀÌ ÆÐÅ°Áö´Â ÀÌ ´ÙÀ½¿¡ ¼³Ä¡µÉ Expect, DejaGNU, Check°ú ÇÔ²² test suite¸¦ ½ÇÇàÇϴµ¥ ÇÊ¿äÇÕ´Ï´Ù. Tcl ÄÄÆÄÀÏÀ» ÁغñÇÕ´Ï´Ù {{{ cd unix ./configure --prefix=/tools }}} ÆÐÅ°Áö¸¦ ºôµåÇÕ´Ï´Ù {{{ make }}} ÀÌÁ¦ ÄÄÆÄÀÏÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù. test suite´Â Àӽà ÅøµéÀ» ºôµåÇÏ´Â ÀÌ Àå¿¡¼­´Â ¹Ýµå½Ã ½ÇÇàÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ÇÏÁö¸¸ ±×·¡µµ test suite¸¦ ½ÇÇàÇØ¾ß°Ú´Ù¸é ´ÙÀ½°ú °°ÀÌ ÇϽʽÿÀ: {{{ TZ=UTC make test }}} Tcl test suite´Â ¾Æ¸¶µµ È£½ºÆ® Á¶°ÇÀÌ ÃæºÐÇÏÁö ¾Ê¾Æ ½ÇÆÐÇÒ °ÍÀÔ´Ï´Ù. ¿©±â¼­ test suite¸¦ ½ÇÆÐÇصµ ³î¶ö ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ''TZ=UTC''¶ó´Â ÆĶó¹ÌÅʹ ŸÀÓÁ¸À» test suite°¡ ½ÇÇàµÇ´Â µ¿¾È¿¡¸¸ Coordinated Universal Time(UTC) ¶Ç´Â Greenwich Mean Time(GMT)·Î ¼³Á¤ÇØÁÝ´Ï´Ù. ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÕ´Ï´Ù: {{{ make install }}} ¼³Ä¡µÈ ¶óÀ̺귯¸®°¡ ¾²±â°¡ °¡´ÉÇϵµ·Ï ±ÇÇÑÀ» ¼³Á¤ÇØÁÖ¾î µð¹ö±ë ½Éº¼ÀÌ ³ªÁß¿¡ Áö¿öÁú ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù. {{{ chmod -v u+w /tools/lib/libtcl8.5.so }}} TclÀÇ Çì´õ¸¦ ¼³Ä¡ÇÕ´Ï´Ù. {{{ make install-private-headers }}} ÀÌÁ¦ ÇÊ¿äÇÑ ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µé¾îÁÝ´Ï´Ù. {{{ ln -sv tclsh8.5 /tools/bin/tclsh }}} === Contents of Tcl === ¼³Ä¡µÇ´Â ÇÁ·Î±×·¥: tclsh(link to tclsh8.5), tclsh8.5 ¼³Ä¡µÇ´Â ¶óÀ̺귯¸®: libtcl8.5.so, libtclstub8.5a == Expect-5.45 == ExpectÆÐÅ°Áö´Â ´Ù¸¥ ´ëÈ­½Ä ÇÁ·Î±×·¥¿¡¼­ ´ëÈ­¸¦ ½ºÅ©¸³Æ®ÇϱâÀ§ÇÑ ÇÁ·Î±×·¥µéÀ» Æ÷ÇÔÇÕ´Ï´Ù. Approximate build time: 0.1 SBU Required disk space: 4.4 MB Expect¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Sed, Tcl. === Expect ¼³Ä¡ === ¸ÕÀú ExpectÀÇ configure ½ºÅ©¸³Æ®°¡ /usr/local/bin/stty´ë½Å¿¡ /bin/stty¸¦ »ç¿ëÇϵµ·Ï ¼³Á¤ÇØÁÝ´Ï´Ù. {{{ cp -v configure{,.orig} sed 's:/usr/local/bin:/bin:' configure.orig > configure }}} Expect ÄÄÆÄÀÏ ÁغñÇϱâ: {{{ ./configure --prefix=/tools --with-tcl=/tools/lib \ --with-tclinclude=/tools/include }}} configure optionsÀÇ ÀǹÌ: * --with-tcl=/tools/lib: configure script°¡ TclÀÌ ¼³Ä¡µÈ Àӽõð·ºÅ丮ÀÇ À§Ä¡¸¦ ãÀ» ¼ö ÀÖ°Ô ÁöÁ¤ÇØ ÁÝ´Ï´Ù.¿ì¸®´Â LFS½Ã½ºÅÛÀ» »õ·Î ±¸ÃàÇÏ°í Àֱ⶧¹®¿¡ ÀÌ¹Ì È£½ºÆ®½ÃÅÛ¿¡ ¼³Ä¡µÇ¾î ÀÖ´Â (¹èÆ÷ÆÇÀ¸·Î ¼³Ä¡ÇصÐ) TclÀ» ã´Â°ÍÀ» ¿øÇÏÁö ¾Ê½À´Ï´Ù. * --with-tclinclude=/tools/include: TclÀÇ internal Çì´õÀÇ À§Ä¡¸¦ ¸»ÇØÁÝ´Ï´Ù. ''configure''½Ã¿¡ ÀÚµ¿ÀûÀ¸·Î TclÀÇ Çì´õÀ§Ä¡¸¦ ¹ß°ßÇÏÁö ¸øÇÒ°æ¿ì ½ÇÆÐÇÒ °æ¿ì¸¦ ´ëºñÇØ ¼³Á¤ÇØÁÝ´Ï´Ù. package ÄÄÆÄÀÏÇϱâ: {{{ make }}} ÀÌÀü¿¡ ¸»ÇÑ °Íó·³ ÀÌ Àå¿¡¼­ ¿ì¸®´Â Àӽõµ±¸µéÀ» À§ÇÑ test suitsµéÀ» ½ÇÇàÇÏ´Â °ÍÀ» ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ÇÏÁö¸¸, Tcl test suits¸¦ ½ÇÇàÇϱ⸦ ¿øÇÑ´Ù¸é, ¾Æ·¡¿Í °°Àº ¸í·ÉÀ» ½ÇÇàÇϼ¼¿ä. ±×·¯³ª È£½ºÆ®ÀÇ »óÅÂ(¼³Á¤)¿¡ µû¶ó¼­(that are not fully understood)Tcl test suits°¡ ½ÇÆÐÇÏ´Â °æ¿ìµµ ÀÖ´Ù´Â °ÍÀ» ¾Ë¾Æ¾ß ÇÕ´Ï´Ù. ¿©±â¼­ test suits½ÇÆÐÇصµ ³î¶óÁø ¸¶¼¼¿ä( ½ÅÁßÇÏ°Ô °í·ÁÇÒ ÇÊ¿ä´Â ¾ø´Ù.) {{{ make test }}} ¼³Ä¡Çϱâ: {{{ make SCRIPTS="" install }}} make parameterÀÇ ÀǹÌ: * SCRIPTS="": À̿ɼÇÀº expect scriptsÁß¿¡¼­ ºÒÇÊ¿äÇÑ °ÍµéÀ» ¼³Ä¡ÇÏ´Â °ÍÀ» ¹æÁöÇØ ÁÝ´Ï´Ù. ÀÚ, ÀÌÁ¦ Tcl°ú Expect ¼Ò½º µð·ºÅ丮¸¦ »èÁ¦Çصµ µË´Ï´Ù. === Expect ³»¿ë === ¼³Ä¡µÈ ÇÁ·Î±×·¥: expect ¼³Ä¡µÈ ¶óÀ̺귯¸®: libexpect-5.45.a === ¿ä¾à === expect "talks" to other interactive programs according to a script. == DejaGnu-1.5 ¼³Ä¡ == DejaGnuÆÐÅ°Áö´Â ´Ù¸¥ ÇÁ·Î±×·¥µéÀ» °ËÁõÇϱâÀ§ÇÑ framework¸¦ Æ÷ÇÔÇÕ´Ï´Ù. Approximate build time: <=0.1 SBU Required disk space: 4.1 MB DejaGnu (1.5) °ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://ftp.gnu.org/gnu/dejagnu/ DejaGnu(1.5)¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Sed. === DejaGnu ¼³Ä¡ === DejaGnu ÄÄÆÄÀÏ ÁغñÇϱâ: {{{ ./configure --prefix=/tools }}} ÆÑÅ°Áö ºôµåÇÏ°í ¼³Ä¡Çϱâ: {{{ make install }}} === DejaGnu ³»¿ë === ¼³Ä¡µÈ ÇÁ·Î±×·¥: runtest === ¿ä¾à === runtest is the wrapper script that finds the proper expect shell and then runs DejaGnu. == Check-0.9.8 == ºôµå ½Ã°£: 0.1 SBU ÇÊ¿ä ¿ë·®: 6.9 MB === Check ¼³Ä¡Çϱâ === Check ÄÄÆÄÀÏÀ» À§ÇØ ÁغñÇÕ´Ï´Ù: {{{ ./configure --prefix=/tools }}} ÆÐÅ°Áö¸¦ ºôµåÇÕ´Ï´Ù: {{{ make }}} ÀÌÁ¦ ÄÄÆÄÀÏÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù. ¿¹Àü¿¡ ¾ê±âÇß´ø°Íó·³ ¿©±â¼­ test suite¸¦ ½ÇÇàÇÏ´Â °ÍÀº Àǹ«´Â ¾Æ´Õ´Ï´Ù¸¸ È®ÀÎÇÏ°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ ¸í·ÉÀ» ½ÇÇàÇϽʽÿÀ: {{{ make check }}} test suite¸¦ È®ÀÎÇÏ´Â °ÍÀº ´ë·« 4 SBU Á¤µµ °É¸³´Ï´Ù. ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÕ´Ï´Ù {{{ make install }}} === Contents of Check === ¼³Ä¡µÇ´Â ¶óÀ̺귯¸®: libcheck.a, libcheck.so == Ncurses-5.9 ¼³Ä¡ == Approximate build time: 0.7 SBU Required disk space: 26 MB Ncurses (5.9) °ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://ftp.gnu.org/gnu/ncurses/ Ncurses¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed. === Ncurses-5.9 ¼³Ä¡ === ¾ÐÃà Ç®±â: {{{ mkdir -p $LFS/build/ncurses_build cd $LFS/build/ncurses_build tar zxvf /mnt/source/ncurses-5.4.tar.gz -C ./ }}} Ncurses ÄÄÆÄÀÏ ÁغñÇϱâ {{{ cd $LFS/build/ncurses_build/ncurses-5.4 ./configure --prefix=/tools --with-shared \ --without-debug --without-ada --enable-overwrite }}} Configure optionÀÇ ÀǹÌ: * --without-ada: ÀÌ·¸°Ô Çϸé, HOST ½Ã½ºÅÛ¿¡ Ada compiler°¡ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´õ¶óµµ Ncurses¸¦ ÄÄÆÄÀÏ ÇÒ ¶§, Ada bindingsÀ» ÇÏÁö ¾Ê°Ô ÇÑ´Ù. ÀÏ´Ü ¿ì¸®°¡ chrootȯ°æº¯¼ö·Î µé¾î °¬À» ¶§ HOST½Ã½ºÅÛ¿¡ ¼³Ä¡µÈ Ada¸¦ »ç¿ëÇÒ ¼ö ¾ø±â ¶§¹®¿¡ ÀÌ ¿É¼ÇÀº ²À ÁÖ¾î¾ß ÇÑ´Ù. * --enable-overwrite: ´Ù¸¥ ÆÑÅ°ÁöµéÀÌ NcursesÇì´õ ÆÄÀϵéÀ» ÂüÁ¶ÇÒ ¼ö ÀÖµµ·Ï /toos/include/ncurses ´ë½Å /tools/include·Î ¼³Ä¡Çϵµ·Ï ÁöÁ¤ÇØ ÁÖ´Â ¿ªÈ°À» ÇÑ´Ù. ÇÁ·Î±×·¥°ú ¶óÀ̺귯¸®µéÀ» ÄÄÆÄÀÏÇϱâ: {{{ make }}} Ncurses¹®¼­µé°ú ÇÁ·Î±×·¥µéÀ» ¼³Ä¡Çϱâ: {{{ make install }}} ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥¿¡ ´ëÇؼ±the Section called Contents of Ncurses in Chapter 6 ¸¦ ÂüÁ¶Çϼ¼¿ä. == Bash-4.2 ¼³Ä¡ == Approximate build time: 0.4 SBU Required disk space: 48 MB Bash (2.05b)) °ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://ftp.gnu.org/gnu/bash/ Bash ÆÐÄ¡ »çÀÌÆ®: http://www.linuxfromscratch.org/patches/downloads/bash/ Bash¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Ncurses, Sed. === Bash ¼³Ä¡ === Bash ´Â ¸î°¡Áö ¹ö±×µéÀÌ Á¸ÀçÇÕ´Ï´Ù. ÀÌ ¹ö±×µéÀ» °íÄ¡±â À§Çؼ­ ´ÙÀ½°ú °°Àº ÆÐÄ¡¸¦ Çϼ¼¿ä: {{{ patch -Np1 -i ../bash-4.2-fixes-8.patch }}} Bash ÄÄÆÄÀÏ ÁغñÇϱâ: {{{ cd $LFS/build/bash_build/bash-4.2 ./configure --prefix=/tools --without-bash-malloc }}} configure ¿É¼Ç ¼³¸í '''--without-bash-malloc''' ÀÌ ¿É¼ÇÀº ¼¼±×¸ÕÆ® ÆúÆ®¸¦ ÀÏÀ¸Å°´Â BashÀÇ ¸Þ¸ð¸®ÇÒ´çÀÇ »ç¿ëÀ» ²ô´Â ¿É¼ÇÀÔ´Ï´Ù. ¾ÕÀ¸·Î bash¿¡¼­´Â ¾ÈÁ¤¼ºÀ» À§ÇØ Glibc¿¡¼­ Á¦°øÇÏ´Â malloc ÇÔ¼ö¸¦ »ç¿ëÇÒ °ÍÀÔ´Ï´Ù. ÄÄÆÄÀÏ Çϱâ: {{{ make }}} ÀÚ, ÀÌÁ¦ ÄÄÆÄÀÏÀÌ ³¡³µ½À´Ï´Ù. ÀÌÀü¿¡ ¸»ÇÑ °Íó·³ ÀÌ Àå¿¡¼­ ¿ì¸®´Â Àӽõµ±¸µéÀ» À§ÇÑ test suitsµéÀ» ½ÇÇàÇÏ´Â °ÍÀ» ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ¸¸¾à¿¡ ´ç½ÅÀÌ Á¤¸» Bash test suits¸¦ ½ÇÇàÇϱ⸦ ¿øÇÑ´Ù¸é, ¾Æ·¡¿Í °°Àº ¸í·ÉÀ» ½ÇÇàÇϼ¼¿ä: {{{ make tests }}} BashÀÇ ¹®¼­µé°ú ÇÁ·Î±×·¥ ¼³Ä¡Çϱâ: {{{ make install }}} ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µé¾î ÁØ´Ù: {{{ ln -sv bash /tools/bin/sh }}} ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥¿¡ ´ëÇؼ± the Section called Contents of Bash in Chapter 6 ¸¦ ÂüÁ¶Çϼ¼¿ä. == Bzip2-1.0.6 ¼³Ä¡ == Approximate build time: <=0.1 SBU Required disk space: 5.7 MB GCC¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé : Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Make. === Bzip2 ¼³Ä¡ === ´Ù¿î·Îµå °ø½Ä »çÀÌÆ®: [ftp://sources.redhat.com/pub/bzip2/ ftp://sources.redhat.com/pub/bzip2/] Bzip2ÆÑÅ°Áö´Â configure script°¡ ¾ø½À´Ï´Ù. optionÀ» ÇÑÁÙ·Î ½á¼­ ÄÄÆÄÀÏ ÇÏ°í ¼³Ä¡ÇÕ´Ï´Ù. {{{ make make PREFIX=/tools install }}} ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥¿¡ ´ëÇؼ± the Section called Contents of Bzip2 in Chapter 6 ¸¦ ÂüÁ¶Çϼ¼¿ä. == Coreutils-8.19 ¼³Ä¡ == Approximate build time: 0.7 SBU Required disk space: 126 MB Coreutils-8.19 °ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://ftp.gnu.org/gnu/coreutils/ Coreutils ÆÐÄ¡¸¦ ¹ÞÀ» ¼ö ÀÖ´Â »çÀÌÆ®: ftp://ftp.gnu.org/gnu/coreutils/ Coreutils¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Perl, Sed. === Coreutils ¼³Ä¡ === Coreutils has an issue when compiled against Glibc-2.3.3. ÆÐÄ¡¸¦ ¾ÈÇßÀ»¶§, Coreutils utilities(head, tail, sort etc)Áß ÀϺΠÇÁ·Î±×·¥Àº Áö³­ 30³âµ¿¾È »ç¿ëµÇ¾î¿Ô´ø ÀüÅëÀûÀÎ ¹®¹ý°ú Ãæµ¹ÀÌ »ý±æ°ÍÀÔ´Ï´Ù. ¿À·¡µÈ syntaxµéÀº Coreutils°¡ ¿©·¯Àå¼Ò¿¡¼­ updateµÉ¶§ ¾ø¾îÁöÁö ¾Ê°í, »õ·Î¿î ¹öÀü¿¡¼­µµ Áö¿øÀÌ µÇ¾î¿Ô½À´Ï´Ù. ¼¼ºÎ»çÇ×µéÀº ÆÐÄ¡¸í·ÉÀ» º¸¸é ¾Ë ¼ö ÀÖ½À´Ï´Ù. Use of this patch is by no means compulsory but opting not to use it means you'll have deal with the consequences yourself, i.e. patch the many software packages that use the old syntax. Coreutils ÄÄÆÄÀÏ ÁغñÇϱâ: {{{ ./configure --prefix=/tools --enable-install-program=hostname }}} '''--enable-install-program=hostname''' ±âº»°ªÀº »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌÁö¸¸ Perl test suite¸¦ ½ÇÇàÇÒ ¶§ ÇÊ¿äÇϱ⠶§¹®¿¡ ¼³Á¤ÇØ ÁÝ´Ï´Ù. ºôµåÇÏ°í ¼³Ä¡µÉ ¹ÙÀ̳ʸ®¸¦ À§ÇÑ hostnameÀ» ¼³Á¤ÇÕ´Ï´Ù. package ÄÄÆÄÀÏÇϱâ: {{{ make }}} ÀÚ, ÀÌÁ¦ ÄÄÆÄÀÏÀÌ ³¡³µ½À´Ï´Ù. ÀÌÀü¿¡ ¸»ÇÑ °Íó·³ ÀÌ Àå¿¡¼­ ¿ì¸®´Â Àӽõµ±¸µéÀ» À§ÇÑ test suitsµéÀ» ½ÇÇàÇÏ´Â °ÍÀ» ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ¸¸¾à¿¡ ´ç½ÅÀÌ Á¤ Coreutils test suits¸¦ ½ÇÇàÇϱ⸦ ¿øÇÑ´Ù¸é, ¾Æ·¡¿Í °°Àº ¸í·ÉÀ» ½ÇÇàÇϼ¼¿ä: {{{ make RUN_EXPENSIVE_TESTS=yes check }}} make parameterÀÇ ÀǹÌ: * RUN_EXPENSIVE_TESTS=yes: This tells the test suite to run several additional tests that are considered relatively expensive on some platforms, ±×·¸Áö¸¸ ¸®´ª½º¿¡¼­´Â ¹®Á¦°¡ µÇÁö ¾Ê´Â´Ù. ÆÑÅ°Áö ¼³Ä¡Çϱâ: {{{ make install }}} ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥¿¡ ´ëÇؼ± the Section called Contents of Coreutils in Chapter 6 ¸¦ ÂüÁ¶Çϼ¼¿ä. == Diffutils-3.2 ¼³Ä¡ == Approximate build time: 0.2 SBU Required disk space: 8.5 MB Diffutils (3.2)°ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://ftp.gnu.org/gnu/diffutils/ Diffutils¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed. === Diffutils ¼³Ä¡ === Glibc-2.16.0°úÀÇ È£È¯¼º °³¼±À» À§ÇØ ´ÙÀ½À» ½ÇÇàÇÕ´Ï´Ù: {{{ sed -i -e '/gets is a/d' lib/stdio.in.h }}} Diffutils ÄÄÆÄÀÏ ÁغñÇϱâ: {{{ ./configure --prefix=/tools }}} package ÄÄÆÄÀÏÇϱâ: {{{ make }}} ¼³Ä¡Çϱâ: {{{ make install }}} ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥¿¡ ´ëÇؼ± the Section called Contents of Diffutils in Chapter 6 ¸¦ ÂüÁ¶Çϼ¼¿ä. == File-5.11 == ÆÄÀÏ¿¡ ´ëÇÑ Å¸ÀÔÀ» °áÁ¤ÇØÁÖ´Â À¯Æ¿¸®Æ¼ÀÔ´Ï´Ù. ºôµå ½Ã°£: 0.1 SBU ÇÊ¿ä ¿ë·®: 12.4 MB === File ¼³Ä¡Çϱâ === ÄÄÆÄÀÏÀ» ÁغñÇÕ´Ï´Ù: {{{ ./configure --prefix=/tools }}} ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇÕ´Ï´Ù {{{ make }}} ÄÄÆÄÀÏÀÌ ÀÌÁ¦ ³¡³µ½À´Ï´Ù. test suite´Â Àǹ«´Â ¾Æ´ÏÁö¸¸ Å×½ºÆ®ÇØ¾ß°Ú´Ù¸é ´ÙÀ½À» ½ÇÇàÇϽʽÿÀ: {{{ make check }}} ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÕ´Ï´Ù. {{{ make install }}} == Findutils-4.4.2 ¼³Ä¡ == Approximate build time: 0.2 SBU Required disk space: 27 MB Findutils (4.4.2) °ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://alpha.gnu.org/gnu/findutils/ Findutils¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed. === Findutils ¼³Ä¡ === Findutils ÄÄÆÄÀÏ ÁغñÇϱâ: {{{ mkdir -p $LFS/build/findutils_build cd $LFS/build/findutils_build tar zxvf /mnt/source/findutils-4.1.20.tar.gz -C ./ cd findutils-4.4.2 ./configure --prefix=/tools }}} package ÄÄÆÄÀÏÇϱâ: {{{ make }}} ÀÚ, ÀÌÁ¦ ÄÄÆÄÀÏÀÌ ³¡³µ½À´Ï´Ù. ÀÌÀü¿¡ ¸»ÇÑ °Íó·³ ÀÌ Àå¿¡¼­ ¿ì¸®´Â Àӽõµ±¸µéÀ» À§ÇÑ test suitsµéÀ» ½ÇÇàÇÏ´Â °ÍÀ» ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ¸¸¾à¿¡ Á¤¸» Findutils test suits¸¦ ½ÇÇàÇϱ⸦ ¿øÇÑ´Ù¸é, ¾Æ·¡¿Í °°Àº ¸í·ÉÀ» ½ÇÇàÇϼ¼¿ä: {{{ make check }}} ¼³Ä¡Çϱâ: {{{ make install }}} ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥¿¡ ´ëÇؼ± the Section called Contents of Findutils in Chapter 6 ¸¦ ÂüÁ¶Çϼ¼¿ä. == Gawk-4.0.1 ¼³Ä¡ == Approximate build time: 0.2 SBU Required disk space: 30 MB Gawk-3.1.3 °ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://ftp.gnu.org/pub/gnu/gawk/ Gawk-3.1.3°ú ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed. === Gawk ¼³Ä¡ === Gawk ÄÄÆÄÀÏ ÁغñÇϱâ: {{{ ./configure --prefix=/tools }}} package ÄÄÆÄÀÏÇϱâ: {{{ make }}} ÀÚ, ÀÌÁ¦ ÄÄÆÄÀÏÀÌ ³¡³µ½À´Ï´Ù. ÀÌÀü¿¡ ¸»ÇÑ °Íó·³ ÀÌ Àå¿¡¼­ Àӽõµ±¸µéÀ» À§ÇÑ test suitsµéÀ» ½ÇÇàÇÏ´Â °ÍÀ» ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ÇÏÁö¸¸, Gawk test suits¸¦ ½ÇÇàÇϱ⸦ ¿øÇÑ´Ù¸é, ¾Æ·¡¿Í °°Àº ¸í·ÉÀ» ½ÇÇàÇϼ¼¿ä: {{{ make check }}} ¼³Ä¡Çϱâ: {{{ make install }}} ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥¿¡ ´ëÇؼ± 6Àå GawkÀÇ ³»¿ë ¸¦ ÂüÁ¶Çϼ¼¿ä. . == Gettext-0.18.1.1 ¼³Ä¡ == Approximate build time: 0.6 SBU Required disk space: 101 MB Gettext (0.14.1) °ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://ftp.gnu.org/gnu/gettext/ Gettext¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Bison, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed. === Gettext ¼³Ä¡ === Àӽà Åø¸¸ÀÌ ÇÊ¿äÇϱ⠶§¹®¿¡ ¿ì¸®´Â ´ÜÁö Gettext ÆÐÅ°Áö·ÎºÎÅÍ ÇϳªÀÇ ¹ÙÀ̳ʸ® ÆÄÀϸ¸ ºôµåÇÏ¿© ¼³Ä¡Çϱ⸸ ÇÏ¸é µË´Ï´Ù. ¸ÕÀú Glibc-2.16.0°úÀÇ È£È¯¼º ¹®Á¦¸¦ ÇØ°áÇÕ´Ï´Ù: {{{ sed -i -e '/gets is a/d' gettext-*/*/stdio.in.h }}} Gettext ÄÄÆÄÀÏ ÁغñÇϱâ: {{{ cd gettext-tools EMACS="no" ./configure --prefix=/tools --disable-shared }}} configure ¿É¼Ç ¼³¸í: '''EMACS="no"''' ÀÌ°ÍÀº configure script°¡ Emacs Lisp ÆÄÀÏÀ» ¼³Ä¡Çß´ÂÁö È®ÀÎÇÏ´Â °ÍÀ» ¸·½À´Ï´Ù. '''--disable-shared''' ¿ì¸®´Â shared Gettext ¶óÀ̺귯¸®¸¦ Áö±ÝÀº ÇÊ¿ä·Î ÇÏÁö ¾Ê½À´Ï´Ù. ºôµå´ë»ó¿¡¼­ ÇØ´ç ¶óÀ̺귯¸®´Â Á¦¿ÜÇÕ´Ï´Ù. ÄÄÆÄÀÏ Çϱâ: {{{ make -C gnulib-lib make -C src msgfmt }}} ¿ÀÁ÷ ÇϳªÀÇ ¹ÙÀ̳ʸ® ÆÄÀϸ¸ ÄÄÆÄÀϵDZ⠶§¹®¿¡ test suite¸¦ ½ÇÇàÇÏ´Â °ÍÀº ºÒ°¡´ÉÇÕ´Ï´Ù. ±×·¡¼­ ¿©±â¿¡¼­ test suite¸¦ ½ÇÇàÇÏ´Â °ÍÀº ±ÇÀåÇÏÁö ¾Ê½À´Ï´Ù. ¸¶Áö¸·À¸·Î msgfmt ¹ÙÀ̳ʸ®¸¦ ¼³Ä¡ÇÕ´Ï´Ù: {{{ cp -v src/msgfmt /tools/bin }}} ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥¿¡ ´ëÇؼ± the Section called Contents of Gettext in Chapter 6 ¸¦ ÂüÁ¶Çϼ¼¿ä. == Grep-2.14 ¼³Ä¡ == Approximate build time: 0.2 SBU Required disk space: 21 MB Grep (2.14) °ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://ftp.gnu.org/gnu/grep/ Grep¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Make, Sed, Texinfo. === Grep ¼³Ä¡ === Grep ÄÄÆÄÀÏ ÁغñÇϱâ: {{{ ./configure --prefix=/tools }}} ÇÁ·Î±×·¥ ÄÄÆÄÀÏÇϱâ: {{{ make }}} ÀÚ, ÀÌÁ¦ ÄÄÆÄÀÏÀÌ ³¡³µ½À´Ï´Ù. ÀÌÀü¿¡ ¸»ÇÑ °Íó·³ ÀÌ Àå¿¡¼­ ¿ì¸®´Â Àӽõµ±¸µéÀ» À§ÇÑ test suitsµéÀ» ½ÇÇàÇÏ´Â °ÍÀ» ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ¸¸¾à¿¡ ´ç½ÅÀÌ Á¤¸» grep test suits¸¦ ½ÇÇàÇϱ⸦ ¿øÇÑ´Ù¸é, ¾Æ·¡¿Í °°Àº ¸í·ÉÀ» ½ÇÇàÇϼ¼¿ä: {{{ make check }}} ÀÌ ÆÑÅ°ÁöÀÇ ¹®¼­µé°ú ÇÁ·Î±×·¥ ¼³Ä¡Çϱâ: {{{ make install }}} ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥¿¡ ´ëÇؼ± the Section called Contents of Grep in Chapter 6 ¸¦ ÂüÁ¶Çϼ¼¿ä. == Gzip-1.5 == Approximate build time: 0.2 SBU Required disk space: 10 MB Gzip (1.5)°ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://alpha.gnu.org/gnu/gzip/ Gzip°ú ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Sed. === Gzip ¼³Ä¡ === Gzip ÄÄÆÄÀÏ ÁغñÇϱâ: {{{ ./configure --prefix=/tools }}} package ÄÄÆÄÀÏÇϱâ: {{{ make }}} ¼³Ä¡Çϱâ: {{{ make install }}} ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥¿¡ ´ëÇؼ± the Section called Contents of Gzip in Chapter 6 ¸¦ ÂüÁ¶Çϼ¼¿ä. == M4-1.4.16 == ¼³¸í: M4 ÆÐÅ°Áö´Â macro ÇÁ·Î¼¼¼­¸¦ Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. ºôµå ½Ã°£: 0.2 SBU ÇÊ¿ä °ø°£: 16.6 MB === M4 ¼³Ä¡Çϱâ=== Glibc-2.16.0°úÀÇ ¹®Á¦¸¦ ÆÐÄ¡ÇÕ´Ï´Ù: {{{ sed -i -e '/gets is a/d' lib/stdio.in.h }}} M4 ÄÄÆÄÀÏÀ» ÁغñÇÕ´Ï´Ù: {{{ sed -i -e '/gets is a/d' lib/stdio.in.h }}} ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏÇÕ´Ï´Ù {{{ make }}} test suite¸¦ ½ÇÇàÇÏ°í ½ÍÀ¸½Ã¸é '''more check'''¸¦ ½ÇÇàÇϽʽÿÀ. »ý·«ÇÏ°í ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÏ·Á¸é ´ÙÀ½À» ½ÇÇàÇϽʽÿÀ: {{{ make install }}} == Make-3.82 ¼³Ä¡ == Approximate build time: 0.1 SBU Required disk space: 11.2 MB Make (3.82) °ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://ftp.gnu.org/gnu/make/ Make¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Sed. === Make ¼³Ä¡ === Make ÄÄÆÄÀÏ ÁغñÇϱâ: {{{ ./configure --prefix=/tools }}} ÄÄÆÄÀÏ Çϱâ: {{{ make }}} ÀÚ, ÀÌÁ¦ ÄÄÆÄÀÏÀÌ ³¡³µ½À´Ï´Ù. ÀÌÀü¿¡ ¸»ÇÑ °Íó·³ ÀÌ Àå¿¡¼­ ¿ì¸®´Â Àӽõµ±¸µéÀ» À§ÇÑ test suitsµéÀ» ½ÇÇàÇÏ´Â °ÍÀ» ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ¸¸¾à¿¡ ´ç½ÅÀÌ Á¤¸» make test suits¸¦ ½ÇÇàÇϱ⸦ ¿øÇÑ´Ù¸é, ¾Æ·¡¿Í °°Àº ¸í·ÉÀ» ½ÇÇàÇϼ¼¿ä: {{{ make check }}} ÀÌ ÆÑÅ°ÁöÀÇ ¹®¼­µé°ú ÇÁ·Î±×·¥ ¼³Ä¡Çϱâ: {{{ make install }}} ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥¿¡ ´ëÇؼ± the Section called Contents of Make in Chapter 6 ¸¦ ÂüÁ¶Çϼ¼¿ä. == Patch-2.6.1 ¼³Ä¡ == Approximate build time: 0.1 SBU Required disk space: 3.4 MB Patch (2.6.1) °ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://ftp.gnu.org/gnu/patch/ Patch¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Sed. === Patch ¼³Ä¡ === Patch ÄÄÆÄÀÏ ÁغñÇϱâ: {{{ CPPFLAGS=-D_GNU_SOURCE ./configure --prefix=/tools }}} Àü󸮱â flag -D_GNU_SOURCE ´Â Power PC ¿¡¼­¸¸ ÇÊ¿ä·Î ÇÕ´Ï´Ù. ´Ù¸¥ ½Ã½ºÅÛ¿¡¼­´Â ÇÊ¿ä¾ø½À´Ï´Ù. ÄÄÆÄÀÏÇϱâ: {{{ make }}} Patch ¹®¼­µé°ú ÇÁ·Î±×·¥µéÀ» ¼³Ä¡Çϱâ: {{{ make install }}} ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥¿¡ ´ëÇؼ± the Section called Contents of Patch in Chapter 6 ¸¦ ÂüÁ¶Çϼ¼¿ä. == Perl-5.16.1 ¼³Ä¡ == Approximate build time: 1.8 SBU Required disk space: 237 MB Perl (5.16.1) °ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: http://www.cpan.org/src/ Perl Libc ÆÐÄ¡ »çÀÌÆ®: http://www.linuxfromscratch.org/patches/downloads/perl/ Perl°ú ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed. === Perl ¼³Ä¡ === hard-wired paths¸¦ C ¶óÀ̺귯¸®¿¡ ¸Âµµ·Ï º¯°æ½ÃÅ°¼¼¿ä: {{{ cd perl-5.8.3 patch -Np1 -i /mnt/source/perl-5.16.1-libc-2.patch }}} Perl ÄÄÆÄÀÏ ÁغñÇϱâ: {{{ sh Configure -des -Dprefix=/tools }}} ---- '''ÁÖÀÇ''' : ÀÌ ¶§ sh °¡ ÂüÁ¶ÇÏ´Â libtermcap.so.2°¡ ¾ø´Ù¸é¼­ ¿¡·¯°¡ ³¯ °æ¿ì°¡ ÀÖ½À´Ï´Ù. Áö±Ý±îÁö ¼³Ä¡ °úÁ¤Áß¿¡ ¹«¾ð°¡ À߸øÀÌ ÀÖ¾ú´Ù´Â ¶æÀÔ´Ï´Ù. ¾Æ·¡¿Í °°ÀÌ ¾ïÁö·Î ÇÒ ¼ö´Â ÀÖÁö¸¸ ÃßõÀº ¾ÈÇÕ´Ï´Ù. -- {{{ RPATH=$PATH PATH=/bin:/tools/bin:/usr/bin export PATH }}} ¸¦ Çؼ­ °æ·Î¸¦ ¹Ù²Ù¾î ÁÖ°í configure¸¦ ½ÇÇàÇØ º¸¼¼¿ä. ¼³Ä¡±îÁö ´Ù ³¡³ª¸é {{{ PATH=$RPATH export PATH }}} ·Î ¿ø»ó º¹±¸ ÇØ ÁÖ¼¼¿ä. -- ---- ÆÐÅ°Áö¸¦ ºôµåÇÕ´Ï´Ù: {{{ make }}} ÄÄÆÄÀÏÀÌ ³¡³ª¸é ¶óÀ̺귯¸®¿Í ÇÁ·Î±×·¥µéÀ» º¹»çÇÏÀÚ: {{{ cp -v perl cpan/podlators/pod2man /tools/bin mkdir -pv /tools/lib/perl5/5.16.1 cp -Rv lib/* /tools/lib/perl5/5.16.1 }}} ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥¿¡ ´ëÇؼ± the Section called Contents of Perl in Chapter 6 ¸¦ ÂüÁ¶Çϼ¼¿ä. == Sed-4.2.1 ¼³Ä¡ == Approximate build time: 0.1 SBU Required disk space: 10.5 MB Sed (4.2.1) °ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://ftp.gnu.org/gnu/sed/ Sed¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Texinfo. === Sed ¼³Ä¡ === Sed ÄÄÆÄÀÏ ÁغñÇϱâ: {{{ ./configure --prefix=/tools }}} ÆÐÅ°Áö ÄÄÆÄÀÏÇϱâ: {{{ make }}} ÀÚ, ÀÌÁ¦ ÄÄÆÄÀÏÀÌ ³¡³µ½À´Ï´Ù. ÀÌÀü¿¡ ¸»ÇÑ °Íó·³ ÀÌ Àå¿¡¼­ ¿ì¸®´Â Àӽõµ±¸µéÀ» À§ÇÑ test suitsµéÀ» ½ÇÇàÇÏ´Â °ÍÀ» ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ¸¸¾à¿¡ ´ç½ÅÀÌ Á¤¸» Sed test suits¸¦ ½ÇÇàÇϱ⸦ ¿øÇÑ´Ù¸é, ¾Æ·¡¿Í °°Àº ¸í·ÉÀ» ½ÇÇàÇϼ¼¿ä: {{{ make check }}} ÀÌ ÆÑÅ°ÁöÀÇ ¹®¼­µé°ú ÇÁ·Î±×·¥ ¼³Ä¡Çϱâ: {{{ make install }}} ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥¿¡ ´ëÇؼ± the Section called Contents of Sed in Chapter 6 ¸¦ ÂüÁ¶Çϼ¼¿ä. == Tar-1.26 ¼³Ä¡ == Approximate build time: 0.4 SBU Required disk space: 20.6 MB Tar (1.26) °ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://alpha.gnu.org/gnu/tar/ Tar¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed. === Tar ¼³Ä¡ === Glibc-2.16.0°úÀÇ È£È¯¹®Á¦¸¦ ÇØ°áÇÕ´Ï´Ù: {{{ sed -i -e '/gets is a/d' gnu/stdio.in.h }}} Tar ÄÄÆÄÀÏ ÁغñÇϱâ: {{{ ./configure --prefix=/tools }}} ÄÄÆÄÀÏÇϱâ: {{{ make }}} ÀÚ, ÀÌÁ¦ ÄÄÆÄÀÏÀÌ ³¡³µ½À´Ï´Ù. ÀÌÀü¿¡ ¸»ÇÑ °Íó·³ ÀÌ Àå¿¡¼­ ¿ì¸®´Â Àӽõµ±¸µéÀ» À§ÇÑ test suitsµéÀ» ½ÇÇàÇÏ´Â °ÍÀ» ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ¸¸¾à¿¡ ´ç½ÅÀÌ Á¤¸» Texinfo test suits¸¦ ½ÇÇàÇϱ⸦ ¿øÇÑ´Ù¸é, ¾Æ·¡¿Í °°Àº ¸í·ÉÀ» ½ÇÇàÇϼ¼¿ä: {{{ make check }}} Tar ¹®¼­µé°ú ÇÁ·Î±×·¥µéÀ» ¼³Ä¡Çϱâ: {{{ make install }}} ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥¿¡ ´ëÇؼ± the Section called Contents of Tar in Chapter 6 ¸¦ ÂüÁ¶Çϼ¼¿ä == Texinfo-4.13a ¼³Ä¡ == Approximate build time: 0.2 SBU Required disk space: 24 MB Texinfo (4.13a) °ø½Ä ´Ù¿î·Îµå »çÀÌÆ®: ftp://ftp.gnu.org/gnu/texinfo/ Texinfo¿Í ÀÇÁ¸¼º °ü°è¿¡ ÀÖ´Â ÇÁ·Î±×·¥µé: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed. === Texinfo ¼³Ä¡ === Texinfo ÄÄÆÄÀÏ ÁغñÇϱâ : {{{ ./configure --prefix=/tools }}} ÄÄÆÄÀÏ Çϱâ: {{{ make }}} ÀÚ, ÀÌÁ¦ ÄÄÆÄÀÏÀÌ ³¡³µ½À´Ï´Ù. ÀÌÀü¿¡ ¸»ÇÑ °Íó·³ ÀÌ Àå¿¡¼­ ¿ì¸®´Â Àӽõµ±¸µéÀ» À§ÇÑ test suitsµéÀ» ½ÇÇàÇÏ´Â °ÍÀ» ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ¸¸¾à¿¡ ´ç½ÅÀÌ Á¤¸» Texinfo test suits¸¦ ½ÇÇàÇϱ⸦ ¿øÇÑ´Ù¸é, ¾Æ·¡¿Í °°Àº ¸í·ÉÀ» ½ÇÇàÇϼ¼¿ä: {{{ make check }}} Texinfo ¹®¼­µé°ú ÇÁ·Î±×·¥µéÀ» ¼³Ä¡Çϱâ: {{{ make install }}} ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ ÇÁ·Î±×·¥¿¡ ´ëÇؼ± the Section called Contents of Texinfo in Chapter 6 ¸¦ ÂüÁ¶Çϼ¼¿ä == Xz-5.0.4 == ºôµå ½Ã°£: 0.2 SBU ÇÊ¿ä °ø°£: 16.3 MB === Xz-Utils ¼³Ä¡Çϱâ === Xz ÄÄÆÄÀÏÀ» ÁغñÇÕ´Ï´Ù: {{{ ./configure --prefix=/tools }}} ÆÐÅ°Áö¸¦ ÄÄÆÄÀÏ ÇÕ´Ï´Ù {{{ make }}} ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÕ´Ï´Ù {{{ make install }}} == Stripping == À̹ø ´Ü°è´Â ¹Ýµå½Ã ÇØÁÙ ÇÊ¿ä´Â ¾ø°í ÇÊ¿äÇÑ °æ¿ì¿¡¸¸ Çϼ¼¿ä. ¸¸¾à LFSÆÄƼ¼ÇÀÇ Å©±â°¡ ³Ê¹« ÀÛÀ» ¶§, ºÒÇÊ¿äÇÑ °ÍµéÀ» Á¦°ÅÇÒ ¼ö ÀÖ´Ù¸é Á»´õ ÆíÇÏ°Ô ¼³Ä¡ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ½ÇÇàÆÄÀÏ°ú ¶óÀ̺귯¸®µéÀº ¾à 70MBÁ¤µµÀÇ ºÒÇÊ¿äÇÑ debugging symbolsÀ» Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. À̰͵éÀ» Áö¿ì·Á¸é ´ÙÀ½°ú °°/ÀÌ Çϼ¼¿ä: {{{ strip --strip-debug /tools/lib/* strip --strip-unneeded /tools/{,s}bin/* }}} The first of the above commands will skip some twenty files, reporting that it doesn't recognize their file format. Most of them are scripts instead of binaries. Áö±Ý ¼³Ä¡µÇ¾î ÀÖ´Â ¶óÀ̺귯¸®µé¿¡ ´ëÇØ --strip-unneeded¿É¼ÇÀ» »ç¿ëÇÒ¶§ ³Ê¹« Á¶½É½º·¹ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. À̰͵éÀº ¾îÂ÷ÇÇ »èÁ¦ÇØ¾ß ÇÏ°í Glibc´Â ³ªÁß¿¡ ´Ù½Ã ¼³Ä¡ÇÏ°Ô µË´Ï´Ù. °ü·ÃµÈ ¸ðµç ¹®¼­µéÀ» Áö¿ì¸é ¾à 2MBÁ¤µµ¸¦ ¾Æ³¥¼ö ÀÖ´Ù: {{{ rm -rf /tools/{,share}/{info,man,doc} }}} LFS½Ã½ºÅÛÀ» ¼³Ä¡Çϱâ À§Çؼ­´Â ¾à 850MBÁ¤µµÀÇ °ø°£ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¸¸¾à ´ç½ÅÀÌ Glibc¸¦ buildÇÏ°í ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù¸é ³ª¸ÓÁö ´Ù¸¥ ¸ðµç ÇÁ·Î±×·¥µµ BuildÇÏ°í ¼³Ä¡ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. == ¼ÒÀ¯±Ç ¹Ù²Ù±â == '''Note''' ÀÌ Ã¥ÀÇ ³ª¸ÓÁö ¸í·É¾îµéÀº ÀüºÎ root »ç¿ëÀÚ·Î ·Î±×ÀÎ µÇ¾îÀÖ´Â µ¿¾È¿¡ ½ÇÇàµÇ¾î¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ root ȯ°æÀÏ ¶§ $LFS ȯ°æ º¯¼ö°¡ Àß ¼³Á¤µÇ¾î ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ. ÇöÀç $LFS/tools µð·ºÅ丮´Â È£½ºÆ® ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â »ç¿ëÀÚÀÎ ''lfs''°¡ ¼ÒÀ¯ÇÏ°í ÀÖ½À´Ï´Ù. ¸¸¾à $LFS/tools µð·ºÅ丮°¡ ÀÌ´ë·Î À¯ÁöµÈ´Ù¸é ÆÄÀϵéÀº user ID¿¡ ¸Â´Â °èÁ¤ÀÌ ¾ø´Â »ç¿ëÀÚ°¡ ¼ÒÀ¯ÇÏ´Â °ÍÀ¸·Î µÇ°Ô µË´Ï´Ù. ³ªÁß¿¡ »ç¿ëÀÚ¸¦ ¸¸µé¾î¼­ user ID°¡ °°Àº »ç¿ëÀÚ°¡ µÉ °æ¿ì Ä¡¸íÀûÀÎ Á¶ÀÛÀ» ÇÒ ¼ö Àֱ⠶§¹®¿¡ ÀÌ°°Àº ȯ°æÀº À§ÇèÇÕ´Ï´Ù. ¶§¹®¿¡ ÀÌ·¯ÇÑ °ÍÀ» ¹æÁöÇÏ·Á¸é »õ·Î¿î LFS ½Ã½ºÅÛ¿¡ /etc/passwd ÆÄÀÏÀ» »ý¼ºÇÑ µÚ ''lfs'' »ç¿ëÀÚ¸¦ Ãß°¡ÇÏ°í Áö±ÝÀº ¸ÕÀú µð·ºÅ丮¸¦ root »ç¿ëÀÚÀÇ ¼ÒÀ¯·Î ¹Ù²Ù´Â °ÍÀÌ ÁÁ½À´Ï´Ù. {{{ chown -R root:root $LFS/tools }}} ºñ·Ï LFS ½Ã½ºÅÛÀÌ ¿Ï¼ºµÇ¾î¼­ $LFS/tools µð·ºÅ丮°¡ Áö¿öÁø´Ù°í Çصµ Ãß°¡ÀûÀÎ LFS ½Ã½ºÅÛÀ» ºôµåÇϱâ À§ÇØ ÇÊ¿äÇÑ °æ¿ìµµ ÀÖ½À´Ï´Ù. ¹é¾÷ÇÒÁö ¸»Áö´Â º»ÀεéÀÇ ¼±ÅÃÀÔ´Ï´Ù.