Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ubuntuÏÂlinuxÄÚºËÄ£¿é±à³Ì module.hµÄÎÊÌâ

ÎÒÏÂÔØÁËÒ»¸ölinux-2.6.31.5µÄÄںˣ¬½øÐÐÁ˱àÒë
È»ºó¿ªÊ¼±àд×Ô¼ºµÄÐéÄâ×Ö·ûÉ豸Çý¶¯
/**
*rwbuf.h,  driver for virtual char-device
*/

#define  RWBUF_NAME  "rwbuf"        // É豸Îļþ /dev/rwbuf
#define  RWBUF_DEV      "/dev/rwbuf"  // device path
#define  RWBUF_MAJOR  60              // Ö÷É豸ºÅ
#define  RWBUF_CLEAR  0x909090    // IO Ctrl Command
ÉÏÃæÊǺêµÄÍ·Îļþ
#include "rwbuff.h"
#include <unistd.h>
#include <linux/kernel.h> //for kernel programming
#include <linux/module.h> //for kernel module struct
#include <linux/init.h>
#include <linux/fs.h> //struct file_operations
#include <sys/types.h>

static struct file_operations rwbuf_fpos = {
open: rwbuf_open,
release: rwbuf_close,
read: rwbuf_read,
write: rwbuf_write,
ioctl: rwbuf_ioctl,
};

int init_module()
{
printk("Hello world\n");
if(register_chrdev(RWBUF_MAJOR,RWBUF_NAME,&rwbuf_fpos)){
printk("register error\n");
return -1;
}
else
printk("register ok\n");
return 0;
}

void cleanup_module()
{


Ïà¹ØÎÊ´ð£º

red hat enterprise linux 5.1 ûÓеط½ÉèÖÃrootÃÜÂë

ÎÒ°²×°red hat enterprise linux 5.1 µÄʱºò¡£Ã»ÓÐÉèÖÃrootÃÜÂë¡£
Ö»ÓÐÉèÖÃÒ»¸öÆÕͨÕʺš£


²»¿ÉÄܰɠ ¿Ï¶¨Óиö»­ÃæÊÇÈÃÄãÊäÈërootÓû§ÃûÃÜÂë

Äã¿Ï¶¨´í¹ýÁË

ûÃÜÂëÄܽøÈ¥£¿

Óõ¥Óû§Ä£Ê½½ø ......

ÓйØlinux°²×°½Å±¾kickstartµÄ±àд

ÎÒÖ®Ç°ÖÆ×÷µÄlinux×Ô¶¯°²×°isoÒѾ­³É¹¦ÁË£¬ÏÖÔÚÏë¶ÔÆä½øÐÐһЩ¶¨ÖÆÐ޸쬱ÈÈ磬¸ü¸ÄgrubͼƬµÈ¡£
ÎÒÔÚks.cfgµÄ%post¶ÎÀïÃæÊÇÕâÑùдµÄ£º
%post --nochroot
# Move the contents of the tar into their new locati ......

linux ʹÓÃuÅ̰²×°ÎÊÌâ

ÎÒÓÃuÅ̰²×°debian£¬°´ÕÕÍøÉϵķ½·¨×öºÃuÅÌÆô¶¯Å̺󣬽«biosÉèÖÃΪUsb-fddģʽ£¨uÅÌÖ»ÄÜÔÚÕâ¸öģʽÏÂÆô¶¯£©£¬ÄÜÕý³£Æô¶¯¡£½øÈëÅäÖÃÒ³ÃæºóÔÚɨÃècd-romʱÌáʾÎÞ.iso¾µÏñ¡£Õâ¿ÉÔõô°ì£¿
ÍøÉÏÓÐÈË˵ҪÓÃgrubÒýµ¼ÎªuÅ ......

Linuxϰ²×°ÎÊÌâ

Ô­ÏȵÄGCC°æ±¾Îª4.1.2,ÎÒÖØÐ±àÒë°²×°ÁËGCC4.3.2£¬µ«ÊDZàÒëÍê³ÌÐòÔËÐгÌÐòʱ»á³öÏÖversion `GLIBCXX_3.4.9' not found Õâ¸öÎÊÌ⣬ÎÒ²»Ì«Ã÷°×Ôõô»ØÊ£¬Çë¸÷λ´óϺָµãһϡ£
ÊÖ¶¯ÔÙ×°Ò»´Îglibc*_3.4.9

ÕâÊÇÎ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