Linux 2.6 ×Ö·ûÉ豸Çý¶¯³ÌÐò
˵Ã÷
±Ê¼ÇÊÊÓÃÓÚLinuxµÄ2.6.10ÒÔºóµÄÄںˡ£
±Ê¼ÇÒÔLinux
Device
Driver3ÌṩµÄscull³ÌÐò(scullĿ¼ÖеÄmain.cºÍscull.h)Ϊ¼Ç¼Ö÷Ïߣ¬²¢ÒÔ¸ÃÇý¶¯³ÌÐòÖеĸ÷ÖÖϵͳµ÷Óúͺ¯Êýµ÷ÓÃÁ÷³ÌΪ¼Ç
¼˳Ðò¡£±ÈÈ磬module_init( )ºÍmodule_exit(
)ΪÏà¶ÔÓ¦µÄÒ»¶Ôϵͳµ÷Óã¬Ò»°ãÊé¼®Öж¼»á·ÅÔÚÒ»ÆðÌÖÂÛ£¬µ«ÊDZ¾±Ê¼ÇÈ´²»»áÕâÑù£¬¶øÊÇÔÚÐèÒªµ÷ÓõÄʱºò²Å»áÉæ¼°£¬Òò´Ëmodule_init(
)»á·ÅÔڱʼǿªÊ¼Ê±£¬Ò²¾ÍÊǸռÓÔØmoduleʱÌÖÂÛ£¬¶ømodule_exit( )Ôò»á·ÅÔڱʼǽáÊøÇ°£¬Ò²¾ÍÊÇÒªÐ¶ÔØmoduleʱÔÙ¼ÓÒÔÌÖÂÛ¡£
¸Ã±Ê¼ÇµÄµÄÄ¿µÄÊÇΪÁ˶ÔLinux Device Drvier3ÖÐÌáµ½µÄ¸÷¸ö֪ʶµã×÷Ò»ÏÂÕûÀí£¬ÀíÇåÒ»ÏÂÍ·Ð÷£¬´Ó¶øÄÜÈÃÎÒ¶ÔLinuxÇý¶¯³ÌÐò¼ÓÉîÕûÌå»òÕßÈ«¾ÖÉϵÄÀí½â¡£
×¢£º¸öÈËÀí½â£¬ÓÐÎóÄÑÃ⣡
*******************************************
Çý¶¯³ÌÐòmoduleµÄ¹¤×÷Á÷³ÌÖ÷Òª·ÖΪËĸö²¿·Ö£º
1¡¢ ÓÃLinuxÌṩµÄÃüÁî¼ÓÔØÇý¶¯module
2¡¢ Çý¶¯moduleµÄ³õʼ»¯£¨³õʼ»¯½áÊøºó¼´½øÈë“DZ·ü”״̬£¬Ö±µ½ÓÐϵͳµ÷Óã©
3¡¢ µ±²Ù×÷É豸ʱ£¬¼´ÓÐϵͳµ÷ÓÃʱ£¬µ÷ÓÃÇý¶¯moduleÌṩµÄ¸÷¸ö·þÎñº¯Êý
4¡¢ Ð¶ÔØÇý¶¯module
Ò»¡¢ Çý¶¯³ÌÐòµÄ¼ÓÔØ
LinuxÇý¶¯³ÌÐò·ÖΪÁ½ÖÖÐÎʽ£ºÒ»ÖÖÊÇÖ±½Ó±àÒë½øÄںˣ¬ÁíÒ»ÖÖÊDZàÒë³ÉmoduleÐÎʽ£¬È»ºóÔÚÐèÒª¸ÃÇý¶¯moduleʱÊÖ¶¯¼ÓÔØ¡£¶ÔÓÚǰÕߣ¬»¹Óдýѧϰ¡£
ModuleÐÎʽµÄÇý¶¯£¬LinuxÌṩÁËÁ½¸öÃüÁîÓÃÀ´¼ÓÔØ£ºmodprobeºÍinsmod¡£
Æä
ÖÐmodprobe¿ÉÒÔ½â¾öÇý¶¯moduleµÄÒÀÀµÐÔ£¬¼´¼ÙÈçÕý¼ÓÔØµÄÇý¶¯moduleÈôÒýÓÃÁËÆäËûmoduleÌṩµÄÄں˷ûºÅ»òÕ߯äËû×ÊÔ´£¬Ôò
modprobe¾Í»á×Ô¶¯¼ÓÔØÄÇЩmodule£¬²»¹ý£¬Ê¹ÓÃmodprobeʱ£¬±ØÐë°ÑÒª¼ÓÔØµÄÇý¶¯module·ÅÔÚµ±Ç°Ä£¿éËÑË÷·¾¶ÖС£¶øinsmod
ÃüÁî²»»á¿¼ÂÇÇý¶¯moduleµÄÒÀÀµÐÔ£¬µ«ÊÇËüÈ´¿ÉÒÔ¼ÓÔØÈÎÒâĿ¼ÏµÄÇý¶¯module¡£
Ò»°ãÀ´Ëµ£¬ÔÚÇý¶¯¿ª·¢½×¶Î£¬Ê¹ÓÃ/sbin/insmod±È½Ï·½±ã£¬ÒòΪ²»Óý«module·ÅÈ뵱ǰmoduleËÑË÷·¾¶ÖС£
Ò»µ©Ê¹ÓÃinsmod¼ÓÔØÄ£¿é£¬ÔòLinuxÄں˾ͻáµ÷ÓÃmodule_init(scull_init_module)ÌØÊâºê£¬ÆäÖÐscull_init_moduleÊÇÇý¶¯³õʼ»¯º¯Êý£¬¿É×Ô¶¨ÒåÃû³Æ¡£
ÔÚÓÃinsmod¼ÓÔØmoduleʱ£¬»¹¿ÉÒÔ¸ømoduleÌṩģ¿é²ÎÊý£¬µ«ÊÇÕâÐèÒªÔÚÇý¶¯Ô´´úÂëÖмÓÈ뼸ÌõÓï¾ä£¬ÈÃÄ£¿é²ÎÊý¶ÔinsmodºÍÇý¶¯³ÌÐò¿É¼û£¬È磺
static char *whom=”world”£»
static int howmany=10;
module_param(howmany,int,S_IRUGO);
module_param(whom,charp,S_IRUGO);
ÕâÑù£¬µ±Ê¹ÓÃ/sbin/insmod scull.ko whom=&rdqu
Ïà¹ØÎĵµ£º
slab·ÖÅäÆ÷ÐÎÏóµØËµ¾ÍÊÇÏÈÓÉ»ï°é»úÖÆÉêÇë¿ÕÏÐÄÚ´æ¿Õ¼ä£¬È»ºóslab·ÖÅäÆ÷ÔÙ°ÑÕâ¸öÄÚ´æ¿Õ¼ä½øÐзָ°´Í¬Ñù´óСÀ´½øÐзָ×îºóÔÙÓÃһЩÊý¾Ý½á¹¹À´½øÐйÜÀí¡£ÉÏÃæÖ»ÊÇÐÎÏóµØËµ·¨¡£ÎÒÃÇÆ½Ê±°ÑÓÉslab½øÐзָîºóµÄÄÚ´æÎÒÃdzÆÖ®Îª¸ßËÙ»º´æÄÚ´æ¡£ÕâÑù¿´À´¾ÍÖªµÀËùνµÄ¸ßËÙ¾ÍÊÇ˵²»ÊÇÿ´Î·ÖÅäºÍÊÍ·ÅÄÚ´æ¶¼ÒªÕÒ»ï°é»úÖÆ£¬¿ÉÒ ......
RHEL5´î½¨DNS·þÎñÆ÷ʵÏÖÃû³Æ½âÎö Èý
£¨¶þ£©named.confÎļþ˵Ã÷£º
´ËÎļþÐèÓû§×Ô¼º´´½¨£¬¿É´Ó/usr/share/doc/bind-9.3.3/sample/etcÖи´ÖƵ½/var/named/chroot/etc/Ŀ¼ÏÂ
// Sample named.conf BIND DNS server 'named' configuration file
// for the Red Hat BIND distribution.
// See the BIND ......
ÓÉÓÚÔÚ°²×°rhel5µÄʱºòûӴ°²×°µ½ºÃSamba£¬ÏÖÔÚÖ»ÄÜ´Óа²×°ÁË¡£ÓôÃÆ°¡£¡£¨ÔÚinit.dÖÐûÓз¢ÏÖsmbºÍnmbÕâÁ½¸öÎļþ£©
»¹ºÃÔÚ°²×°ÅÌÀïÄܹ»ÕÒµ½°²×°Îļþ¡£ÕâÀï¾Í²»ËµÁË£¨Ò»¶Ñsamba¿ªÍ·µÄÎļþ¡£Ò»Õó¿ñµã¾ÍÐÐÁË¡£ºÇºÇ……£©
Samba Á½¸ö·þÎñÆ÷Ïà¹ØÆô¶¯³ÌÐò¡¢¿Í»§¶Ë¼°·þÎñÆ÷ÅäÖÃÎļþ
Samba ÓÐÁ½¸ö·þÎñÆ÷£¬Ò»¸öÊÇs ......
£¨Æß£©DNS·þÎñÆ÷ÅäÖÃʵÀý
¾ÙÀýÒ»£º
ʹÓÃviewÓï¾ä´î½¨¾ßÓÐÄÚÍâÊÓͼ¹¦ÄܵÄDNS·þÎñÆ÷£¬²¢Äܹ»¸ùé§²»Í¬µÄ¿Í»§¶ËµØÖ·ÊµÏÖ²»Í¬µÄ½âÎö½á¹û£¬¼ÙÉè¾ÖÓòÍøµØÖ·Îª192.168.255.0/24£¬¾ÖÓòÍøÄÚ¸÷Ö÷»ú·Ö±ðΪrhel1:192.168.255.128; rhel2:192.168.255.12; rhel3:192.168.255.129; rhel4:192.168.255.120; rhel5:192.168.255.4Ϊ ......
SBC2440Ñз¢°åϵÄLINUXµÄ°²×°
±¾ÎļþÊǶԓSBC2440ϵͳ°²×°ºÍ¸üÐÂÖ¸ÄÏ.pdf£¨ÔÚÑз¢°å¸½Ë͵ĹâÅÌϾÍÄÜÕÒµ½£©”µÄ²¹³ä˵Ã÷£¨ºìÉ«×ÖÌ岿·Ö£©¡£
Ê×ÏȽøÈëVIVIģʽ£º·½·¨ÊÇÏÈ´ò¿ªWINDOWSϵÄÖÕ¼«ÖÕ¶Ë£¬ÉèÖúø÷ÖÖ²ÎÊý£¨¾ßÌåÉèÖüû“SBC2440Ö®³õÌåÑé.pdf£¨ÔÚÑз¢°å¸½Ë͵ĹâÅÌϾÍÄÜÕÒµ½£©”£¬Ê¹COM1´¦ÔÚ× ......