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

3. Ä¿³Î ¼Ò½º ¼³Ä¡Çϱâ

ÀÌ Àý¿¡¼­´Â Tar-Ball(tar·Î ¹­Àº ´ÙÀ½ gzipÀ¸·Î ¾ÐÃàÇÑ ÆÐÅ°Áö) ÇüÅÂÀÇ ¼Ò½º¸¦ ´Ù¿î¹Þ¾Æ ÀûÀýÇÑ °÷¿¡ Ç®¾î ³õ°í, ±âÃÊ È¯°æÀ» ±¸¼ºÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.

3.1 ÄÄÆÄÀÏÀ» À§ÇÑ ±âº» µµ±¸ ¾Ë¾Æº¸±â

»õ Ä¿³ÎÀ» ÄÄÆÄÀÏÇϱâ À§ÇØ ¾÷µ¥ÀÌÆ®°¡ ÇÊ¿äÇÑ ¶óÀ̺귯¸®³ª ÇÁ·Î±×·¥ÀÌ ÀÖ´ÂÁö È®ÀÎÇÏ¿© ÇÊ¿äÇÏ´Ù¸é »õ·Î ¼³Ä¡ÇÕ´Ï´Ù. ±×·¯³ª ¸ðµç µµ±¸µéÀÌ ¹Ýµå½Ã ÇÊ¿äÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. ¿¹¸¦ µé¾î pcmcia-cs´Â pcmciaÀåºñ°¡ ¾ø´Â ½Ã½ºÅÛ¿¡¼­´Â ¼³Ä¡ÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù.

¿©·¯ºÐÀÌ »õ Ä¿³Î ¼Ò½º¸¦ /usr/src¾Æ·¡ ¼³Ä¡ÇÏ°í linux¶ó´Â À̸§À¸·Î ¸µÅ©ÇØ µÎ¾ú´Ù¸é, °ü·ÃµÈ ¹®¼­´Â /usr/src/linux/Documentation/ChangesÀÔ´Ï´Ù.

¾Æ·¡´Â °¢ µµ±¸¸¶´Ù ÃÖ¼ÒÇÑÀÇ ¹öÀü(2.4.2 Ä¿³ÎÀ» À§ÇÑ)°ú È®ÀÎÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. ¿¹¸¦ µé¾î Gnu CÀÇ ¹öÀüÀ» È®ÀÎÇÒ ¶§¿¡´Â "gcc --version"À̶ó´Â ¸í·ÉÀ» »ç¿ëÇÕ´Ï´Ù.

---------------+---------------+--------------------------------------
ÆÐÅ°Áö         |  ÃÖ¼Ò¹öÀü     |  È®ÀÎÇÏ´Â ¹æ¹ý 
---------------+---------------+--------------------------------------
Gnu C          |  2.91.66      |  # gcc --version 
Gnu make       |  3.77         |  # make --version 
binutils       |  2.9.1.0.25   |  # ld -v 
util-linux     |  2.10o        |  # fdformat --version 
modutils       |  2.4.2        |  # insmod -V 
e2fsprogs      |  1.19         |  # tune2fs 
reiserfsprogs  |  3.x.0b       |  # reiserfsck 2>&1|grep reiserfsprogs 
pcmcia-cs      |  3.1.21       |  # cardmgr -V 
PPP            |  2.4.0        |  # pppd --version 
isdn4k-utils   |  3.1pre1      |  # isdnctrl 2>&1|grep version 
---------------+---------------+--------------------------------------

¾Æ·¡´Â µµ±¸µéÀ» ±¸ÇÏ´Â ÀÎÅÍ³Ý À§Ä¡ÀÔ´Ï´Ù. ÆÄÀÏ À̸§À̳ª ¹öÀü ¹øÈ£´Â Á¶±Ý¾¿ ´Þ¶óÁú ¼öµµ ÀÖ½À´Ï´Ù:

modutils :

À§Ä¡ - ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/v2.4/

ÆÄÀÏ - modutils-2.4.2.tar.gz

util-linux :

À§Ä¡ - ftp://ftp.kernel.org/pub/linux/utils/util-linux/

ÆÄÀÏ - util-linux-2.10s.tar.gz

E2fsprogs :

À§Ä¡ - ftp://download.sourceforge.net/pub/sourceforge/e2fsprogs/

ÆÄÀÏ - e2fsprogs-1.19.tar.gz ȤÀº 1.19-0.i386.rpm

