mknodÀûÓÃudev¡¢sys¶¯Ì¬´´½¨linuxÉ豸½áµã£¨×ªÔØ£©
ÔÚLinux 2.6ÄÚºËÖУ¬devfs±»ÈÏΪÊǹýʱµÄ·½·¨£¬²¢×îÖÕ±»Åׯú£¬udevÈ¡´úÁËËü¡£DevfsµÄÒ»¸öºÜÖØÒªµÄÌØµã¾ÍÊÇ¿ÉÒÔ¶¯Ì¬´´½¨É豸½áµã¡£ÄÇÎÒÃÇÏÖÔÚÈçºÎͨ¹ýudevºÍsysÎļþϵͳ¶¯Ì¬´´½¨É豸½áµãÄØ£¿
ÓÃudevÔÚ/dev/϶¯Ì¬Éú³ÉÉ豸Îļþ£¬ÕâÑùÓû§¾Í²»ÓÃÊÖ¹¤µ÷ÓÃmknodÁË¡£
ÀûÓõÄkernel API£º
class_create : ´´½¨class
class_destroy : Ïú»Ùclass
class_device_create : ´´½¨device
class_device_destroy : Ïú»Ùdevice
×¢Ò⣬ÕâЩAPIÊÇ2.6.13¿ªÊ¼Óеģ¬ÔÚ2.6.13֮ǰ£¬Ó¦µ±Ê¹ÓÃ
class_simple_create
class_simple_destroy
class_simple_device_add
class_simple_device_remove
ÕâһϵÁУ¬Ò²¾ÍÊÇldd3µÚ14ÕÂÃèÊöµÄ¡£ Ïê¼û:
https:/ n.net/Articles/128644/
Output:
===========================================
[root@localhost dynamic_dev_node]# insmod ./dummy_dev.ko
[root@localhost dynamic_dev_node]# file /dev/dummy_dev0
/dev/dummy_dev0: character special (250/0)
[root@localhost dynamic_dev_node]# rmmod dummy_dev.ko
[root@localhost dynamic_dev_node]# file /dev/dummy_dev0
/dev/dummy_dev0: ERROR: cannot open `/dev/dummy_dev0' (No such file or directory)
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/fs.h>
#include <linux pes.h>
#include <linux/delay.h>
#include <linux/moduleparam.h>
#include <linux/slab.h>
#include <linux/errno.h>
#include <linux/ioctl.h>
#include <linux ev.h>
#include <linux/string.h>
#include <linux st.h>
#include <linux/pci.h>
#include <asm/uaccess.h>
#include <asm/atomic.h>
#include <asm/unistd.h>
#define THIS_DESCRIPTION "\
This module is a dummy device driver, it register\n\
\t\ta
Ïà¹ØÎĵµ£º
µ±Á½Ì¨LINUXÖ÷»úÖ®¼äÒª»¥´«Îļþʱ¿ÉʹÓÃSCPÃüÁîÀ´ÊµÏÖ
¸´ÖÆÎļþ£º
£¨1£©½«±¾µØÎļþ¿½±´µ½Ô¶³Ì
scp ÎļþÃû --Óû§Ãû@¼ÆËã»úIP»òÕß¼ÆËã»úÃû³Æ:Ô¶³Ì·¾¶
£¨2£©´ÓÔ¶³Ì½«Îļþ¿½»Ø±¾µØ
scp --Óû§Ãû@¼ÆËã»úIP»òÕß¼ÆËã»úÃû³Æ:ÎļþÃû ±¾µØÂ·¾¶
¸´ÖÆÄ¿Â¼£º
£¨1£©½«±¾µØÄ¿Â¼¿½±´µ½Ô¶³Ì
scp -r Ŀ¼Ãû Óû§Ãû@¼Æ ......
×î½üÔÚά»¤ÂÛ̳£¬ÂÛ̳µÄ¹¹½¨ÊÇlinux nginx+php5.3+mysql5.1¡£×î½üÒ»¶Îʱ¼äÀÏÊdzöÏÖÎÊÌ⣬¸Õ¿ªÊ¼ÓÉÓÚphp°æ±¾ÒÔ¼°ÉèÖõÄÎÊÌ⻹ÓÐÒÔǰÀϰ汾ÁôϵÄÎÊÌ⣬ʹµÃÂÛ̳Àϱ»¹ÒÂí£¬ÕÒÁËÒ»¸öÐÇÆÚµÄÎÊÌ⣬¸÷´¦¶¼²¹Â©ÁËһϵģ¡phpÒ²Éý¼¶ÁËһϣ¡
  ......
1. Download all packet and patchs Done
2. To be involved in the mail list
3. Check Host Requirements Done
»¹Ñ§Ï°ÁË cut ÏÔʾijÐеÄÖ¸¶¨field £¬head ÏÔʾǰ¼¸ÐУ¬readlin ......
ÖÆ×÷¿ÉÒÆ¶¯µÄlinuxϵͳ(Ubuntu)
1¡¢¹âÅÌÆô¶¯£¬°²×°¸´ÖƵ½Òƶ¯Ó²ÅÌ£¬½«grub°²×°µ½dev/sda¡£
2¡¢¸´ÖÆÍêºóÖØÆô£¬¹âÅÌÆô¶¯£¬°²×°Æô¶¯½çÃæÊäÈërescue£¬½øÈë¼±¾Èģʽ£¬Ñ¡Ôñ¹ÒÔØ·ÖÇøÊ±£¬Ñ¡ÔñϵͳËùÔÚÓ²Å̺ͷÖÇø¡£
3¡¢ctrl-Alt-F2£¬´ò¿ªÐ´°¿Ú¡£
CODE:mount -tproc proc /target/proc
chroot /target
su
4¡¢nano /etc/mkini ......
List_Head
²Ù×÷ϵͳÄں˾³£ÐèҪά»¤Êý¾Ý½á¹¹¡£ÄÚºËÓбê×¼µÄÑ»·Á´±í¡¢Ë«ÏòÁ´±íµÄʵÏÖ¡£ÔÚ<Linux/list.h>ÎļþÖж¨ÒåÁËÒ»¸ölist_headÀàÐͼòµ¥½á¹¹£º
struct list_head {
struct list_head *next, *prev;
};
ͨÓÃÁ´±íµÄ³£ÓÃÓÃ;Êǽ«Ä³Ò»¸öÊý¾Ý½á¹¹±¾Éí´®³ÉÁ´±í£¬»ò½«Ä³Ð©Á´±íÓëÒ»¸öÊý¾Ý½á¹ ......