´ÙÀ½ ÀÌÀü Â÷·Ê

5. LFS ½Ã½ºÅÛÀ» ºÎÆà °¡´ÉÇϵµ·Ï ¸¸µé±â

5.1 SysvinitÀÇ ¼³Ä¡

ÀϹÝÀûÀΠȯ°æ ÇÏ¿¡¼± Ä¿³ÎÀÌ ·ÎµåµÇ¾î ¿©·¯ ½Ã½ºÅÛ ±¸¼º ¿ä¼ÒµéÀ» ÃʱâÈ­ÇÑ ÈÄ ½Ã½ºÅÛÀÇ ºÎÆà ÇÁ·Î¼¼½º¸¦ ¸¶¹«¸®ÇÒ init ¶ó ºÒ¸®´Â ÇÁ·Î±×·¥À» ·ÎµåÇÑ´Ù. ÀüºÎ ´Ù´Â ¾Æ´Ò Áö¶óµµ °ÅÀÇ ´ëºÎºÐÀÇ ¸®´ª½º ½Ã½ºÅÛ¿¡ µé¾îÀÖ´Â ÆÐÅ°Áö´Â SysvinitÀ̸ç ÀÌ°ÍÀÌ ¿ì¸®°¡ LFS ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇÏ·Á´Â ÇÁ·Î±×·¥ÀÌ´Ù.

¸¶Áö¸· ³× ÁÙ¿¡ $(ROOT) ºÎºÐÀ» ÷°¡ÇÑ ÈÄ¿£ ¾Æ·¡¿Í °°ÀÌ º¸ÀÏ °ÍÀÌ´Ù:

   @if [! -p $(ROOT)/dev/initctl ]; then \
   echo "Creating $(ROOT)/dev/initctl"; \
   rm -f $(ROOT)/dev/initctl; \
   mknod -m 600 $(ROOT)/dev/initctl p; fi
 

make -e LDFLAGS=-static; make install
 

5.2 Sysvinit ¼³Á¤

Sysvinit°¡ µ¿ÀÛÇϱâ À§Çؼ­ ¿ì¸®´Â ¼³Á¤ ÆÄÀÏÀ» ¸¸µé¾î¾ß ÇÑ´Ù. ´ÙÀ½À» Æ÷ÇÔÇϵµ·Ï $LFS/etc/inittab ÆÄÀÏÀ» ¸¸µç´Ù:

# Begin /etc/inittab
 
id:2:initdefault:
 
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
 
1:2345:respawn:/sbin/sulogin
 
# End /etc/inittab
 

5.3 passwd ¿Í group ÆÄÀÏÀÇ »ý¼º

¿©·¯ºÐÀÌ inittab ÆÄÀÏ¿¡¼­ º¸´Â °Íó·³ ¿ì¸®°¡ ½Ã½ºÅÛÀ» ºÎÆÃÇϸé init °¡ sulogin ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°¸ç suloginÀº ¿©·¯ºÐ¿¡°Ô rootÀÇ Æнº¿öµå¸¦ ¹°¾îº¼ °ÍÀÌ´Ù. ÀÌ´Â ¿ì¸®°¡ LFS ½Ã½ºÅÛ »ó¿¡ Àû¾îµµ passwd ÆÄÀÏÀº °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.

À§ÀÇ ÀÎÄÚµùµÈ Æнº¿öµå ¹®ÀÚ¿­Àº lfs123 ÀÌ´Ù.

¿©·¯ºÐÀÇ LFS ½Ã½ºÅÛ¿¡ ·Î±×¿Â ÇÒ ¶§ rootÀÇ Æнº¿öµå¸¦ ¹°¾î¿Â´Ù¸é lfs123À» ÀÔ·ÂÇÏ¸é µÈ´Ù.

5.4 Bash ½©ÀÇ ¼³Ä¡

sulogin ÀÌ root Æнº¿öµå¸¦ ¹°¾î¿À°í ¿©·¯ºÐÀÌ Æнº¿öµå¸¦ ÀÔ·ÂÇß´Ù¸é ½©ÀÌ ½ÃÀÛµÇ¾ß ÇÑ´Ù. ÈçÈ÷ bash ½©ÀÌ ½ÃÀ۵ȴÙ. ±×·¯³ª ¾ÆÁ÷ ¼³Ä¡µÈ ¶óÀ̺귯¸®°¡ ÀüÇô ¾ø±â ¶§¹®¿¡ ¿ì¸®´Â Sysvinit ¿¡¼­¿Í °°ÀÌ bash ¸¦ Á¤ÀûÀ¸·Î ¸µÅ©ÇØ¾ß ÇÑ´Ù.

./configure --enable-static-link
make; make -e prefix=$LFS/usr install
mv $LFS/usr/bin/bash $LFS/bin 
cd $LFS/bin; ln -s bash sh
 

5.5 LILO¿¡ ¿£Æ®¸® Ãß°¡

ÀÌ ÆÄƼ¼ÇÀ¸·ÎºÎÅÍ ºÎÆÃÀÌ °¡´ÉÇϱâ À§Çؼ± ¿ì¸®´Â /etc/lilo.conf ÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù. ´ÙÀ½ ÁÙµéÀ» lilo.conf ¿¡ Ãß°¡ÇÑ´Ù:

image=<currently used image>
   label=<label>
   root=$LFS
   read-only
 

