linux»ù±¾Çý¶¯ºÍlinux×Ö·ûÉ豸Çý¶¯
ÏÈÕ³ÌùÒ»¸ölinux×î¼òµ¥µÄÇý¶¯£¬Æäʵ¶ÔÓÚÒ»¸ö´Ó2.4ÍæÉÏÀ´µÄÈËÀ´Ëµ£¬Çý¶¯²»¸´ÔÓ£¬±È½Ï²»Ï°¹ßµÄÊÇÄǸömakefile
Çý¶¯±¾Éí£º
hello.c:
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(vodi){
printk(KERN_ALERT "hello world\n");
return 0;
}
static void hello_exit(vodi){
printk(KERN_ALERT"bye bye\n");
}
module_init(hello_init);
module_exit(hello_exit);
Makefile:
obj-m := hello.o
KERNELDIR :=/lib/modules/$(shell uname -r)/build
all:
make -C $(KERNELDIR) M=$(shell pwd) modules
clean:
rm -rf *.o *.ko
È»ºó¸½¹ýÀ´Ò»¸öÇý¶¯£¬ÔÝʱûÓÐÑéÖ¤£¬ÊÇ×Ö·ûÐ͵ģ¬Èç¹ûÑéÖ¤ºÃÓã¬ÎÒÔÙ¸üÐÂÕâÆªÈÕÖ¾
±¾ÀýÊÇ·ë¹ú½øµÄ ¡¶Ç¶ÈëʽLinux Çý¶¯³ÌÐòÉè¼Æ´ÓÈëÃŵ½¾«Í¨¡·µÄµÚÒ»¸öÀý×Ó
¸Ð¾õÕæÊǺÃÊé Ç¿ÁÒÍÆ¼ö
×¢ÊÍÊÇdeep_pro¼ÓµÄ ×ªÔØÇë×¢Ã÷£¡ÎÒµÄÌØµãÊÇÎIJ»¼Óµã£¡
Õâ¸öÇý¶¯ÊÇÔÚÄÚ´æÖзÖÅäÒ»¸ö256×ֽڵĿռ䣬¹©Óû§Ì¬Ó¦ÓóÌÐò¶Áд¡£
ÏÈÊÇÍ·Îļþ demo.h
#ifndef _DEMO_H_
#define _DEMO_H_
#include <linux/ioctl.h> /* needed for the _IOW etc stuff used later */
/********************************************************
* Macros to help debugging
********************************************************/
#undef PDEBUG /* undef it, just in case */
#ifdef DEMO_DEBUG
#ifdef __KERNEL__
# define PDEBUG(fmt, args...) printk( KERN_DEBUG "DEMO: " fmt, ## args)
#else//usr space
# define PDEBUG(fmt, args...) fprintf(stderr, fmt, ## args)
#endif
#else
# define PDEBUG(fmt, args...) /* not debugging: nothing */
#endif
#undef PDEBUGG
#define PDEBUGG(fmt, args...) /* nothing: it's a placeholder */
//É豸ºÅ
#define DEMO_MAJOR 224
#define DEMO_MINOR 0
#define COMMAND1 1
#define COMMAND2 2
//×Ô¼º¶¨ÒåµÄÉ豸½á¹¹
struct DEMO_dev
{
struct cdev cdev; /* Char de
Ïà¹ØÎĵµ£º
ÎÒÃÇÔÚµ÷ÊÔÓ²¼þ°åʱ£¬¾³£ÐèÒª×ö¶à¸öjffs2µÄ¸ùÎļþϵͳӳÏñ£¬ÓÐʱҲҪ¶Ô±ÈÆäËû;¾¶µÃµ½µÄ¿ÉÓõÄjffs2¸ùÎļþϵͳӳÏñ¡£µ«jffs2µÄÎļþϵͳӳÏñ²»Ïó¹âÅ̵ÄÓ³ÏñÎļþÒ»Ñù¿ÉÒÔͨ¹ýloopÉ豸À´¹ÒÔØ£¬×ܲ»¿ÉÄÜÒ»¸ö¸öÉÕ¼µ½Ó²¼þ°åÈ¥¿´°É¡£ ºóÀ´µ½ÍøÉÏgoogleÁËÒ»°Ñ£¬×ó·ÓÒ·Ö®ºó×ÜËãÕÒµ½ÁËÒ»¸ö·½·¨¡£ÒòΪjffs2Êǹ¹½¨ÓÚMTDÉ豸ÉϵÄÎļ ......
1) ÓÀ¾ÃÐÔÉúЧ£¬ÖØÆôºó²»»á¸´Ô
¿ªÆô£º chkconfig iptables on
¹Ø±Õ£º chkconfig iptables off
2) ¼´Ê±ÉúЧ£¬ÖØÆôºó¸´Ô
¿ªÆô£º service iptables start
¹Ø±Õ£º service iptables stop
¿ªÆôºÍ¹Ø±Õ¶Ë¿ÚÏà¹ØÅäÖÃÎļþ
/etc/sysconfig/iptables ......
1£¬½â¿ªtar.zµÄѹËõ°ü
# tar xvfz backup.tar.Z
»ò# uncompress backup.tar.Z
#tar xvf backup.tar
2£¬½â¿ª.tgzµÄÎļþ
#gunzip backup.tgz
3£¬ÈçºÎѹËõºÍ½âѹ.bz2µÄÎļþ
&nbs ......
1.¹ã¸æÎ¶Ì«Å¨£¬¹ý·Ö¿äÕÅÓû§ÌåÑé¡£
ÕâÊÇLinuxÐû´«ÖÐ×î´óµÄ벡£¬Ò²Ðí¶ÔÏàÐÅ¹ã¸æµÄÀÏÍâÓÐÒ»µãÓ㬵«¶ÔÓÚÔ±¾¾Í¶Ô¹ã¸æÓз´¸Ð̬¶ÈµÄÖйúÓû§À´Ëµ£¬µ±ÕæÕýʹÓÃLinuxºó·¢ÏÖ²¢²»ÏñÐû´«µÄÄÇÑùºÃÓÃʱ£¬»á²úÉú¼«´óµÄ·´¸ÐÐÄÀï¡£
ÕâÖÖÐû´«×îµäÐ͵ÄÑÔÂÛ¾ÍÊÇ“Linux±ÈWindows¿ì£¬¶øÇÒÕ¼ÓÃÏ ......
Linux ÕýÔÚǶÈëʽ¿ª·¢ÁìÓòÎȲ½·¢Õ¹¡£ÒòΪ Linux ʹÓà GPL£¨Çë²ÎÔı¾ÎĺóÃæµÄ²Î¿¼×ÊÁÏ
£©£¬ËùÒÔÈκζԽ« Linux ¶¨ÖÆÓÚ
PDA¡¢ÕÆÉÏ»ú»òÕß¿ÉÅå´øÉ豸¸ÐÐËȤµÄÈ˶¼¿ÉÒÔ´ÓÒòÌØÍøÃâ·ÑÏÂÔØÆäÄں˺ÍÓ¦ÓóÌÐò£¬²¢¿ªÊ¼ÒÆÖ²»ò¿ª·¢¡£Ðí¶à Linux ¸ÄÁ¼Æ·ÖÖÓºÏÁËǶÈëʽ£¯ÊµÊ±Êг¡¡£ËüÃǰüÀ¨
RTLinux£¨ÊµÊ± Linux£©¡¢uclinux£¨ ......