ÁÖÀÇ! sourceforge¿¡¼­ ls ¸í·ÉÀ» »ç¿ëÇÏÁö ¸» °Í..^^ ÆÄÀÏ°ú µð·ºÅ丮°¡ ³Ê¹« ¸¹¾Æ ¸¶Ä¡ ´Ù¿îµÈ µí º¸ÀÏ ¼öµµ..

Reiserfsprog :

À§Ä¡ - ftp://ftp.namesys.com/pub/reiserfsprogs/

ÆÄÀÏ - reiserfs_utils-3.6.25-fsck-3.x.0b.tar.gz, reiserfsprogs-3.x.0d.tar.gz

Pcmcia-cs :

À§Ä¡ - ftp://pcmcia-cs.sourceforge.net/pub/pcmcia-cs/

ÆÄÀÏ - pcmcia-cs-3.1.24.tar.gz

PPP :

À§Ä¡ - ftp://linuxcare.com.au/pub/ppp/

ÆÄÀÏ - ppp-2.4.0b4.tar.gz

Isdn4k-utils :

À§Ä¡ - ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/

ÆÄÀÏ - isdn4k-utils.v3.1pre1.tar.gz

3.2 ÄÄÆÄÀÏÀ» À§ÇÑ ±âº» µµ±¸ ¼³Ä¡Çϱâ

»õ Ä¿³Î ÄÄÆÄÀÏ°ú ¸ðµâ ¼³Á¤¿¡ ¾²ÀÌ´Â µµ±¸µéÀ» ÀÎÅͳÝÀ¸·ÎºÎÅÍ °¡Á®¿Ô´Ù¸é ´ÙÀ½°ú °°Àº °úÁ¤À» °ÅÃÄ ÀÚ½ÅÀÇ ¸Ó½Å¿¡ ¼³Ä¡ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î /usr/local/src/kernel-2.4/util-linux-2.10s.tar.gz¸¦ ¼³Ä¡ÇÑ´Ù¸é:

1. ¸ÕÀú Àû´çÇÑ À§Ä¡¿¡ ¾ÐÃàÀ» Ç®¾î³õ½À´Ï´Ù.

   # cd /usr/local
   # tar xvzf /usr/local/src/kernel-2.4/util-linux-2.10s.tar.gz

2. ¾Æ¸¶ util-linux-2.10s¶ó´Â À̸§À¸·Î »õ·Î¿î µð·ºÅ丮°¡ ¸¸µé¾îÁö°í 
   ±× ¾È¿¡ ¼Ò½º ÆÄÀϵéÀÌ ³õÀÏ °ÍÀÔ´Ï´Ù. 

   # cd util-linux-2.10s

3. ½Ã½ºÅÛ Á¤º¸¸¦ ¼öÁýÇؼ­ ÄÄÆÄÀÏÀ» À§ÇÑ ±âÃÊȯ°æÀ» ±¸¼ºÇÕ´Ï´Ù. 

   # ./configure

4. 3¿¡¼­ »ý¼ºÇÑ Makefileµî ¼³Á¤ÆÄÀÏÀ» ÀÌ¿ëÇØ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÕ´Ï´Ù.

   # make;make install

3.3 Ä¿³Î ¼Ò½º Ç®±â

ÀϹÝÀûÀ¸·Î Ä¿³Î ¼Ò½º´Â /usr/src µð·ºÅ丮 ¾Æ·¡ ¼³Ä¡ÇÕ´Ï´Ù. /usr/src ¾Æ·¡¿¡´Â ½ÇÁ¦ Çì´õ, Ä¿³ÎÀÌ ¼³Ä¡µÈ µð·ºÅ丮¿Í ±× ¸µÅ©°¡ ÀÖ½À´Ï´Ù. ÀÌÀü Ä¿³ÎÀÌ µé¾îÀÖ´Â µð·ºÅ丮¿¡ ´ëÇÑ ¸µÅ©¸¦ »èÁ¦ÇÏ°í(¿ì¼±Àº ¸µÅ©¸¸ Áö¿ó´Ï´Ù) »õ Ä¿³Î ¼Ò½º°¡ ¼³Ä¡µÈ µð·ºÅ丮¸¦ Linux¶ó´Â À̸§À¸·Î ´Ù½Ã ¸µÅ©ÇÕ´Ï´Ù.

# cd /usr/src
# rm -f linux
# mkdir linux-2.4.2
# tar xvzf linux-2.4.2.tar.gz linux-2.4.2
# ln -s linux-2.4.2 linux

