dzÎölinuxϼüÅÌÉ豸¹¤×÷ºÍ×¢²áÁ÷³Ì
dzÎölinuxϼüÅÌÉ豸¹¤×÷ºÍ×¢²áÁ÷³Ì
¡¾Ç³ÎölinuxÏÂÊó±êÇý¶¯µÄʵÏÖ¡¿
input_init()=>
=>
class_register(&input_class);×¢²áinputÀà
input_proc_init();´´½¨procϵÄĿ¼ºÍÎļþ
register_chrdev(INPUT_MAJOR, "input", &input_fops);×¢²áÇý¶¯³ÌÐòµ½cdev_mapÉÏ,ÒÔ´ýÇý¶¯É豸.
drivers\input\keyboard\pxa3xx_keypad.cΪÎÒÃǵÄkeyboardÉ豸,
pxa3xx_keypad_probe=>
request_irq(IRQ_ENHROT, &enhanced_rotary_interrupt,
IRQF_DISABLED, "Enhanced Rotary", (void *)keypad);×¢²á¿ì½Ý¼üÖжÏ
request_irq(IRQ_KEYPAD, pxa3xx_keypad_interrupt, IRQF_DISABLED,pdev->name, keypad);×¢²áÖжÏ
static irqreturn_t pxa3xx_keypad_interrupt(int irq, void *dev_id)
{
struct pxa3xx_keypad *keypad = dev_id;
uint32_t kpc = keypad_readl(KPC);
if (kpc & KPC_MI)
pxa3xx_keypad_scan_matrix(keypad);
if (kpc & KPC_DI)
pxa3xx_keypad_scan_direct(keypad);
return IRQ_HANDLED;
}
ÔÚirqÖÐÈç¹û¶Áµ½ÁËkey,ÄÇô»áÖ±½Óµ÷ÓÃ
input_report_key(keypad->input_dev,lookup_matrix_keycode(keypad, row, col),
new_state[col] & (1 << row));
static inline unsigned int lookup_matrix_keycode(
struct pxa3xx_keypad *keypad, int row, int col)
{
return keypad->matrix_keycodes[(row << 3) + col];
}
input_report_key(struct input_dev *dev, unsigned int code, int value)
devΪinput_devÉ豸,ÎÒÃǵÄ4*4¼üÅÌ
codeΪ±ê×¼PC¼üÅÌÂëÖµ
valueΪ°´¼ü¶¯×÷,Ϊ1±íʾ¼üÅ̰´ÏÂ,Ϊ0±íʾ°´¼ü̧Æð
static inline void input_report_key(struct input_dev *dev, unsigned int code, int value)
{
input_event(dev, EV_KEY, code, !!value);
}
void inp
Ïà¹ØÎĵµ£º
MySQL :: Linux ÏÂ×Ô¶¯±¸·ÝÊý¾Ý¿âµÄ shell ½Å±¾
Linux ·þÎñÆ÷ÉϵijÌÐòÿÌì¶¼ÔÚ¸üРMySQL Êý¾Ý¿â£¬ÓÚÊǾÍÏëÆðдһ¸ö shell ½Å±¾£¬½áºÏ crontab£¬¶¨Ê±±¸·ÝÊý¾Ý¿â¡£Æäʵ·Ç³£¼òµ¥£¬Ö÷Òª¾ÍÊÇʹÓà MySQL ×Ô´øµÄ mysqldump ÃüÁî¡£
½Å±¾ÄÚÈÝÈçÏ£º
#!/bin/sh
# File: /home/mysql/backup.sh
# Database info
DB_NAME=" ......
linux strace ½ø³Ì¸ú×Ù
µ÷ÓÃ:
strace [ -dffhiqrtttTvxx ] [ -acolumn ] [ -eexpr ] ...
[ -ofile ] [ -ppid ] ... [ -sstrsize ] [ -uusername ] [ command [ arg ... ] ]
strace -c [ -eexpr ] ... [ -Ooverhead ] [ -Ssortby ] [ command [ arg ... ] ]
¹¦ ......
±¾ÎĽ²½âÁËlinux´´½¨ÎļþÃüÁdd¡£Ê¹ÓÃddÕâ¸ölinuxÃüÁî¿ÉÒÔ´´½¨Ò»¶¨´óСÎļþ¡£
linux´´½¨ÎļþÃüÁddÃüÁî
°ÑÖ¸¶¨µÄÊäÈëÎļþ¿½±´µ½Ö¸¶¨µÄÊä³öÎļþÖУ¬²¢ÇÒÔÚ¿½±´µÄ¹ý³ÌÖпÉÒÔ½øÐиñʽת»»¡£Óï·¨£º
CODE:[Copy to clipboard]dd ¡²Ñ¡Ï
QUOTE:
if =ÊäÈëÎļþ£¨»òÉ豸Ãû³Æ£©¡£
of ......
ÃüÁîÏê½â
dd ÊÇ Linux/UNIX ϵÄÒ»¸ö·Ç³£ÓÐÓõÄÃüÁ×÷ÓÃÊÇÓÃÖ¸¶¨´óСµÄ¿é¿½±´Ò»¸öÎļþ£¬²¢ÔÚ¿½±´µÄͬʱ½øÐÐÖ¸¶¨µÄת»»¡£
dd µÄÖ÷ҪѡÏ
Ö¸¶¨Êý×ֵĵط½ÈôÒÔÏÂÁÐ×Ö·û½áβ³ËÒÔÏàÓ¦µÄÊý×Ö:
b=512, c=1, k=1024, w=2, xm=number m
if=file
ÊäÈëÎļþÃû£¬È±Ê¡Îª±ê×¼ÊäÈë¡£
of=file
Êä³öÎļþÃû£¬È±Ê¡Îª±ê×¼Êä³ö¡£
ibs ......
µÚËIJ¿·Ö һЩ¸üºÃµÄÏë·¨
4.1 »÷°Üϵͳ¹ÜÀíÔ±µÄLKMµÄ·½·¨
ÕâÒ»²¿·Ö»á¸øÎÒÃǶԸ¶Ò»Ð©Ê¹ÓÃLKM±£»¤Äں˵ĶàÒÉ£¨ºÃµÄ£©µÄ¹ÜÀíÔ±µÄ·½·¨¡£ÔÚ½âÊÍÁËËùÓÐϵͳ¹ÜÀíÔ±Äܹ»Ê¹Óõķ½·¨Ö®ºó£¬ºÜÄÑΪÎÒÃÇ£¨hackers£©ÕÒµ½Ò»¸ö¸üºÃµÄ°ì·¨¡£ÎÒÃÇÐèÒªÀ뿪LKMÒ»»á¶ù£¬À´Ñ°ÕÒ»÷°ÜÕâЩÀ§Äѵı£»¤µÄ·½·¨¡£
¼Ù¶¨Ò»¸öϵͳ¿ÉÒÔ±»¹ÜÀíÔ±°²×°ÉÏÒ»¸öÊ ......