±àÒëÒ»¸ölinuxÄÚºËÄ£¿é
¿´Ô´´úÂë¡£
#include <linux/kernel.h>
#include <linux/module.h>
#if CONFIG_MODVERSIONS==1
#define MODVERSIONS
#include <linux/modversions.h>
#endif
int init_module()
{
printk("Hello, I'm kernel\n");
return 0;
}
void cleanup_module()
{
printk("I'm kernel, bye\n");
}
ÔÙÀ´¿´ makefileµÄд·¨
TARGET = hello
OBJS = hello.o
MDIR = drivers/misc
EXTRA_CFLAGS = -DEXPORT_SYMTAB
CURRENT = $(shell uname -r)
KDIR = /lib/modules/$(CURRENT)/build
PWD = $(shell pwd)
DEST = /lib/modules/$(CURRENT)/kernel/$(MDIR)
obj-m := $(TARGET).o
default:
make -C $(KDIR) SUBDIRS=$(PWD) modules
$(TARGET).o: $(OBJS)
$(LD) $(LD_RFLAG) -r -o $@ $(OBJS)
ifneq (,$(findstring 2.4.,$(CURRENT)))
install:
echo $(DEST) $(LD_RFLAG)
su -c "cp -v $(TARGET).o $(DEST) && /sbin/depmod -a"
else
install:
su -c "cp -v $(TARGET).ko $(DEST) && /sbin/depmod -a"
endif
clean:
-rm -f *.o *.ko .*.cmd .*.flags *.mod.c
-include $(KDIR)/Rules.make
ºÃÁË ·ÅÈ뵽λÖÃÔËÐÐmakefile¼´¿É
²åÈëÄ£¿éµÄÃüÁîÊÇÕâÑùµÄ
$insmod hello.ko£¨PS£º¾¡¹ÜÄã¿´²»µ½ÓÐ.koÕâÑùµÄÎļþ£¬µ«ÊǵÄÈ·ÊÇÕâôÀ´×öµÄ£©
Óà dmesg ¾Í¿ÉÒÔ¿´µ½ Êä³öÀ²¡£¡£¡£¡£
²¹³äÒ»¸ö´íÎó£º
./linux/include/asm/elf.h: In function `start_ia32_thread':
./linux/include/asm/elf.h:153: warning: implicit declaration of function `load_g
s_index'
./linux/include/asm/elf.h: In function `elf_common_init':
./linux/include/asm/elf.h:166: error: structure has no member named `r8'
./linux/include/asm/elf.h:166: error: structure has no member named `r9'
./linux/include/asm/elf.h:166: error: structure has no member named `r10'
./linux/include/asm/elf.h:166: error: structure has no member named `r11'
./linux/include/asm/elf.h:167: error: structure has no member named `r12'
./linux/include/asm/elf.h:167: error: structure has no member named `r13'
./linux/include/asm/elf.h:167: error: structure has no member named `r14'
./linux/include/asm/elf.h:167: erro
Ïà¹ØÎĵµ£º
¹²ÏíÄÚ´æ:
ʹÓù²ÏíÄÚ´æºÍʹÓÃmalloc()À´·ÖÅäÄÚ´æÇøÓòºÜÏàËÆ¡£Ê¹Óù²ÏíÄÚ´æµÄ·½·¨ÊÇ£º
1 ¶ÔÒ»¸ö½ø³Ì/Ïß³ÌʹÓÃshmget()·ÖÅäÄÚ´æÇøÓò¡£
2 ʹÓÃshmat()·ÅÖÃÒ»¸ö»ò¶à¸ö½ø³Ì/Ïß³ÌÔÚ¹²ÏíÄÚ´æÖУ¬Ò²¿ÉÒÔÓÃshmctl()À´»ñÈ¡ÐÅÏ¢»òÕß¿ØÖƹ²ÏíÇøÓò¡£
3 ʹÓÃshmdt()´Ó¹²Ïí ......
¾³£ÐèÒªKill¶à¸ö½ø³Ì£¬ÕâЩ½ø³Ì°üº¬¹²Í¬µÄ¹Ø¼ü×Ö£¬¿ÉÒÔÓÃÒ»ÌõÃüÁîKillµôËüÃÇ¡£ ps aux | grep "common" | cut –c 9-15 | xargs kill –9 ¹ÜµÀ·û¡°|¡±ÓÃÀ´¸ô¿ªÁ½¸öÃüÁ¹ÜµÀ·û×ó±ßÃüÁîµÄÊä³ö»á×÷Ϊ¹ÜµÀ·ûÓÒ±ßÃüÁîµÄÊäÈë¡£ÏÂÃæËµËµÓùܵÀ·ûÁª½ÓÆðÀ´µÄ¼¸¸öÃüÁ "ps aux" ²é¿´ËùÓнø³ÌµÄÃüÁî¡£Õâʱ¼ìË÷³öµÄ ......
»úÆ÷¼ÓµçÆô¶¯ºó,BIOS¿ªÊ¼¼ì²â²ÎÊý,ÈçÄÚ´æµÄ´óС,ÈÕÆÚºÍʱ¼ä,´ÅÅÌ
É豸ÒÔ¼°ÕâЩ´ÅÅÌÉ豸ÓÃÀ´Òýµ¼µÄ˳Ðò,ͨ³£Çé¿öÏ£¬BIOS¶¼ÊDZ»ÅäÖóÉÊ×Ïȼì²é
ÈíÇý»òÕß¹âÇý£¨»òÁ½Õß¶¼¼ì²é£©£¬È»ºóÔÙ³¢ÊÔ´ÓÓ²ÅÌÒýµ¼¡£Èç¹ûÔÚÕâЩ¿ÉÒÆ¶¯µÄÉè
±¸ÖУ¬Ã»ÓÐÕÒµ½¿ÉÒýµ¼µÄ½éÖÊ£¬ÄÇôBIOSͨ³£ÊÇתÏòµÚÒ»¿éÓ²ÅÌ×î³õµÄ¼¸¸öÉÈÇø£¬
ѰÕÒÓÃÓÚ×°ÔØ²Ù×÷Ï ......
½«ÁªÍø·½Ê½ÉèÖÃΪNAT
µÚÒ»²½£º
cdµ½/etc/sysconfig/network-scriptsϵµÄifcfg-eth0
µÚ¶þ²½£º
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
#BOOTPROTO=static
BOOTPROTO=none
BROADCAST=192.168.174.255
HWADDR=00:0C:29:F2:BB:A9
IPADDR=192.168.174.11
......
ת×Ô£ºhttp://www.yayu.org/look.php?id=162
µ±´ÅÅÌ´óС³¬¹ý±ê׼ʱ»áÓб¨¾¯Ìáʾ£¬ÕâʱÈç¹ûÕÆÎÕdfºÍduÃüÁîÊǷdz£Ã÷ÖǵÄÑ¡Ôñ¡£
df¿ÉÒԲ鿴һ¼¶Îļþ¼Ð´óС¡¢Ê¹ÓñÈÀý¡¢µµ°¸ÏµÍ³¼°Æä¹ÒÈëµã£¬µ«¶ÔÎļþÈ´ÎÞÄÜΪÁ¦¡£
du¿ÉÒԲ鿴Îļþ¼°Îļþ¼ÐµÄ´óС¡£
Á½ÕßÅäºÏʹÓã ......