LinuxÉ豸Çý¶¯³ÌÐòѧϰ֮»ù´¡Æª
LinuxÉ豸Çý¶¯³ÌÐòѧϰ±Ê¼ÇϵÁÐÎÄÕÂÔ×÷ÕßÊÇ£ºTekkaman Ninja£¬Ëû²©¿ÍµØÖ·£º
http://blog.chinaunix.net/u1/34474/showart_404278.html
ÔÚ´ËÏòTekkaman Ninja±íʾ¸Ðл£¬Ð´³öÕâôºÃµÄÎÄÕ£¬Ê¹ÎÒÉÙ×ßÁ˺ܶàÍä·¡£
LinuxÉ豸Çý¶¯³ÌÐòѧϰ£¨0£©£Hello, world£¡Ä£¿é
ÎÄÕÂÀ´Ô´£ºhttp://blog.chinaunix.net/u2/62910/showart_492083.html
Ò»¸öѧϰLinuxÉ豸Çý¶¯³ÌÐò¶¼»áÅöµ½µÄµÚÒ»¸öÀý³Ì£º
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "Hello, Tekkaman Ninja £¡\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, Tekkaman Ninja £¡\n Love Linux !Love ARM ! Love KeKe !\n");
}
module_init(hello_init);
module_exit(hello_exit);
ÎÒ½«Æä¸´ÖƵ½ÎҵŤ×÷Ŀ¼£¬²¢±àдÁËÒ»¸ö¼òµ¥µÄMakefileÎļþ£º
KERNELDIR = /home/tekkaman/working/SBC2440/linux-2.6.22.2
# The current directory is passed to sub-makes as argument
PWD := $(shell pwd)
INSTALLDIR = /home/tekkaman/working/rootfs/lib/modules
CROSS_COMPILE =/home/tekkaman/working/crosstool-gcc410-k26222/gcc-4.1.0-glibc-2.3.2/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu-
CC = $(CROSS_COMPILE)gcc
obj-m := hello.o
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
cp hello.ko $(INSTALLDIR)
clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
.PHONY: modules modules_install clean
˵ʵ»°£¬ÒÔÉÏÊÇÎҲο¼ÁË¡¶LinuxÉ豸Çý¶¯³ÌÐò£¨µÚ3°æ£©¡·µÄMakefileÔ´ÂëÐ޸ĵÃÀ´µÄ¡£ÎÒ¶ÔMakefile²»ÊǺÜÁ˽⣬ÊǸúúÃѧϰѧϰÁË£¡
È»ºó¾ÍÊÇmake modules ¡¢ make modules_install ¡£
[root@Tekkaman-Ninja Helloworld]# make modules
make -C /home/tekkaman/working/SBC2440/linux-2.6.22.2 M=/home/tekkaman/working/Linuxdriver/Helloworld modules
make[1]: Entering directory `/home/tekkaman/working/SBC2440/linux-2.6.22.2
Ïà¹ØÎĵµ£º
²é¿´ÎļþȨÏÞµÄÓï¾ä£º
¡¡
¡¡¡¡ÔÚÖÕ¶ËÊäÈ룺
¡¡
¡¡¡¡ls -l xxx.xxx £¨xxx.xxxÊÇÎļþÃû£©
¡¡
¡¡¡¡ÄÇô¾Í»á³öÏÖÏàÀàËÆµÄÐÅÏ¢£¬Ö÷Òª¶¼ÊÇÕâЩ£º
¡¡
¡¡¡¡-rw-rw-r——
¡¡
¡¡¡¡Ò»¹²ÓÐ10λÊý
¡¡
¡¡¡¡ÆäÖУº ×îÇ°ÃæÄǸö - ´ú±íµÄÊÇÀàÐÍ
¡¡
¡¡¡¡ÖмäÄÇÈý¸ö rw- ´ú±íµÄÊÇËùÓÐÕߣ¨user£©
¡¡
¡¡¡¡È»ºóÄÇÈý¸ö r ......
1. man ¶ÔÄãÊìϤ»ò²»ÊìϤµÄÃüÁîÌṩ°ïÖú½âÊÍ
eg:man ls ¾Í¿ÉÒԲ鿴lsÏà¹ØµÄÓ÷¨
×¢£º°´q¼ü»òÕßctrl+cÍ˳ö£¬ÔÚlinuxÏ¿ÉÒÔʹÓÃctrl+cÖÕÖ¹µ±Ç°³ÌÐòÔËÐС£
2. ls ²é¿´Ä¿Â¼»òÕßÎļþµÄÊô*£¬ÁоٳöÈÎһĿ¼ÏÂÃæµÄÎļþ
eg: ls /usr/man
ls -l
a.d±íʾĿ¼(directory)£¬Èç¹ûÊÇÒ»¸ö"-"±íʾÊÇÎļþ£¬Èç¹ûÊÇlÔò±íʾÊÇÒ»¸öÁ¬½ÓÎļþ ......
Ò»¡¢°²×°ÐéÄâ»úVMware
¶þ¡¢ÔÚÐéÄâ»úÉϰ²×°linux
Èý¡¢°²×°VMware tools
1¡¢ÐéÄâ»ú²Ëµ¥À¸—>VM—>Install VMware Tools
2¡¢½øÈë²Ù×÷ϵͳ°²×°VMware Tools
ËÄ¡¢¸üÐÂÔ´²¢¸üпÉÓõijÌÐòÁбí
......
LinuxÎļþI/OÖ÷ÒªÓÉread¡¢write¡¢open¡¢close¡¢lseekÎå¸öº¯Êý×é³É£»
Ò»¡¢ÎļþÃèÊö·û
ÔÚǶÈëʽLinuxÖÐÿ´ò¿ªÒ»¸öÎļþ¶¼ÓÐÒ»¸öÃèÊö·ûÓëÖ®¶ÔÓ¦£¬¸ÃÃèÊö·ûÊÇÒ»¸ö·Ç¸ºÕûÊý£»
µ±ÓÃopen´ò¿ª»òн¨Ò»¸öÎļþʱ£¬¸Ãº¯ÊýµÄ·µ»ØÖµ¾ÍÊǸÃÎļþµÄÃèÊö·û£»
......
°²×°java£º
´ò¿ªÖÕ¶Ë£¬Ö´ÐÐÒÔÏÂÃüÁ»òʹÓÃAdept/ÐÂÁ¢µÃÈí¼þ¹ÜÀíÆ÷£¬ÔÚÆäÖзֱðËÑË÷"sun-java6-jre"ºÍ"sun-java6-jdk"²¢±ê¼Ç°²×°¡£
sudo apt-get install sun-java6-jre
Èç¹û¿Õ¼ä¸»Ô££¬½¨Òé°²×°Ò»¸öJDK¡£
sudo apt-get install sun-java6-jdk
Ìáʾ£º°²×°¹ý³ÌÖÐÐèÒªÄã»Ø´ðÊÇ·ñͬÒâʹÓÃÐÒ飨ÖÕ¶ËÖкìÀ¶É«µÄÌáʾ½çÃæ£ ......