RPM(´Ù¸¥ ¸Ó½Å¿¡¼­ ¹Ì¸® ÄÄÆÄÀÏµÈ ¹ÙÀ̳ʸ® ÆÐÅ°Áö)À̳ª dpkg, ȤÀº Tar-Ball ÇüÅÂÀÇ ¹ÙÀ̳ʸ®¸¦ ¼³Ä¡ÇÏÁö ¾Ê°í, ¼Ò½ºÄڵ带 ÄÄÆÄÀÏÇØ¾ß ÇÑ´Ù¸é /usr/src/linux¾Æ·¡ ÄÚµåµéÀ» Âü°íÇÕ´Ï´Ù.

»õ·Î ¼³Ä¡ÇÑ Ä¿³Î ¼Ò½º°¡ °³¹ß¹öÀüÀ̶ó¸é ÄÄÆÄÀÏ ÈÄ Á¤»óÀûÀ¸·Î ÀÛµ¿µÇ´õ¶óµµ ÀÌÀüÀÇ ¾ÈÁ¤¹öÀüÀ» »èÁ¦ÇÏÁö ¾Êµµ·Ï ÇÕ´Ï´Ù.

3.4 Ä¿³Î ÆÐÄ¡

ÆÐÄ¡ÆÄÀÏÀº diff À¯Æ¿¸®Æ¼¸¦ ÀÌ¿ëÇÏ¿© Ä¿³ÎÀÇ ÀϺκÐÀ» ¼öÁ¤ÇÕ´Ï´Ù. ÆÐÄ¡ÆÄÀÏÀº ºü¸£°Ô °»½ÅµÇ¸ç »õ·Î¿î ÆÐÄ¡ÆÄÀÏÀº ÀÌÀü ÆÐÄ¡¿¡ ´ëÇÑ Á¤º¸¸¦ Æ÷ÇÔÇÏÁö ¾Ê½À´Ï´Ù. ±×·¯¹Ç·Î ÆÐÄ¡·¹º§Àº ¼ø¼­´ë·Î ¸ðµÎ Àû¿ëÇؾ߸¸ ÇÕ´Ï´Ù. ÆÐÄ¡°¡ ¸¹ÀÌ ÀÌ·ç¾îÁø ÈĶó¸é Ä¿³Î ¼Ò½º Àüü¸¦ ´Ù½Ã ¹Þ´Â °ÍÀÌ À¯¸®ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

Ä¿³Î 2.2.9¿¡¼­ Ä¿³Î 2.4.2·Î ¾÷±×·¹À̵åÇϱâ À§Çؼ­ patch-2.2.10.gz, patch-2.2.11.gz ¸ðµÎ¸¦ ¼ø¼­´ë·Î Àû¿ëÇØ¾ß ÇÕ´Ï´Ù. ¾Æ·¡¿¡ ¿¹°¡ ÀÖ½À´Ï´Ù.

¿É¼Ç °¡¿îµ¥ p0´Â ÆÐÄ¡ÆÄÀÏ¿¡ µé¾îÀÖ´Â °æ·Î¿¡ ´ëÇÑ »ó´ëÀûÀÎ À§Ä¡¸¦ ¶æÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ÆÐÄ¡ÆÄÀÏ ¾È¿¡ ÆÐÄ¡ÇÒ ´ë»óÀÌ µé¾î ÀÖ´Â µð·ºÅ丮¿Í ´ë»ó ÆÄÀÏÀ» "/u/howard/src/blurfl/blurfl.c"À̶ó°í ¼³Á¤Çß´Ù¸é -p0´Â "/u/howard/src/blurfl/blurfl.c", -p1Àº "u/howard/src/blurfl/blurfl.c", -p4´Â "blurfl/blurfl.c"°¡ µË´Ï´Ù.

# cd /usr/src
# ls
linux linux-2.2.9 patch-2.2.10.gz patch-2.2.11.gzpatch-2.4.2.gz
# gzip -cd patch-2.2.10.gz | patch -p0
# gzip -cd patch-2.2.11.gz | patch -p0
# gzip -cd patch-2.4.2.gz | patch -p0

¸¹Àº ÆÐÄ¡ ÀÛ¾÷Àº ¼ÐÀÇ for ¸í·ÉÀ» ÀÌ¿ëÇØ ÀÚµ¿È­ÇÒ ¼ö ÀÖ½À´Ï´Ù.