<currently used image>¸¦ ¿©·¯ºÐÀÌ ±âÁ¸ÀÇ ¸®´ª½º ½Ã½ºÅÛÀ» ºÎÆÃÇϱâ À§ÇØ »ç¿ëÇÏ´Â À̹ÌÁö ÆÄÀÏ·Î ¹Ù²Û´Ù. <label>´Â ¿©·¯ºÐÀÌ ¿øÇÏ´Â ¹«¾ùÀÌµç µÉ ¼ö ÀÖ´Ù. ³ª´Â "lfs"¶ó ĪÇß´Ù. ¿©·¯ºÐÀÌ <label>¿¡ ³Ö´Â °ÍÀÌ ºÎÆÃÇÒ ½Ã½ºÅÛÀ» °í¸£±â À§ÇØ LILO ÇÁ·ÒÇÁÆ®¿¡¼­ ¿©·¯ºÐÀÌ ÀÔ·ÂÇÏ´Â °ÍÀÌ´Ù.

ºÎÆ® ·Î´õ¸¦ °»½ÅÇϱâ À§ÇØ lilo ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù.

5.6 ½Ã½ºÅÛ °Ë»ç

ÀÌ ÀåÀ» ³¡¸¶Ä£ ÈÄ ¿ì¸®´Â LFS ·Î ÀçºÎÆà ÇÏ¿© ½Ã½ºÅÛÀ» °Ë»çÇÒ ¼ö ÀÖÀ¸¸ç ±× ½Ã½ºÅÛÀ¸·Î ·Î±×·Ð ÇÒ ¼ö ÀÖ´ÂÁö¸¦ º¼ ¼ö ÀÖ´Ù. ¿©·¯ºÐÀÌ ¸®ºÎÆÃÇÑ ÈÄ LFS ½Ã½ºÅÛÀ» ½ÃÀÛÇϱâ À§Çؼ± lilo.conf ÆÄÀÏ¿¡ »ðÀÔÇß´ø label À» LILOÇÁ·ÒÇÁÆ®¿¡¼­ ÀÔ·ÂÇÑ´Ù. ±×¸®°í root Æнº¿öµå¸¦ ÀÔ·ÂÇϸé ÀÌÁ¦ bash ÇÁ·ÒÇÁÆ®¸¦ ¾ò°Ô µÉ °ÍÀÌ´Ù. ¿©·¯ºÐÀº shutdown °°Àº ÇÁ·Î±×·¥À¸·Î ½Ã½ºÅÛÀ» shutdown ½Ãų ¼ö ¾øÀ» °ÍÀÌ´Ù. ÀÌ ÇÁ·Î±×·¥ÀÌ ÀÖ±ä ÇÏÁö¸¸ À̸¦ ½ÇÇàÇÏ·Á ÇÏ¸é ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ³¯ °ÍÀÌ´Ù: "You don't exist. Go away." ÀÌ ¿¡·¯ÀÇ Àǹ̴ ½Ã½ºÅÛÀÌ password ÆÄÀÏÀ» ãÀ» ¼ö ¾ø´Ù´Â °ÍÀÌ´Ù. ºñ·Ï shutdown ÇÁ·Î±×·¥ÀÌ ÇÊ¿ä·Î ÇÏ´Â ¶óÀ̺귯¸®¿¡ Á¤ÀûÀ¸·Î ¸µÅ©µÇ¾î ÀÖÁö¸¸ GNU C ¶óÀ̺귯¸®ÀÇ ÀϺÎÀÎ NSS (Name Server Switch) ¶óÀ̺귯¸®¿¡ ¿©ÀüÈ÷ ÀÇÁ¸ÇÏ°í ÀÖÀ¸¸ç ÀÌ´Â ÀÌÈÄ Àå¿¡¼­ ¼³Ä¡µÉ °ÍÀÌ´Ù. ÀÌ NSS ¶óÀ̺귯¸®´Â (ÀÌ °æ¿ì¿£) passwd ÆÄÀÏÀ» ãÀ» ¼ö ÀÖ´Â Àå¼Ò¿¡ ´ëÇÑ Á¤º¸¸¦ ³Ñ°ÜÁØ´Ù.

Áö±ÝÀº ½Ã½ºÅÛÀ» ¸®ºÎÆÃÇϱâ À§ÇØ reboot -f ¸í·ÉÀ» ¾µ ¼ö ÀÖ´Ù. ÀÌ ¸í·ÉÀº shutdown ÇÁ·Î±×·¥À» »ç¿ëÇÏ´Â Á¾·á °úÁ¤À» »ý·«ÇÏ°í °ð¹Ù·Î ¸®ºÎÆÃÀ» ÇÑ´Ù. ÆÄÀÏ ½Ã½ºÅÛÀÌ Àбâ Àü¿ëÀ¸·Î ¸¶¿îÆ®µÇ¾î Àֱ⠶§¹®¿¡ ¾î¶² ¹æ¹ýÀ¸·Îµç ÀÌ ¸®ºÎÆà ¹æ½ÄÀÌ ¿ì¸® ½Ã½ºÅÛ¿¡ Çظ¦ ³¢Ä¡Áø ¾Ê´Â´Ù (½Ã½ºÅÛÀ» ´ÙÀ½¹ø¿¡ ¸¶¿îÆ®ÇÒ ¶§, ÀÌÀü¿¡ ±ú²ýÇÏ°Ô ¾ð¸¶¿îÆ® µÇÁö ¾Ê¾ÒÀ¸¸ç ÆÄÀÏ ½Ã½ºÅÛÀ» º»·¡´ë·Î À¯ÁöÇϱâ À§Çؼ± e2fsck¸¦ ½ÇÇàÇØ¾ß ÇÑ´Ù´Â °æ°í¹®À» º¸°ÔµÉ °ÍÀÌÁö¸¸ ¸»ÀÌ´Ù).


´ÙÀ½ ÀÌÀü Â÷·Ê