ÀϹÝÀûÀΠȯ°æ ÇÏ¿¡¼± Ä¿³ÎÀÌ ·ÎµåµÇ¾î ¿©·¯ ½Ã½ºÅÛ ±¸¼º ¿ä¼ÒµéÀ» ÃʱâÈÇÑ ÈÄ
½Ã½ºÅÛÀÇ ºÎÆà ÇÁ·Î¼¼½º¸¦ ¸¶¹«¸®ÇÒ init
¶ó ºÒ¸®´Â ÇÁ·Î±×·¥À»
·ÎµåÇÑ´Ù. ÀüºÎ ´Ù´Â ¾Æ´Ò Áö¶óµµ °ÅÀÇ ´ëºÎºÐÀÇ ¸®´ª½º ½Ã½ºÅÛ¿¡ µé¾îÀÖ´Â
ÆÐÅ°Áö´Â SysvinitÀ̸ç ÀÌ°ÍÀÌ ¿ì¸®°¡ LFS ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇÏ·Á´Â ÇÁ·Î±×·¥ÀÌ´Ù.
Makefile
ÆÄÀÏÀ» ¼öÁ¤ÇÑ´Ù.¸¶Áö¸· ³× ÁÙ¿¡ $(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
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
¿©·¯ºÐÀÌ inittab ÆÄÀÏ¿¡¼ º¸´Â °Íó·³ ¿ì¸®°¡ ½Ã½ºÅÛÀ» ºÎÆÃÇϸé init °¡ sulogin ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°¸ç suloginÀº ¿©·¯ºÐ¿¡°Ô rootÀÇ Æнº¿öµå¸¦ ¹°¾îº¼ °ÍÀÌ´Ù. ÀÌ´Â ¿ì¸®°¡ LFS ½Ã½ºÅÛ »ó¿¡ Àû¾îµµ passwd ÆÄÀÏÀº °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.
À§ÀÇ ÀÎÄÚµùµÈ Æнº¿öµå ¹®ÀÚ¿Àº lfs123 ÀÌ´Ù.
¿©·¯ºÐÀÇ LFS ½Ã½ºÅÛ¿¡ ·Î±×¿Â ÇÒ ¶§ rootÀÇ Æнº¿öµå¸¦ ¹°¾î¿Â´Ù¸é lfs123À» ÀÔ·ÂÇÏ¸é µÈ´Ù.
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
ÀÌ ÆÄƼ¼ÇÀ¸·ÎºÎÅÍ ºÎÆÃÀÌ °¡´ÉÇϱâ À§Çؼ± ¿ì¸®´Â /etc/lilo.conf
ÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù. ´ÙÀ½ ÁÙµéÀ» lilo.conf ¿¡ Ãß°¡ÇÑ´Ù:
image=<currently used image> label=<label> root=$LFS read-only
<currently used image>¸¦ ¿©·¯ºÐÀÌ ±âÁ¸ÀÇ ¸®´ª½º ½Ã½ºÅÛÀ» ºÎÆÃÇϱâ À§ÇØ »ç¿ëÇÏ´Â À̹ÌÁö ÆÄÀÏ·Î ¹Ù²Û´Ù. <label>´Â ¿©·¯ºÐÀÌ ¿øÇÏ´Â ¹«¾ùÀÌµç µÉ ¼ö ÀÖ´Ù. ³ª´Â "lfs"¶ó ĪÇß´Ù. ¿©·¯ºÐÀÌ <label>¿¡ ³Ö´Â °ÍÀÌ ºÎÆÃÇÒ ½Ã½ºÅÛÀ» °í¸£±â À§ÇØ LILO ÇÁ·ÒÇÁÆ®¿¡¼ ¿©·¯ºÐÀÌ ÀÔ·ÂÇÏ´Â °ÍÀÌ´Ù.
ºÎÆ® ·Î´õ¸¦ °»½ÅÇϱâ À§ÇØ lilo
ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù.
ÀÌ ÀåÀ» ³¡¸¶Ä£ ÈÄ ¿ì¸®´Â 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¸¦ ½ÇÇàÇØ¾ß ÇÑ´Ù´Â °æ°í¹®À» º¸°ÔµÉ °ÍÀÌÁö¸¸ ¸»ÀÌ´Ù).