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

linux 2.4 ºÍ2.6 ÄÚºËÇø±ð

Ëæ×ÅLinux2.6µÄ·¢²¼£¬ÓÉÓÚ2.6ÄÚºË×öÁ˽̵ĸ͝£¬¸÷¸öÉ豸µÄÇý¶¯³ÌÐòÔÚ²»Í¬³Ì¶ÈÉÏÒª
½øÐиÄд¡£ÎªÁË·½±ã¸÷λLinux°®ºÃÕßÎÒ°Ñ×Ô¼ºÕû
ÀíµÄÕâ·ÖÎĵµshare³öÀ´¡£¸ÃÎĵ±ÁоÙ
ÁË2.6ÄÚºËͬÒÔǰ°æ±¾µÄ¾ø´ó¶àÊý±ä»¯£¬¿ÉϧµÄÊÇÓÉÓÚʱ¼äºÍ¾«Á¦ÓÐÏÞûÓÐÏêϸÁгö¸÷¸ö
º¯ÊýµÄÓÃ
·¨¡£
ÌØ±ðÉùÃ÷£º¸ÃÎĵµÖеÄÄÚÈÝÀ´×Ôhttp://lwn.net£¬¸ÃÍøÒ²ÉÏÒ²Óи÷¸öº¯ÊýµÄ½ÏΪÏêϸµÄ
˵Ã÷¿É¹©¸÷λ²Î¿¼¡£Èç¹ûÐèÒª¸ÃÎĵµµÄ
word°æµÄÅóÓÑ£¬Çëmailµ½weiriver@sohu.comË÷
È¡¡£
1¡¢ ʹÓÃеÄÈë¿Ú
±ØÐë°üº¬
<linux/init.h>
module_init(your_init_func);
module_exit(your_exit_func);
ÀÏ
°æ±¾£ºint init_module(void);
void cleanup_module(voi);
2.4ÖÐÁ½ÖÖ¶¼¿ÉÒÔÓ㬶ÔÈçºó
ÃæµÄÈë¿Úº¯Êý²»±ØÒªÏÔʾ°üº¬ÈκÎÍ·Îļþ¡£
2¡¢ GPL
MODULE_LICENSE("Dual BSD/GPL");
Àϰæ
±¾£ºMODULE_LICENSE("GPL");
3¡¢ Ä£¿é²ÎÊý
±ØÐëÏÔʽ°üº¬<linux/moduleparam.h>
module_param(name,
type, perm);
module_param_named(name, value, type, perm);
²ÎÊý¶¨Òå
module_param_string(name,
string, len, perm);
module_param_array(name, type, num, perm);
Àϰæ
±¾£ºMODULE_PARM(variable,type);
MODULE_PARM_DESC(variable,type);
4¡¢
Ä£¿é±ðÃû
MODULE_ALIAS("alias-name");
ÕâÊÇÐÂÔöµÄ£¬ÔÚÀϰ汾ÖÐÐèÔÚ/etc/modules.confÅäÖã¬
ÏÖÔÚÔÚ´úÂëÖоͿÉÒÔʵÏÖ¡£
5¡¢ Ä£¿é¼ÆÊý
int try_module_get(&module);
module_put();
ÀÏ
°æ±¾£ºMOD_INC_USE_COUNT ºÍ MOD_DEC_USE_COUNT
6¡¢ ·ûºÅµ¼³ö
Ö»ÓÐÏÔʾµÄµ¼³ö·ûºÅ²ÅÄܱ»ÆäËûÄ£¿éʹ
Óã¬Ä¬Èϲ»µ¼³öËùÓеķûºÅ£¬²»±ØÊ¹ÓÃEXPORT_NO
_SYMBOLS
Àϰ屾£ºÄ¬Èϵ¼³öËùÓеķûºÅ£¬³ý·ÇʹÓÃ
EXPORT_NO_SYMBOLS
7¡¢ Äں˰汾¼ì²é
ÐèÒªÔÚ¶à¸öÎļþÖаüº¬<linux/module.h>ʱ£¬²»±Ø¶¨Òå
__NO_VERSION__
Àϰ汾£ºÔÚ¶à¸öÎļþÖаüº¬<linux/module.h>ʱ£¬³ýÔÚÖ÷ÎļþÍâµÄÆäËûÎļþÖбØÐ붨Òå_
_NO_VERSION__£¬
·ÀÖ¹°æ±¾Öظ´¶¨Òå¡£
8¡¢ É豸ºÅ
kdev_t±»·Ï³ý²»¿ÉÓã¬ÐµÄdev_tÍØÕ¹µ½ÁË32룬12λÖ÷É豸ºÅ£¬20λ´ÎÉ豸ºÅ¡£
unsigned
int iminor(struct inode *inode);
unsigned int imajor(struct inode
*inode);
Àϰ汾£º8λÖ÷É豸ºÅ£¬8λ´ÎÉ豸ºÅ
int MAJOR(kdev_t dev);
int
MINOR(kdev_t dev);
9¡¢ ÄÚ´æ·ÖÅäÍ·Îļþ±ä¸ü
ËùÓеÄÄÚ´æ·ÖÅ亯Êý°üº¬ÔÚÍ·ÎÄ
¼þ&l