# for LeveL in 10 11 12 ; do
> gzip -cd patch-2.2.$[LeveL].gz | patch -p0
> done
#
/usr/src/linux/scripts µð·ºÅ丮¿¡´Â ¿©·¯ ´Ü°èÀÇ ÆÐÄ¡ ÀÛ¾÷À» ÀÚµ¿À¸·Î ½ÇÇàÇÏ´Â ½ºÅ©¸³Æ® patch-kerneLÀÌ ÀÖ½À´Ï´Ù.patch-kerneLÀº /usr/src ¾Æ·¡¿¡ ÀÖ´Â Ä¿³Î ÆÐÄ¡ÆÄÀϵé°ú Ä¿³Î ¼Ò½ºÀÇ ¹öÀü°ú ºñ±³ÇÏ¿© ¼ø¼­¿¡ µû¶ó ÆÐÄ¡¸¦ Àû¿ëÇÕ´Ï´Ù.
# cd /usr/src
# ls
linux linux-2.2.9 patch-2.2.10.gz patch-2.2.11.gzpatch-2.4.2.gz
# linux/scripts/patch-kernel
ÆÐÄ¡°¡ ¼º°øÇß´Ù¸é ÆÐÄ¡ ´ë»óÀÌ µÈ ÆÄÀÏÀÇ ¿øº»Àº À̸§³¡¿¡ .orig¸¦ ºÙ¿© ¹é¾÷µË´Ï´Ù. ÆÐÄ¡ °úÁ¤¿¡¼­ ¹®Á¦°¡ »ý°Ü ½ÇÆÐÇß´Ù¸é ½ÇÆÐÇÑ ÆÄÀÏ À̸§ µÚ¿¡ .rej¸¦ ºÙÀÎ ÆÄÀÏÀ» ¸¸µì´Ï´Ù. *.rejÆÄÀÏÀ» »ìÆ캸°í ÆÐÄ¡ ÀÛ¾÷À» ´Ù½Ã ¼öÇàÇÕ´Ï´Ù.

# find /usr/src/linux/ -name "*.rej"

*.rej ÆÄÀÏÀ» ãÀ» ¼ö ¾ø°í ÆÐÄ¡°¡ ¼º°øÇß´Ù¸é *.origÆÄÀÏÀ» »èÁ¦ÇÕ´Ï´Ù.

# find /usr/src/linux/ -name "*.orig" -exec rm -f {} \;

ÆÐÄ¡µÈ Ä¿³Î ¼Ò½º µð·ºÅ丮 À̸§À» ÆÐÄ¡·¹º§ ¹øÈ£·Î ¹Ù²Ù°í ¸µÅ©¸¦ ´Ù½Ã ¼³Á¤ÇÕ´Ï´Ù.

# cd /usr/src
# rm -f linux
# mv linux-2.2.9 linux-2.4.2
# ln -s 

3.5 ÇÑ±Û ÆÐÄ¡

ÃÖ±Ù ¹öÀü Ä¿³Î¿¡¼­´Â ÇÑ±Û ÄÚµåÆäÀÌÁö¿Í ·ÎÄÉÀÏÀÌ µé¾î ÀÖ¾î µû·Î ÆÐÄ¡ÇÏÁö ¾Ê¾Æµµ Çѱ۷ΠµÈ ÆÄÀÏ À̸§ µîÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

3.6 make mrproper

ÀÌÀü¿¡ ¼³Á¤ÇÑ Á¤º¸¸¦ Áö¿ì°Å³ª »õ·Î¿î Ä¿³Î ¼Ò½º¸¦ °¡Á®´Ù ÄÄÆÄÀÏ ÇÒ ¶§¿¡´Â ÀÌ ¸í·ÉÀ» ¸ÕÀú »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ÀÌÀü Ä¿³ÎÀ» ÄÄÆÄÀÏÇÒ ¶§ ¸¸µé¾îÁø ¿ÀºêÁ§Æ® ÆÄÀÏ(*.o)°ú ÀÇÁ¸¼º ¼³Á¤, ÄÄÆÄÀÏ È¯°æ ¼³Á¤°ª, ¹öÀü Á¤º¸ µî »õ·Î ½ÃÀÛÇÏ´Â ÄÄÆÄÀÏ¿¡ ¿µÇâÀ» ÁÖ´Â ÀÌÀü Á¤º¸µéÀ» »èÁ¦ÇÕ´Ï´Ù. ÀÌÀü¿¡ ¼³Á¤µÈ ÄÄÆÄÀÏȯ°æÀ» Àç»ç¿ëÇÑ´Ù¸é ÀÌ °úÁ¤À» °Ç³Ê¶Ý´Ï´Ù.

# cd /usr/src/linux
# make mrproper


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