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
Ïà¹ØÎĵµ£º
Linux ÄÚºË ×îÁ÷ÐеĿªÔ´²Ù×÷ϵͳÄÚºË
Linux ÄÚºË×é³É
Linux ÆÊÎöϵÁÐ
ÄÚºËÅäÖü°±àÒë
ÐÔÄܵ÷ÊÔ
Linux Äں˿ª·¢Óë²âÊÔ
ÄÚºË 2.4 Óë 2.6 ±È½Ï
ÄÚºËÆäËûÎÄÕÂ
Linux ÄÚºËÊÇÒ»¸öÅÓ´ó¶ø¸´ÔӵIJÙ×÷ϵͳµÄºËÐÄ£¬²»¹ý¾¡¹ÜÅӴ󣬵«ÊÇÈ´²ÉÓà ......
Ê×ÏÈ£¬ÅäÖÃRedBootµÄIP¼°Æätftp·þÎñÆ÷IP£¬×°ºÃtftp·þÎñÆ÷£¬ÐèÒªÏÂÔØµÄÄں˼°ÄÚ´æ¾µÏóÓ¦·ÅÔÚ·þÎñÆ÷µÄ/tftpbootĿ¼ÏÂ
ÅäÖÃRedBootµÄÖ¸ÁîÊÇ
> fconfig
×¢Ò⣺Æô¶¯µÄÑÓʱ²»ÒªÉèΪ0£¬·ñÔòÒÔºó¾ÍºÜÄÑÔÙ¸ü¸ÄϵͳÁË
È»ºóÒªÖ´ÐÐflash´æ´¢Æ÷µÄ³õʼ»¯¹¤×÷£º
> fis init
Ö®ºó£¬½«kernelÓëramdisk.gzͨ¹ýtftpÏÂÔØÖÁÄڴ沢д ......
1. man ¶ÔÄãÊìϤ»ò²»ÊìϤµÄÃüÁîÌṩ°ïÖú½âÊÍ
eg:man ls ¾Í¿ÉÒԲ鿴lsÏà¹ØµÄÓ÷¨
×¢£º°´q¼ü»òÕßctrl+cÍ˳ö£¬ÔÚlinuxÏ¿ÉÒÔʹÓÃctrl+cÖÕÖ¹µ±Ç°³ÌÐòÔËÐС£
2. ls ²é¿´Ä¿Â¼»òÕßÎļþµÄÊô*£¬ÁоٳöÈÎһĿ¼ÏÂÃæµÄÎļþ
eg: ls /usr/man
ls -l
a.d±íʾĿ¼(directory)£¬Èç¹ûÊÇÒ»¸ö"-"±íʾÊÇÎļþ£¬Èç¹ûÊÇlÔò±íʾÊÇÒ»¸öÁ¬½ÓÎļþ ......
LinuxÄÚ´æÏßÐÔµØÖ·¿Õ¼ä´óСΪ4GB£¬·ÖΪ2¸ö²¿·Ö£ºÓû§¿Õ¼ä²¿·Ö£¨Í¨³£ÊÇ3G£©ºÍÄں˿ռ䲿·Ö£¨Í¨³£ÊÇ1G£©¡£ÔÚ´ËÎÒÃÇÖ÷Òª¹Ø×¢Äں˵ØÖ·¿Õ¼ä²¿·Ö¡£
ÄÚºËͨ¹ýÄÚºËҳȫ¾ÖĿ¼À´¹ÜÀíËùÓеÄÎïÀíÄڴ棬ÓÉÓÚÏßÐÔµØÖ·Ç°3G¿Õ¼äΪÓû§Ê¹Óã¬ÄÚºËҳȫ¾ÖĿ¼ǰ768Ï¸ÕºÃ3G£©³ý0¡¢1Á½ÏîÍâÈ«²¿Îª0£¬ºó256Ï1G£©ÓÃÀ´¹ÜÀíËùÓеÄÎï ......
°²×°java£º
´ò¿ªÖÕ¶Ë£¬Ö´ÐÐÒÔÏÂÃüÁ»òʹÓÃAdept/ÐÂÁ¢µÃÈí¼þ¹ÜÀíÆ÷£¬ÔÚÆäÖзֱðËÑË÷"sun-java6-jre"ºÍ"sun-java6-jdk"²¢±ê¼Ç°²×°¡£
sudo apt-get install sun-java6-jre
Èç¹û¿Õ¼ä¸»Ô££¬½¨Òé°²×°Ò»¸öJDK¡£
sudo apt-get install sun-java6-jdk
Ìáʾ£º°²×°¹ý³ÌÖÐÐèÒªÄã»Ø´ðÊÇ·ñͬÒâʹÓÃÐÒ飨ÖÕ¶ËÖкìÀ¶É«µÄÌáʾ½çÃæ£ ......