Ïà¹ØÎĵµ£º

È¥µô embedded LINUX ¿ª»ú¹â±êÒÔ¼°ÉèÖà Æô¶¯LOGO

Ò».È¥³ýembedded linux µÄ¿ª»ú¹â±ê:
¡¡ÔÚÄں˵ĵ±Ç°Ä¿Â¼½øÈëµ½drivers/video/console/fbcon.cÎļþ
¡¡½«static void fb_flashcursor(void *private) ÀïµÄÄÚÈÝ×¢Ê͵ô,ʹ֮±ä³É¿Õº¯Êý
¶þ.ÉèÖÃLINUXÄÚºËÆô¶¯LOGO
     (1)ÈÃÄÚºËÖ§³ÖÆô¶¯LOGO
        ÔÚÄÚºËĿ¼ÖÐ ......

linuxÃüÁîϵÁÐÖ®¶þ

½âѹ¼¸ÖÖÎļþ¸ñʽ
wzwz.tar.gz——tar zxvf wzwz.tar.gz
wzwz.tar.bz2——tar jxvf wzwz.tar.bz2
wzwz.rpm——rpm -ivh wzwz.rpm
cpio——cpio -idm < wzwz.img
Éú³Éinitrd.img 
 dd if=/dev/zero of=/home/wzwz.img bs=1M count=10
mke2fs -F -v wzwz.i ......

Linux lock_kernel()º¯ÊýµÄ·ÖÎö¡£

  ÕâÖ»ÊÇÔÝʱµÄ¼Ç¼£¬ÒÔºó»á°ÑËü¹éÀൽstart_kernel()º¯ÊýµÄ·ÖÎö¡£ÔÚ·ÖÎö֮ǰ£¬ÎÒÏÈҪ˵˵¼¸¸ö¸ÅÄî¡£
  ÄÚºËÇÀÕ¼£ºÔÚ2.6Äں˼ÓÈëÁËÇÀÕ¼µÄÄÜÁ¦£¬¾ÍÊÇ˵µ÷¶È³ÌÐòÓа취ÔÚÒ»¸öÄں˼¶µÄÈÎÎñÕýÔÚÖ´ÐеÄʱºò´Óе÷¶È¡£µ«ÊDZØÐëÒª±£Ö¤ÖØÐµ÷¶ÈÒª°²È«£¬ÕâÑù¾ÍÒª¿¿Ò»°ÑËøÀ´±£Ö¤ÁË¡£
  ¼ÆÊýÆ÷£¨thread_info.[reempt_ ......

linux atÃüÁîʹÓÃ

ת×Ô£ºhttp://blog.chinaunix.net/u/12367/showart_243938.html
 
at ºÍ batch ´Ó±ê×¼ÊäÈë»òÒ»¸öÖ¸¶¨µÄÎļþ¶ÁÈ¡ÃüÁÕâЩÃüÁîÔÚÒÔºóij¸öʱ¼äÓà/bin/sh Ö´ÐС£
 
At ÔÊÐíÏ൱¸´ÔÓµÄʱ¼äÖ¸¶¨£¬ËüÀ©Õ¹ÁË POSIX.2 ±ê×¼¡£
 
Ëü½ÓÊÜ HH:MM µÄʱ¼äʽÑù£ ......

linux ÃüÁî cd

1. cd -> ·µ»Ø½øÈë´ËĿ¼֮ǰËùÔÚµÄĿ¼£ºcd -
2. ÉÏÒ»ÌõÃüÁî ->
                !! È«²¿µÄÉÏÒ»ÌõÃüÁî
                !* ÉÏÒ»ÌõÃüÁîµÄÈ«²¿²ÎÊý
      & ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