RedHat ±â¹Ý 6.1ÀÌ»óÀÇ ¹èÆ÷ÆÇÀ̶ó¸é modutils¸¸ ¾÷±×·¹À̵å ÇÏ¸é µÉ°ÍÀÌ´Ù. (modutils¸¦ ¾÷Çϴµ¥ glibc¹öÀüÀÌ ³·´Ù¸é glibcµµ ¾÷ÇØ¾ß ÇÑ´Ù. glibc´Â ·ÎÄÉÀϰú timezone, ¿©·¯ ¶óÀ̺귯¸®¸¦ Æ÷ÇÔÇØ¼ ÀÇÁ¸¼º ¹®Á¦¿¡ ¸¹Àº ¿µÇâÀ» ³¢Ä¡¹Ç·Î ¾÷±×·¹À̵å Çϴµ¥ ÁÖÀǸ¦ ÇÊ¿ä·Î ÇÑ´Ù. rpm ¹öÀüÀÌ ³·´Ù¸é rpmµµ ¾÷ÇØ¾ß ÇÑ´Ù.) 2.4.0-test Ä¿³ÎÀ» »ç¿ëÇϱâÀ§Çؼ ´ÙÀ½ »çÇ×À» È®ÀÎÇ϶ó.
ÆÐŰÁö ¸í ¹öÀü È®Àιæ¹ý
o Gnu C 2.7.2.3 # gcc --version
o Gnu make 3.77 # make --version
o binutils 2.9.1.0.22 # ld -v
o util-linux 2.10o # kbdrate -v
o modutils 2.3.13 # insmod -V
o e2fsprogs 1.18 # /sbin/tune2fs --version
o pcmcia-cs 3.1.19 # cardmgr -V
o PPP 2.4.0 # pppd --version
o isdn4k-utils 3.1beta7 # isdnctrl 2>&1|grep version
$ cat /proc/cpuinfo ¸¦ ÇØº¸¸é È®ÀÎÇÒ ¼ö ÀÖ´Ù. Bogo(bogos : °¡Â¥)À̹ǷΠ½Å·ÚÇÒ¼ø ¾øÁö¸¸ ±âºÐ¸¸Àº ÁÁÁö¾ÊÀº°¡?
¸¸¾à modutils ¹öÀüÀÌ ¾Õ¿¡¼ ¸í½ÃÇÑ ¹öÀüº¸´Ù ³·Àºµ¥ ¸ðµâ ÄÄÆÄÀÏÀ» ÇÑ´Ù¸é ¿¡·¯°¡ ³´Ù. ²À modutils¸¦ ¾÷ ÇØ¾ß ¸ðµâ ÄÄÆÄÀÏÀ» ÇÒ ¼ö ÀÖ´Ù. modutils¸¦ ¾÷ÇÏ¸é ¿¹ÀüÀÇ /etc/conf.modules°¡ /etc/modules.conf·Î ¹Ù²î°í USB ¸ðµâµµ ÀÚµ¿·ÎµùÀÌ °¡´ÉÇÏ¸ç ¸¹Àº ¿¹¾à¾î¸¦ Áö¿øÇÑ´Ù. ´ÙÀ½ ftp »çÀÌÆ®¿¡¼ ±¸ÇÒ¼ö ÀÖ´Ù. ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/v2.3/
Ä¿³Î 2.4.0-test6 ÀÌ»óÀÇ ¹öÀüºÎÅÍ ¸ðµâµéÀÌ À§Ä¡ÇÏ´Â '/lib/modules/Ä¿³Î¹öÀü' ÀÇ µð·ºÅ丮 ±¸Á¶°¡ ´õ ¼¼ºÐÈ µÇ°í ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î ¹Ù²î¾ú´Ù. ÇöÀç ÇÊÀÚÀÇ µð·ºÅ丮 ±¸Á¶ÀÌ´Ù. [kernel@suni00/lib/modules/2.4.0-test7]$ ls -l lrwxrwxrwx 1 root root 26 Sep 4 17:09 build -> /usr/src/linux-2.4.0-test7/ drwxr-xr-x 6 root root 1024 Sep 4 17:09 kernel/ -rw-r--r-- 1 root root 1340 Sep 5 20:33 modules.dep -rw-r--r-- 1 root root 3235 Sep 5 20:33 modules.pcimap drwxr-xr-x 2 root root 1024 Sep 4 17:09 pcmcia/ À§ÀÇ kernel µð·ºÅ丮¿¡ µé¾î°¡º¸¸é ´ÙÀ½°ú °°ÀÌ ¼¼ºÐÈ µÇ¾îÀÖ´Ù. [kernel@suni00/lib/modules/2.4.0-test7/kernel]$ ls -l drwxr-xr-x 3 root root 1024 Sep 4 17:09 arch/ drwxr-xr-x 8 root root 1024 Sep 4 17:10 drivers/ drwxr-xr-x 9 root root 1024 Sep 4 17:09 fs/ drwxr-xr-x 4 root root 1024 Sep 4 17:09 net/ drivers µð·ºÅ丮 ±¸Á¶¸¦ º¸¸é ¿¹Àü ¸ðµâµéÀÇ µð·ºÅ丮 ±¸Á¶°¡ ¿©±â·Î ¿Å°Ü ¿ÔÀ½À» ¾Ë ¼ö ÀÖ´Ù. [kernel@suni00/lib/modules/2.4.0-test7/kernel/drivers]$ ls -l drwxr-xr-x 2 root root 1024 Sep 4 17:09 block/ drwxr-xr-x 3 root root 1024 Sep 4 17:09 char/ drwxr-xr-x 2 root root 1024 Sep 4 17:09 ide/ drwxr-xr-x 2 root root 1024 Sep 4 17:09 net/ drwxr-xr-x 2 root root 1024 Sep 4 17:09 sound/ drwxr-xr-x 2 root root 1024 Sep 4 17:10 video/
2^16Àº 65536À̹ǷΠ»ç¿ëÀÚ¸¦ 65536¸í ±îÁö ¸¸µé¼ö ÀÖÁö¸¸ Ä¿³Î 2.4¿¡¼´Â 2^32 Áï 4294967296¸íÀ» ¸¸µé¼ö ÀÖ´Ù.(½Ã½ºÅÛ ÄÝÀÇ º¯°æµµ ÇÊ¿ä·Î Çϸç Çö½ÇÀûÀ¸·Î ÀÌ·¸°Ô ¸¹Àº À¯Àú¸¦ ÇÑ ¼¹ö¿¡ µÐ´Ù´Â°ÍÀº ¹«¸®ÀÌ´Ù.)
2.2.x Ä¿³ÎÀÇ ¼Ò½º¸¦ º¸¸é include/linux/tasks.h¿¡¼ NR_TASKSÀÇ °³¼ö°¡ 512·Î Á¤ÀǵǾî ÀÖ´Ù. 512ÀÌ»óÀÇ ÇÁ·Î¼¼½º¸¦ »ý¼ºÇÒ ¼ö ÀÖµµ·Ï ÇÏ·Á¸é ÀÌ °ªÀ» °íÃÄ ÁÖ¾î¾ß Çߴµ¥ x86 machine¿¡¼´Â GDT(Global Descriptor Table)ÀÇ Á¦ÇѶ§¹®¿¡ 4092±îÁö ¹Û¿¡ ÇÒ ¼ö ¾øµµ·Ï µÇ¾îÀÖ¾ú´Ù. 2.4.0-test ¹öÀü¿¡¼´Â task ÀڷᱸÁ¶°¡ µ¿ÀûÀ¸·Î ÇÒ´çµÇ¾î NR_TASKS °ªÀÌ ¾ø¾îÁ³°í ¸Þ¸ð¸®ÀÇ ÇѰ踸ÀÌ À¯ÀÏÇÑ Á¦¾àÀ¸·Î µû¸¥´Ù.
Ä¿³Î 2.3 °³¹ß¹öÀüÀ» óÀ½ ÄÄÆÄÀÏÇÏ°í ºÎÆÃÇßÀ»¶§ Á¦ÀÏ Ã³À½ Á÷¸éÇß´ø ¹®Á¦Àε¥ System V °øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇÏÁö ¸øÇؼ ºÎÆÃ½Ã ÀÚµ¿À¸·Î ¶ß´Â ¾ÆÆÄÄ¡ µ¥¸óÀÌ ¶ßÁö ¸øÇÏ´Â ¹®Á¦¿Í ¿©·¯ ÇÁ·Î±×·¥À» ½ÇÇàÇßÀ»¶§ °øÀ¯¸Þ¸ð¸®¸¦ »ç¿ëÇÏÁö ¸øÇØ ¿¡·¯°¡ ³ª´Â ¹®Á¦°¡ ¹ß»ýÇß¾ú´Ù. 2.4-test ¹öÀüÀ» ¾²±âÀ§Çؼ± ²À ÇØÁà¾ß ÇÏ´Â ºÎºÐÀÌ´Ù. # mkdir /var/shm # vi /etc/fstab none /var/shm shm defaults 0 0
menuconfig ¿É¼Ç¿¡¼ Networking options ---> [*] Network packet filtering (replaces ipchains) ¸¦ ¼±ÅÃÇϰí IP: Netfilter Configuration ---> <M> ipchains (2.2-style) support ¸¦ ¼±ÅÃÇϸé Ä¿³Î 2.2.x ¿Í °°Àº ¹æ½ÄÀ¸·Î ¾µ ¼ö ÀÖ´Ù.
Magic SysRq key¶õ ½Ã½ºÅÛÀÇ Á¦¾î°¡ ºÒ°¡´ÉÇÑ »óÅÂ(ÀϹÝÀûÀ¸·Î '´Ù¿î'µÇ¾ú´Ù°íÇÑ´Ù.)
¿¡¼µµ Á¦¾î¸¦ °¡´ÉÇÏ°Ô ÇØÁֹǷΠĿ³Î ÄÄÆÄÀϽà Kernel hacking --->
[*] Magic SysRq key¸¦ Ã¼Å©ÇØÁÖÀÚ.
2.4.0-test °³¹ß Ä¿³Î¿¡¼ Magic SysRq key¸¦ »ç¿ëÇÒ·Á¸é ´ÙÀ½°ú °°ÀÌ
/proc/sys/kernel/sysrq °ªÀ» 1·Î ¸¸µé¾î¾ß ÇÑ´Ù.
# echo 1 > /proc/sys/kernel/sysrq
Ű Á¶ÇÕ
Alt+SysRq+R use Raw keyboard events
Alt+SysRq+K kill current VT in use
Alt+SysRq+E tErminate all running processes (except init)
Alt+SysRq+I kIll all processes (except init)
Alt+SysRq+L kilL all processes (including init)
Alt+SysRq+B reBoot
Alt+SysRq+S Sync all drives
Alt+SysRq+U Umount all filesystems
Alt+SysRq+O turn the machine Off
Alt+SysRq+P dump Processor's registers
Alt+SysRq+T dump current Tasks
Alt+SysRq+M dump some Memory info
Alt+SysRq+[0-9] set kernel log level and redirect it to console
x86 ¸Ó½Å¿¡¼´Â Alt¸¦ ´©¸¥»óÅ¿¡¼ Print Screen(Sys Rq)۸¦ ´©¸£°í
°¢ ¾ËÆÄºªÅ°¸¦ ´©¸£¸é Àû¿ëµÈ´Ù.
¸¸¾à ½Ã½ºÅÛÀÌ ´Ù¿î µÇ¾ú´Ù¸é °°Àº ´ÙÀ½°ú ¼ø¼ÀÇ Á¶ÇÕÀ¸·Î ½Ã½ºÅÛ¿¡ ¼Õ»óÀ»
ÁÖÁö¾Ê°í ¾ÈÀüÇÏ°Ô ÀçºÎÆÃ ÇÒ ¼ö ÀÖÀ»°ÍÀÌ´Ù.
Alt+SysRq+S : ¹öÆÛ¿¡ÀÖ´Â °ÍµéÀ» µð½ºÅ©·Î sync(µ¿±âÈ)½ÃŲ´Ù.
Alt+SysRq+E : init ÇÁ·Î¼¼½º¸¦ Á¦¿ÜÇÑ ¸ðµç ÇÁ·Î¼¼½º¸¦ Á¾·á½ÃŲ´Ù.
Alt+SysRq+U : ÆÄÀÏ ½Ã½ºÅÛÀ» unmount ½ÃŲ´Ù.
Alt+SysRq+B : ½Ã½ºÅÛ ÀçºÎÆÃ
¸®´ª½º¿¡¼ À©µµ ÆÄƼ¼Ç(vfat)À» ¸¶¿îÆ® ÇßÀ»¶§ ÇѱÛÀÌ '????'ÀÌ·±½ÄÀ¸·Î º¸ÀÌ´Â ¹®Á¦¸¦ ÇØ°áÇØ ÁØ´Ù.
devfs¶õ /proc¿Í °°Àº °¡»ó ÆÄÀϽýºÅÛÀ¸·Î Richard Gooch¿¡ ÀÇÇØ ÀÛ¾÷µÇ¾ú´Ù.
devfs¸¦ »ç¿ëÇÒ·Á¸é ´ÙÀ½°ú °°Àº °úÁ¤À» °ÅÃľßÇϸç devfs¸¦ ¾²Áö ¾Ê¾Æµµ 2.4.0-test
Ä¿³ÎÀ» »ç¿ëÇϴµ¥ »ó°üÀº ¾ø´Ù.
devfs¸¦ »ç¿ëÇϰíÀÚ ÇÑ´Ù¸é devfs´Â ¸Þ¸ð¸®»ó¿¡ Á¸ÀçÇÏ´Â °¡»ó ÆÄÀϽýºÅÛÀ̹ǷΠ¸¸¾à
/dev ¿¡ Ư¼öÇÑ ¸ñÀûÀÇ µð¹ÙÀ̽º ÆÄÀÏ ¶Ç´Â µð·ºÅ丮¸¦ »ý¼ºÇß´Ù¸é ÀçºÎÆÃ½Ã /dev
µð·ºÅ丮¿¡ ¸¸µé¾ú´ø°ÍÀÌ »ç¶óÁú°ÍÀ̹ǷΠÀç ÀÛ¼ºÇØÁà¾ß ÇÑ´Ù.
ºÎÆÃÇÒ¶§¸¶´Ù mknod ¸í·ÉÀ¸·Î ÇÊ¿äÇÑ µð¹ÙÀ̽º¸¦ ´Ù½Ã ¸¸µå´Â°Í º¸´Ü ¼Ð ½ºÅ©¸³Æ®¸¦
ÀÛ¼ºÇϴ°ÍÀÌ Æí¸®ÇÒ °ÍÀÌ´Ù.
¿¹¸¦µé¾î X-4.0ÀÌ»óÀÇ NVdirver¸¦ ¾´´Ù¸é /dev µð·ºÅ丮¿¡ nvidia0, nvidia1, nvidia2,
nvidia3, nvidiactl°ú °°Àº ij¸¯ÅÍ µð¹ÙÀ̽º ÆÄÀÏÀÌ ¸¸µé¾îÁ® ÀÖ¾î¾ß X¸¦ ¶ç¿ï¼ö
ÀÖÀ¸¹Ç·Î ºÎÆÃ½Ã ¸¸µé¾îÁú¼ö ÀÖµµ·Ï ¼Ð ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÑ´Ù¸é ¾à°£ÀÇ ¼ö°í¸¦
´ú ¼ö ÀÖÀ»°ÍÀÌ´Ù.
´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î devfs¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
1. Ä¿³Î ÄÄÆÄÀÏ ¿É¼Ç¿¡¼ ´ÙÀ½ »çÇ×À» üũÇÑ´Ù.
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
File systems --->
[*] /dev file system support (EXPERIMENTAL)
[*] Automatically mount at boot
[*] Debug devfs
2. devfsd ¼Ò½º ÆÄÀÏÀ» ±¸ÇÑ´Ù.
http://www.atnf.csiro.au/~rgooch/linux/ ¿¡¼ devfsd-v1.3.10.tar.gz ÀÌ»óÀÇ
¹öÀüÀ» ´Ù¿î ¹Þ¾Æ ´ÙÀ½ ÀÛ¾÷À» ÇÑ´Ù.
# tar xvvzf devfsd-v1.3.10.tar.gz -> Àû´çÇÑ µð·ºÅ丮¿¡ ¾ÐÃàÀ» Ǭ´Ù.
# make -> ÄÄÆÄÀÏÇØ¼ devfsd¶õ ÆÄÀÏÀ» ¾ò´Â´Ù.
# mv devfsd /sbin/ -> /sbin µð·ºÅ丮·Î ¿Å±ä´Ù.
# cp modules.devfs /etc/ -> modules.devfs¿Í devfsd.conf¸¦
# cp devfsd.conf /etc/ /etc µð·ºÅ丮·Î ¿Å±ä´Ù.
3. /etc/rc.d/rc.sysinit ½ºÅ©¸³Æ®¿¡ ´ÙÀ½ ºÎºÐÀ» Ãß°¡ÇÑ´Ù.
# Mount /proc (done here so volume labels can work with fsck)
action "Starting devfsd" /sbin/devfsd /dev <--- À̺κÐÀ» Ãß°¡ÇÑ´Ù.
action "Mounting proc filesystem" mount -n -t proc /proc /proc
4. /etc/securetty ÆÄÀÏÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù.
1
2
3
4 # tty1 ÀÌ·±½ÄÀ¸·Î µÇ¾îÀÖ´Â°Í ¸ðµÎ tty¸¦ »«
5 # ¼ýÀںκи¸ ³²µµ·Ï ÇØÁØ´Ù.
6
7
8
5. /etc/security/console.perms ¿¡¼ ´ÙÀ½°ú °°ÀÌ ¹Ù²ãÁØ´Ù.
<console>=tty[0-9][0-9]* :[0-9]\.[0-9] :[0-9] À» ÁÖ¼®Ã³¸®ÇÏ´øÁö »èÁ¦Çϰí
<console>=tty[0-9][0-9]* [0-9][0-9]* :[0-9]\.[0-9] :[0-9] À¸·Î ¹Ù²ãÁØ´Ù.
6. /etc/lilo.conf ¿¡ ´ÙÀ½À» Ãß°¡
append = "devfs=mount"
devfs¸¦ ¾²Áö ¾Ê°Ú´Ù¸é append = "devfs=nomount" ÇÏ¸é µÈ´Ù.
ÀϹÝÀûÀÎ µ¥½ºÅ©Å¾ PC»ç¾ç(1 CPU, No SCSI)¿¡¼ ÇÊ¿ä·Î ÇÏ´Â Ä¿³Î¿É¼ÇµéÀ» ¼³¸íÇÏ¸ç ±×´ÙÁö Çʿ伺ÀÌ ¾ø´Â ¿É¼ÇµéÀº Á¦¿Ü½ÃÄ×´Ù.
Code maturity level options --->
Loadable module support --->
Processor type and features --->
General setup --->
Plug and Play configuration --->
Block devices --->
Networking options --->
ATA/IDE/MFM/RLL support --->
Network device support --->
Character devices --->
File systems --->
Console drivers --->
Sound ---> ½Ã½ºÅÛ¿¡ ¸Â´Â°É ¼±ÅÃÇÑ´Ù
Kernel hacking --->
Ä¿³Î ÄÄÆÄÀÏÀ» ÇÒ·Á¸é ¾î´ÀÁ¤µµ ÀÚ½ÅÀÇ ½Ã½ºÅÛ¿¡ °üÇÑ Çϵå¿þ¾îÀû Áö½ÄÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ±×·¡ÇÈ Ä«µå, ºñµð¿À Ä«µå, »ç¿îµå Ä«µå, ³×Æ®¿÷ Ä«µåµîÀº Ä¿³Î ÄÄÆÄÀϽà °¢°¢¿¡ ¸Â´Â°ÍÀ» ¼±ÅÃÇÏ°í ¾ÕÀÇ ¿É¼ÇÀ» Âü°íÇÑ´Ù¸é ¹«¸®¾øÀÌ ÄÄÆÄÀÏ °¡´ÉÇÒ°ÍÀÌ´Ù.
MS-6119 Award Bios ¹öÀüÀÌ 2.9ÀÌ»óÀÌ ¾Æ´Ï¶ó¸é ¸Þ¸ð¸®¸¦ 64MB ¹Û¿¡ ÀνÄÇÏÁö ¸øÇÏ´Â ¹®Á¦°¡ ÀÖÀ¸¹Ç·Î ¹ÙÀÌ¿À½º¸¦ ¾÷µ¥ÀÌÆ® ÇÏ´øÁö /etc/lilo.conf¿¡ append="mem=128M" ÀÌ·¸°Ô Ãß°¡ÇØ¾ß ÇÑ´Ù.