¸ÕÀú, Ä¿³Î ºôµå µð·ºÅ丮¿¡ ´ëÇØ¼ °£´ÜÈ÷ ¾Ë¾Æº¸°Ú½À´Ï´Ù. ¿©±â¼ ¾ð±ÞÇÏ´Â ¸ðµç µð·ºÅ丮´Â /usr/src/sys µð·ºÅ丮¿¡ ´ëÇÑ »ó´ë À§Ä¡·Î ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù. ÀÌ µð·ºÅ丮´Â /sys·ÎºÎÅ͵µ Á¢±ÙÇÒ ¼ö ÀÖ½À´Ï´Ù. ±× ¾Æ·¡¿¡´Â Ä¿³ÎÀÇ °¢ ºÎºÐÀ» ³ªÅ¸³»´Â ¸¹Àº µð·ºÅ丮µéÀÌ ÀÖÁö¸¸, ¿ì¸®°¡ º¸¾Æ¾ß ÇÒ °¡Àå Áß¿äÇÑ °ÍÀº arch/conf °ú compile ÀÌ µÉ °ÍÀÔ´Ï´Ù. arch¿¡¼ ¿©·¯ºÐÀº ¸ÂÃã Ä¿³Î¿¡ ´ëÇÑ ¼³Á¤À» ¼öÇàÇÒ °ÍÀÔ´Ï´Ù. ¶ÇÇÑ, compile¿¡¼ Ä¿³ÎÀÌ ½ÇÁ¦·Î ºôµåµÉ °ÍÀÔ´Ï´Ù. arch Àº i386, alpha, ¶Ç´Â pc98 À» ÀǹÌÇÕ´Ï´Ù. (PC98Àº ÀϺ»¿¡¼ ÀαâÀÖ´Â ¶Ç´Ù¸¥ PC Çϵå¿þ¾îÀÇ °³¹ß °¡ÁöÀÔ´Ï´Ù.) ƯÁ¤ ¾ÆÅ°ÅØÃ³(i386, alpha, pc98µî)ÀÇ µð·ºÅ丮¿¡ µé¾îÀÖ´Â ¸ðµç °ÍÀº ±× ¾ÆÅ°ÅØÃ³¿¡¸¸ Àû¿ëµÇ´Â °ÍÀ̸ç, ³ª¸ÓÁö´Â ¸ðµÎ FreeBSD°¡ Æ÷ÆÃµÉ ¼öµµ ÀÖ´Â ¸ðµç Ç÷§Æûµé¿¡ ´ëÇØ ÀϹÝÀûÀÎ °ÍµéÀÔ´Ï´Ù. °¢°¢ÀÇ Áö¿øµÇ´Â ÀåÄ¡, ÆÄÀϽýºÅÛ, ±×¸®°í ±× ÀÚ½ÅÀÇ ¼ºêµð·ºÅ丮 ³»¿¡ ÀÖ´Â ¿É¼Çµé°ú ÇÔ²² ³í¸®ÀûÀÎ µð·ºÅ丮 ±¸Á¶¸¦ ÀÌÇáÇϽñ⠹ٶø´Ï´Ù.
Note: ¸¸¾à /usr/src/sys µð·ºÅ丮°¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù¸é Ä¿³Î ¼Ò½º´Â ¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀº °ÍÀÔ´Ï´Ù. Ä¿³Î ¼Ò½º¸¦ ¼³Ä¡ÇÏ´Â °¡Àå ½¬¿î ¹æ¹ýÀº /stand/sysinstall¸¦ ·çÆ® ±ÇÇÑÀ¸·Î ¼öÇàÇÏ´Â °ÍÀÔ´Ï´Ù. ±×¸®°í ¸Þ´º¿¡¼ Configure¸¦ ¼±ÅÃÇϰí ÀÌ¾î¼ Distributions¸¦ ¼±ÅÃÇÑ ÈÄ¿¡ srcÀ» ¼±ÅÃÇϼ¼¿ä. ¸¶Áö¸·À¸·Î sys¸¦ ¼±ÅÃÇÏ¸é µË´Ï´Ù.
´ÙÀ½À¸·Î, arch/conf µð·ºÅ丮·Î °¡¼ GENERIC ¼³Á¤ ÆÄÀÏÀ» ¿©·¯ºÐÀÌ Ä¿³Î¿¡ ºÎ¿©ÇϰíÀÚ ÇÏ´Â À̸§À¸·Î º¹»çÇϽʽÿÀ. ¿¹¸¦ µé¾î¼:
# cd /usr/src/sys/i386/conf # cp GENERIC MYKERNEL
º¸Åë, ÀÌ À̸§Àº ¸ðµÎ ´ë¹®ÀÚ·Î ±â¼úÇÕ´Ï´Ù. ¸¸¾à ¿©·¯ ´ëÀÇ ´Ù¸¥ Çϵå¿þ¾î¿¡ ¼³Ä¡µÇ¾î ÀÖ´Â FreeBSD¸¦ °ü¸®Çϰí ÀÖ´Â °æ¿ì¶ó¸é ÀÌ À̸§ÀÇ ¾Õ¸Ó¸®¿¡ °¢ ¸Ó½ÅÀÇ È£½ºÆ®¸íÀ» ³Ö´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ÀÌ ¿¹¿¡¼´Â MYKERNELÀ̶ó°í ºÎ¸£µµ·Ï ÇϰڽÀ´Ï´Ù.
Note: ¾ÕÀ¸·Î ¼³¸íµÇ´Â ¸ðµç ¸í·É¾î´Â root °èÁ¤¿¡¼ ¼öÇàÇÏ¿©¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é permission denied¿¡·¯°¡ ¹ß»ýÇÒ °ÍÀÔ´Ï´Ù.
ÀÚ, ÀÌÁ¦ MYKERNELÀ» ¿©·¯ºÐÀÌ ÁÁ¾ÆÇÏ´Â ¿¡µðÅ͸¦ ÀÌ¿ëÇØ¼ ÆíÁýÇØ º¾½Ã´Ù. ¸¸¾à ½Ã½ºÅÛÀ» ¼³Ä¡ÇÑ ÈĶó¸é, »ç¿ë°¡´ÉÇÑ ¿¡µðÅÍ´Â vi»ÓÀÏ °ÍÀÔ´Ï´Ù. ÀÌ ¿¡µðÅÍ´Â ¿©±â¼ ¼³¸íÇϱ⿣ ³Ê¹« º¹ÀâÇϹǷΠ¼³¸íÇÏÁö ¾Ê½À´Ï´Ù. ÇÏÁö¸¸, ÂüÁ¶ ¼Àû¿¡ Àִ åµéÀ» ÂüÁ¶ÇϽʽÿÀ. ±×·¸Áö¸¸, FreeBSD¿¡´Â "ee"¶ó°í ÇÏ´Â º¸´Ù ½¬¿î ¿¡µðÅͰ¡ ÀÖ½À´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ Àͼ÷ÇÏÁö ¾ÊÀº Á¶º¸ÀÚ¶ó¸é ÀÌ ¿¡µðÅ͸¦ ÅÃÇϽʽÿÀ. °¡Àå À§¿¡ ÀÖ´Â ÁÖ¼®µéÀ» º¯°æÇؼ ¿©·¯ºÐÀÇ ±¸¼º ÆÄÀÏÀÓÀ» Ç¥½ÃÇϰí, º¯°æÇÑ »çÇ×µéÀ» ÁÖÀú¾øÀÌ ±â·ÏÇϼ¼¿ä. ±×·¸°Ô ÇØ¼ GENERIC °ú ±¸º°µÇ°Ô ÇØ ³õÀ¸¼¼¿ä.
¸¸¾à SunOS³ª ´Ù¸¥ BSD ¿î¿µÃ¼Á¦¸¦ ºôµåÇÑ ÀûÀÌ ÀÖ´Ù¸é, ÀÌ ÆÄÀÏÀÇ ´ëºÎºÐÀº ¸Å¿ì Ä£¼÷ÇÒ °ÍÀÔ´Ï´Ù. ¹Ý¸é, DOS¿Í °°Àº ´Ù¸¥ ¿î¿µÃ¼Á¦¸¦ »ç¿ëÇß¾ú´Ù¸é GENERIC¼³Á¤ ÆÄÀÏÀÌ ¸Å¿ì ¾î·Æ°Ô º¸ÀÏ ¼öµµ ÀÖ½À´Ï´Ù. ±×·¸´Ù¸é ¼³Á¤ ÆÄÀÏÀýÀ» õõÈ÷ ÁÖÀDZí°Ô ÀÐ¾î º¸½Ê½Ã¿À.
Note: ¸¸¾à ¼Ò½º Æ®¸®¸¦ ÃÖ½ÅÀÇ FreeBSD ÇÁ·ÎÁ§Æ®¿¡ ÀÖ´Â ¼Ò½º Æ®¸®¿Í µ¿±âÈ ½ÃŰ´Â °æ¿ì¶ó¸é, ÀÛ¾÷À» ¼öÇàÇÒ ¶§¿¡´Â Ç×»ó ¹Ì¸® /usr/src/UPDATINGÀ» È®ÀÎÇϵµ·Ï ÇϽʽÿÀ. ÀÌ ÆÄÀÏ ³»¿¡´Â FreeBSD¸¦ °»½ÅÇÏ´Â µ¥ ÀÖ¾î¼ Áß¿äÇÑ »çÇ×µéÀÌ ±â¼úµÇ¾î ÀÖ½À´Ï´Ù. /usr/src/UPDATINGÀº Ç׽à ¿©·¯ºÐÀÇ FreeBSD ¹öÀü¿¡ ¸ÂÃß¾î¼ °»½ÅµÇ°í Àֱ⠶§¹®¿¡ °ü·ÃµÈ Á¤º¸¿¡ ´ëÇØ¼´Â ÀÌ ÇÚµåºÏº¸´Ù Á¤È®ÇÑ Á¤º¸¸¦ °¡Áö°í ÀÖ½À´Ï´Ù.
¸¸¾à FreeBSD 4.0 ÀüÀÇ ¹öÀüÀ» »ç¿ëÇϰí FreeBSD 4.0À̳ª ´õ ³ôÀº ¹öÀüÀ¸·Î ¾÷±×·¹À̵åÇÒ Àǻ簡 ¾ø´Ù¸é, ¶Ç´Â FreeBSDÀÇ release versionÀ» »ç¿ëÇϰí ÀÖÀ¸¸ç /usr/srcµð·ºÅ丮¿¡ sys/µð·ºÅ丮¸¸ ÀÖ´Â °æ¿ì¿¡´Â ´ÙÀ½°ú °°Àº ¸í·ÉÀ¸·Î Ä¿³ÎÀ» ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇϽʽÿÀ.
When you are finished, type the following to compile and install your kernel if you are using FreeBSD prior FreeBSD 4.0 and don't want to upgrade to FreeBSD 4.0 or higher with this step, or if you are using a release-version of FreeBSD and your /usr/src/ directory only contains the sys/ sub-directory.
Note: ¸¸¾à FreeBSD Ä¿³ÎÀ» ¾÷±×·¹À̵åÇÏ´Â °æ¿ì¶ó¸é »õ·Î¿î Ä¿³Î ¼Ò½º¸¦ ¾òÀº Àå¼Ò¿¡¼ »õ ¹öÀüÀÇ config(8)À» °¡Á®¿Í¾ß ÇÕ´Ï´Ù. À̰ÍÀº /usr/src/usr.sbin¿¡ ÀÖ½À´Ï´Ù. ÀÌ ¼Ò½º Äڵ带 ÇÔ²² ´Ù¿î·Îµå¹ÞÀ¸¼¼¿ä. ±×¸®°í ´ÙÀ½ ¸í·É¾î¸¦ ½ÇÇàÇϱâ Àü¿¡ config(8)À» ºôµåÇÏ°í ¼³Ä¡ÇϽʽÿÀ.
# /usr/sbin/config MYKERNEL # cd ../../compile/MYKERNEL # make depend # make # make install
¸¸¾à 4.X ´ë ¶Ç´Â ´õ ³ôÀº ¹öÀüÀ¸·Î ¾÷±×·¹À̵åÇÏ´Â Áö±Ý ¸· ¾÷±×·¹À̵åÇÑ °æ¿ì¶ó¸é(¿¹¸¦ µé¾î 3.X ¿¡¼ 4-STABLE ·Î, ¶Ç´Â 4-STABLE¿¡¼ ³ªÁß ¹öÀüÀÇ 4-STABLE·Î °¡´Â °æ¿ì ) build the world(make build)¸¦ ÇÏ¿´´ÂÁö¸¦ È®ÀÎÇÑ µÚ¿¡ ´ÙÀ½ ¸í·ÉÀ» ¼öÇàÇϽʽÿÀ.
# cd /usr/src # make buildkernel KERNEL=MYKERNEL # make installkernel KERNEL=MYKERNEL
¸¸¾à ¾î¶² °æ·Î·Îµç °£¿¡ ¼Ò½º Æ®¸®¸¦ ¾÷±×·¹À̵åÇÏÁö ¾ÊÀº »óŶó¸é (CVSup, CTM¸¦ ¼öÇà½ÃŰÁö ¾Ê¾ÒµçÁö, anoncvs¸¦ »ç¿ëÇÏÁö ¾ÊÀº »óŶó¸é ) config, make depend, make, make install ÀÇ °úÁ¤À» ¼öÇàÇϽʽÿÀ.
Warning¸¸¾à ¿©·¯ºÐÀÇ ¼Ò½º¸¦ ¸¶Áö¸·À¸·Î Ä¿³Î ºôµå¸¦ ¼öÇàÇÑ ´ÙÀ½¿¡ ¾÷±×·¹À̵åÇÑ ÀûÀÌ ÀÖ´Ù¸é ¹Ýµå½Ã make buildkernel¸¦ »ç¿ëÇÏ¿©¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ±âÁ¸ÀÇ À¯Æ¿¸®Æ¼ ÇÁ·Î±×·¥µéÀÌ Ä¿³ÎÀ» ºôµåÇϴµ¥ »ç¿ëµÉ °ÍÀ̸ç, ÀÌ·Î ÀÎÇØ ÀÛ¾÷ÀÌ ½ÇÆÐÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¼Ò½º¸¦ ¾÷µ¥ÀÌÆ®ÇÑ »óŶó¸é, config/make´Â »ç¿ëÇÏÁö ¸¶½Ê½Ã¿À!
»õ·Î¿î Ä¿³ÎÀº ·çÆ® µð·ºÅ丮¿¡ /kernelÀ̶ó´Â À̸§À¸·Î º¹»çµÇ°í, ±âÁ¸ÀÇ Ä¿³ÎÀº /kernel.old À̶ó´Â À̸§À¸·Î º¸Á¸µË´Ï´Ù. ÀÚ, ÀÌÁ¦ ½Ã½ºÅÛÀ» ÀçºÎÆÃÇϽʽÿÀ. ¹«¾ð°¡°¡ À߸øµÇ¾ú´Ù¸é ÀÌ ¹®¼ ¸Ç ³¡¿¡ ÀÖ´Â ¹«¾ð°¡ À߸øµÇ¾úÀ» ¶§ ¶õÀ» ÂüÁ¶ÇϽʽÿÀ. »õ·Î¿î Ä¿³ÎÀÌ ºÎÆÃµÇÁö ¾ÊÀ» ¶§ÀýÀ» ºÎÆÃµÇÁö ¾ÊÀ» ¶§¸¦ ´ëºñÇÏ¿© È®½ÇÈ÷ ÀÐ¾î µÎ½Ê½Ã¿À.
Note: »õ·Î¿î ÀåÄ¡(»ç¿îµå Ä«µå¿Í °°Àº)À» Ãß°¡ÇÏ¿´´Ù¸é ¸î¸î ÀåÄ¡ ³ëµå¸¦ Ãß°¡ÇØ¾ß ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÀåÄ¡ ³ëµå´Â »ç¿ëÇϱâ Àü¿¡ /dev¿¡ Ãß°¡µÇ¾î¾ß ÇÕ´Ï´Ù.