±àÒëÒ»¸ö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
Ïà¹ØÎĵµ£º
×÷ÕߣºÎ¤¶«É½,»ªÇåÔ¶¼ûǶÈëʽѧԺ½²Ê¦¡£
Ëæ×ÅǶÈëʽÐÐÒµÓ²¼þƽ̨µÄÐÔÄÜÔöÇ¿£¬ÏîÄ¿ÐèÇóºÍ¹¦ÄÜÈÕÒæ¸´ÔÓ£¬ARM¹«Ë¾ÍƳöµÄ CORTEX-M3£¬¸üÊÇÈÃÒÔÍù×öµ¥Æ¬»úµÄ¹¤³ÌʦÔÚоƬºÍ¼¼ÊõÑ¡ÐÍÃæÁÙÁ½ÄÑÑ¡Ôñ£¬±¾×¨Ì⽫´ÓоƬ¼Û¸ñ¡¢Õû¸öϵͳµÄÓ²¼þÈí¼þÉè¼Æ¼°Î¬»¤µÄ³É±¾µÈ¸÷¸ö·½Ãæ¸øÄúÌṩһ¸ö²Î¿¼£¬ ²¢´Ó¼¼Êõ½Ç¶È·ÖÎöµ¥Æ¬»úºÍ´ø²Ù×÷ϵͳµÄÏµÍ ......
ʹÓÃdfºÍduÃüÁîÀ´¼à¿ØÎļþϵͳµÄÓÐЧ¿Õ¼äµÄ´óС
ͨ¹ýÇå³ý²»ÓõÄÎļþºÍcoreÎļþÀ´ÇåÀíÎļþϵͳ¿Õ¼ä
ͨ¹ýÐÞ¼ôÈÕÖ¾ÎļþÀ´ÇåÀí/varÎļþϵͳ
´ÓÃüÁîÐÐÀ©Õ¹Ò»¸ö¾í×é
´ÓÃüÁîÐÐÀ©Õ¹Ò»¸öÂß¼¾í
´ÓÃüÁîÐÐÀ©Õ¹Ò»¸öÎļþϵͳ
1.¼à¿Ø´ÅÅÌʹÓÃÇé¿ö
ʹÓÃdf ÃüÁî¼ì²éÎļþϵͳµÄÓÐЧ¿Õ¼ä¡£
# df -k
Filesystem kbytes used avai ......
Àí½â
Linux
µ÷ÓŲÎÊý
ÔÚÎÒÃǽéÉÜ
Linux
ϵͳµÄ¸÷ÖÖµ÷ÓŲÎÊýºÍÐÔÄÜ
¼à²â¹¤¾ß֮ǰ£¬ÐèÒªÏÈÌÖÂÛһЩ¹ØÓÚÐÔÄܵ÷ÓŵIJÎÊý¡£ÒòΪ
Linux
ÊÇÒ»¸ö¿ªÔ´²Ù×÷ϵͳ£¬ËùÒÔÓÖ´óÁ¿¿ÉÓõÄÐÔÄܼà²â¹¤¾ß¡£¶ÔÕâЩ¹¤¾ßµÄÑ¡ÔñÈ¡¾öÓÚÄãµÄ¸öÈËϲºÃºÍ¶ÔÊý¾Ý
ϸ½ÚµÄÒªÇó¡£ËùÓеÄÐÔÄܼà²â¹¤¾ß¶¼Êǰ´ÕÕͬÑùµÄ¹æÔòÀ´¹¤×÷µÄ£¬ËùÒÔÎÞÂÛÄãʹÓÃÄÄÖÖ¼ ......
ǰÑÔ£º
ĿǰÕýÔÚæÓÚARMƽ̨µÄLinuxÓ¦ÓóÌÐòµÄ¿ª·¢£¨ÆäʵÊÇ¸Õ¸ÕÆð²½Ñ§Ï°À²£©¡£µ×²ãµÄ¶«Î÷²»Óÿ¼ÂÇÁË£¬¿ª·¢°å×ÓÌṩÁËNAND Bootloader£¬ºÍLinux 2.6µÄÔ´Â룬¶øÇÒ¶¼±àÒëºÃÁË¡£×Ô¼º±àÒëµÄbootloader¿ÉÒÔÓ㬵«ÊÇLinux±àÒëºó£¬ÎļþºÜ´ó£¬ÔÝÇÒ¾ÍÓÃÈ˼ұàÒëµÄϵͳ£¬ÏÈרÐÄдӦÓóÌÐò °É¡£¡£
ÕýÎÄ£ºÒª×öµÄÈÎÎñÊÇ£¬°ÑÒ»¿é°å×ÓÉ쵀 ......