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

Linux ·ÃÎÊfat¸ñʽÎļþϵͳ

Ê×ÏÈÒªµ¼ÈëÕâЩͷÎļþ
#include
#include
#include
#include
#include
#include



È»ºó¿´Ò»ÏÂʵ¼ÊµÄ²Ù×÷


1¡¢²é¿´ÎļþϵͳÐÅÏ¢
asmlinkage long get_files_info(char * filesystem_type)//È¡µÃµ±Ç°Ä¿Â¼µÄÎļþϵͳÐÅÏ¢
{
struct fs_struct *fs ;
struct vfsmount *mnt ;
struct super_block *mnt_sb ;
struct file_system_type *s_type;
read_lock(¤t->fs->lock);
fs = current->fs;
mnt = fs->pwdmnt;
mnt_sb = mnt-> mnt_sb ;
s_type = mnt_sb -> s_type;

printk("PWD Filesystem Type is : %s\n",s_type->name);
copy_to_user(filesystem_type,s_type->name,strlen(s_type->name));

printk("PWD= %ld\n",mnt_sb->s_blocksize);

read_unlock(¤t->fs->lock);
return 0;
}







2¡¢²é¿´fat_boot_sector ÐÅÏ¢
asmlinkage long get_FAT_boot(char * filesystem_type)//È¡µÃfatÎļþϵͳµÄÐÅÏ¢
{
struct fs_struct *fs ;
struct vfsmount *mnt ;
struct super_block *mnt_sb ;
struct buffer_head * bh=NULL;
struct fat_boot_sector *fat_sector;
char c[512];
int len;

read_lock(¤t->fs->lock);
fs = current->fs;
mnt = fs->pwdmnt;
mnt_sb = mnt-> mnt_sb ;
char *fsname=mnt_sb -> s_type->name;
char *sfs="vfat";
if(strcmp(fsname,sfs)==0)//´ËʱÎļþϵͳÊÇvfat
{
sb_min_blocksize(mnt_sb, 512);
bh = sb_bread(mnt_sb, 0);
if(bh!=NULL)
{
fat_sector=(struct fat_boot_sector *)bh->b_data;
len=sprintf(c,"FATÎļþϵͳ¾ßÌå²ÎÊýÈçÏÂ:\n");
len=sprintf(c,"%sbackup boot sector= %d\n",c,fat_sector->backup_boot);
len=sprintf(c,"%ssectors/cluster= %d\n",c,fat_sector->sec_per_clus);
len=sprintf(c,"%snumber of heads= %d\n",c,fat_sector->heads);
len=sprintf(c,"%shidden sectors (unused)= %d\n",c,fat_sector->hidden);
len=sprintf(c,"%smedia code= %d\n",c,fat_sector->media);
len=sprintf(c,"%sbytes per logic


Ïà¹ØÎĵµ£º

linux fodera 13 ÏÂÊÖ¶¯ÃüÁî°²×° rpm gcc

linux fodera 13 ϰ²×° rpm gcc
ÏÈÔÚÖÕ¶ËϽøÈëFedora-13-Beta-i386-DVD ¹âÅÌÖÐµÄ Package Èí¼þ°ü
È»ºó°´ÈçÏÂ˳Ðò°²×°
rpm -ivh cpp-4.4.3-8.fc13.i686.rpm
rpm -ivh kernel-headers-2.6.33.1-24.fc13.i686.rpm
rpm -ivh glibc-headers-2.11.90-16.i686.rpm
rpm -ivh glibc-devel-2.11.90-16.i686.rpm
rpm -ivh ......

linuxÄÚºËÄ£¿éÖв¶»ñÖжϵÄÒ»¸öÀý×Ó

Ö±½ÓÉÏÀý×Ó°É¡£Ö»ÊDz¶»ñij¸öÉ豸µÄÖж϶øÒÑ¡£¡£¡£
¸ÃÎļþµÄÃû×ÖÊÇirq.c
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/timer.h>
#define DEBUG
#ifdef DEBUG
#define MSG(message, args...) printk( ......

asterisk ÒÆÖ²µ½ ǶÈëʽlinux ppc_6xx »·¾³ÏÂ

http://blog.csdn.net/ren911/archive/2010/05/10/5576456.aspx
½«asteriskÒÆÖ²µ½ppc__6xx»·¾³ÏµÄǶÈëʽϵͳÉϵÄÖ÷Òª²½Ö裺
ÔÚËÞÖ÷»úÉÏasteriskÔ´Âë°ü½âѹËõºóµÄĿ¼ÏÂ:
1.  ./configure CC=ppc_6xx_gcc --without_gnu_ld __host=ppc_linux
(¹ýÈ¥ÓжÎʱ¼äÁË£¬´óСд¿ÉÄÜÓеã¼Ç²»Çå³þ)
2. make menuselect £¨Ñ¡Ô ......

asterisk ÒÆÖ²µ½ ǶÈëʽlinux ppc_6xx »·¾³ÏÂ

½«asteriskÒÆÖ²µ½ppc__6xx»·¾³ÏµÄǶÈëʽϵͳÉϵÄÖ÷Òª²½Ö裺
ÔÚËÞÖ÷»úÉÏasteriskÔ´Âë°ü½âѹËõºóµÄĿ¼ÏÂ:
1.  ./configure CC=ppc_6xx_gcc --without_gnu_ld __host=ppc_linux (¹ýÈ¥ÓжÎʱ¼äÁË£¬´óСд¿ÉÄÜÓеã¼Ç²»Çå³þ)
2. make menuselect £¨Ñ¡ÔñÒª²Ã¼ôµÄ×é¼þ£©
3. make cross_complier=ppc_6xx ARCH=ppc
4. ma ......

linuxµÄPCÉϹÒÔØjffs2¸ùÎļþϵͳӳÏñ

http://linux.ctocio.com.cn/437/8831437.shtml
ÎÒÃÇÔÚµ÷ÊÔÓ²¼þ°åʱ£¬¾­³£ÐèÒª×ö¶à¸öjffs2µÄ¸ùÎļþϵͳӳÏñ£¬ÓÐʱҲҪ¶Ô±ÈÆäËû;¾¶µÃµ½µÄ¿ÉÓõÄjffs2¸ùÎļþϵ
ͳӳÏñ¡£µ«jffs2µÄÎļþϵͳӳÏñ²»Ïó¹âÅ̵ÄÓ³ÏñÎļþÒ»Ñù¿ÉÒÔͨ¹ýloopÉ豸À´¹ÒÔØ……
ÎÒÃÇÔÚµ÷ÊÔÓ²¼þ°åʱ£¬¾­³£ÐèÒª×ö¶à¸öjffs2µÄ¸ùÎļþϵͳ
Ó³Ïñ£¬ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