Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

LinuxϵͳÏ ÄÚºËÄ£¿é¿ª·¢

 
1. modprobe ¼ÓÔØÄÚºËÄ£¿é
 
a) ÔÚ /etc/module.conf ÖвéÕÒ±ðÃû
b) ÔÚ lib/modules/version/module.dep ÖÐÅжÏÊÇ·ñÓÐÒÀÀµÄ£¿éÐèÒª±»Ìáǰ¼ÓÔØ£¨¸ÃÎļþ±»depmod-a½¨Á¢£©
 
2. 2.4ÄÚºËÖв»Ò»¶¨·ÇÓÃinit_moduleºÍcleanup_module×ö¿ªÊ¼ºÍ½áÊøµÄº¯Êý£¬µ«ÐèÒªÓÃmodule_initºÍ
 
module_exitÉêÃ÷¡£
 
3. ºê __init ºÍ __exit ¿ÉÒÔʹº¯ÊýÔÚÔËÐÐÍê³Éºó×Ô¶¯»ØÊÕÄڴ棨ÏÞÄ£¿éÖУ©£¬__initdataÓÃÓÚ±äÁ¿£¬
 
¾ÙÀý£º
 
#include //ÐèÒª°üº¬µÄÍ·Îļþ
 
static int ntest __initdata = 3;
 
static int __init test_init(void) {...}
static void __exit test_exit(void) {...}
 
module_init(test_init); //ÉêÃ÷·ÅÔÚʵÏÖº¯Êýºó
module_exit(test_exit);
 
4. һЩģ¿é˵Ã÷µÄÏà¹Øºê£¬¿ÉÒÔÓÃobjdump¿ÉÒԲ鿴Ïà¹ØÐÅÏ¢¡£
MODULE_LICENSE() ˵Ã÷´úÂëÐí¿ÉÀàÐÍ
MODULE_DESCRIPTION() Ä£¿éÃèÊö
MODULE_AUTHOR() ×÷Õß
MODULE_SUPPORTED_DEVICE() Ä£¿éÖ§³ÖµÄÉ豸
 
5. ²ÎÊý´«µÝʹÓúê MODULE_PARM(±äÁ¿Ãû,ÀàÐÍ)¡£
Ö§³ÖµÄÀàÐÍÓÐ"b"±ÈÌØ "h"¶ÌÕû "i"ÕûÊý "l"³¤Õû "s"×Ö·û´®
 
static int myint = 9;
static char *mystr = "test"; //×¢ÒâÐèÒª´«µÝ²ÎÊýµÄĬÈÏÖµ
 
MODULE_PARM(myint, "i");
MODULE_PARM(mystr, "s");
 
6. ¶à¸öÎļþ±àÒë³ÉÒ»¸öÄÚºËÄ£¿é£º
a) ÐèÒªÔÚÒ»¸öÔ´³ÌÐòÖмÓÈë
#define __NO_VERSION__
#include
b) ±àÒëͬÆÕͨµÄµ¥¸öÄÚºËÎļþ
c) Á¬½Ó£ºld -m elf_i386 -r -o <1st src file.o> <2nd src file.o>
 
7. strace ²éÒ»¸ö³ÌÐòËùÓõ½µÄϵͳµ÷ÓÃ
 
8. ¹ØÓÚfile_operations½á¹¹Ì嶨ÒåÔÚlinux/fs.hÎļþÖС£
ʹÓ÷½Ê½£º
struct file_operations fops = {
read: device_read,
write: device_write,
open: device_open,
release: device_release
}
C99µÄʹÓ÷½Ê½£º
struct file_operations fops = {
.read = device_read,
.write = device_write,
.open = device_open,
.release = device_release
}


Ïà¹ØÎĵµ£º

linuxÏÂÌí¼Ó·Óɱí

 # redhat-config-network
/* ʹÓÃifconfigÃüÁîÅäÖò¢²é¿´ÍøÂç½Ó¿ÚÇé¿ö */
//ÅäÖÃeth0µÄIP£¬Í¬Ê±¼¤»îÉ豸
# ifconfig eth0 192.168.168.119 netmask 255.255.255.0 up
//ÅäÖÃeth0±ðÃûÉ豸 eth0:1 µÄIP£¬²¢Ìí¼Ó·ÓÉ
# ifconfig eth0:1 192.168.168.110
# route add –host 192.168.168.110 dev eth0:1
//¼¤ ......

