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" ÀÌ·¸°Ô Ãß°¡ÇØ¾ß ÇÑ´Ù.