ÊÖ¶¯ÅäÖÃUbuntu LinuxÖ¸¶¨DNS·þÎñÆ÷µØÖ·

       ½éÉÜһϠUbuntu LinuxÖÐÈçºÎÖ¸¶¨DNS·þÎñÆ÷
µÄµØÖ·¡£
¡¡¡¡Ubuntu LinuxʹÓÃÎļþ"/etc/resolv.conf" ÎļþÅäÖÃDNS·þÎñÆ÷µÄµØÖ·£¬¿Éͨ¹ýnameserver ÅäÖÃÏîÉèÖÃDNS·þÎñÆ÷µÄIPµØÖ·£¬×î¶à¿ÉÒÔʹÓÃ3¸öDNS·þÎñÆ÷¡£
¡¡¡¡$ sudo vi /etc/resolv.conf
¡¡¡¡search localdomain
¡¡¡ ......

LinuxϵͳÄÚ´æ´ÅÅ̳õʼ»¯¼¼ÊõÏêϸ½âÎö

LinuxÄÚ´æ³õʼ»¯¼¼Êõ£¨initrd£©ÓÃÓÚÖ§³ÖÁ½½×¶ÎµÄϵͳÒýµ¼¹ý³Ì£¬ÊÇÔÚϵͳÆô¶¯¹ý³ÌÖб»¹ÒÔØµÄÁÙʱrootÎļþϵͳ£¨ÒëÕß×¢£ºÕâÀïµÄrootÎļþϵͳÊÇÖ¸µÄ¸ùÎļþϵͳ£©¡£initrd°üº¬ºÜ¶à¿ÉÖ´ÐгÌÐòºÍÇý¶¯£¬²¢ÔÊÐíÔÚÁÙʱµÄÄÚ´æ´ÅÅ̸ùÎļþϵͳ±»Ð¶ÔØ£¬ÄÚ´æ±»Êͷźó¹ÒÔØÕæÊµµÄrootÎļþϵͳ¡£ÔÚÐí¶àǶÈëʽLinuxÎļþϵͳÖУ¬initrdÊÇ×îÖÕµÄ ......

LinuxÖÐÌí¼Ósudoer

 
ʹÓÃsudo¿ÉÒÔÔÚÒÔ·ÇrootÓû§µÇ¼ʱÁÙʱ»ñµÃrootȨÏÞ£¬²¢Ö´ÐÐÐèÒªµÄÃüÁî¡£
¿ÉÒÔʹÓÃsudoµÄÓû§¿ÉÒÔ½Ð×ösudoer¡£
Ìí¼ÓsudoerµÄ·½·¨£¨¼ÙÉèÄúÒѾ­°²×°sudo£©£º
Ö´ÐÐ
# visudo
»ò
# sudoedit
Ìáʾ£º
ÓÐЩ·¢ÐаæµÄsudoÌṩÁËsudoedit£¬ÓеÄÔòÌṩÁËvisudo£¬¹¦ÄÜÉÏ»ù±¾ÊÇÒ»ÑùµÄ¡£
ÄãÒ²¿ÉÒÔʹÓÃÆäËû±à¼­Æ÷Èçvi½øÐÐ ......

LinuxÈí¼þ°²×°Ö®RPMµÄ°²×°¼¼ÇÉ£¨×ª£©

 ½ñÌìÔÚ¼Ò°²×°oracle£¬°²×°Ö®Ç°ÒѾ­¼ì²é¹ýһЩ±ØÒªµÄ°ü£¬¶øÇÒÎʹýͬÊ£¬ËµÒѾ­°²×°µÄÕâЩ°üÒѾ­¿ÉÒÔÂú×ãÒªÇóÁË¡£ÓÚÊǺõ¿ªÊ¼oracleµÄ°²×°¡£oracle×Ô¼º½øÐаücheckʱ±¨libaioÕâ¸ö°üûÓУ¬ÓÚÊÇÉÏÍøÕÒÁËÒ»¸örpmµÄ£¬»¹ÊÇsrc.rpmµÄ¡£ÓÉÓÚСµÜ³õÉælinux£¬ºÜ¶àÃüÁî¶¼²»ÖªµÀ£¬ËùÒÔÉÏÍøËÑѰÁËһϣ¬·¢ÏÖ´ËÌù¡£×ªÔØ£¬ÒÔ·ÀÍü¼Ç¡£
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