示例#1
0
STATUS usrRamDiskInit ()
{
	BLK_DEV *pBlkDev;
	DOS_VOL_DESC *pVolDesc;
	/* create a ram disk */
	pBlkDev=ramDevCreate(0, 512, 400, 200000, 0);
	if(pBlkDev==NULL){
		printf("ran disk create error!!\n");
		printErrno();
		return ERROR;
	}
	/* Create Ram Disk Device */
	/*if(dosFsDevCreate("/ram0", pBlkDev, 4, NULL)==NULL){
		printf("create ramdisk error!!!\n");
		printErrno();
		return ERROR;
	}*/
	/* Format dosFs */
	/*if(dosFsVolFormat(pBlkDev, DOS_OPT_BLANK | DOS_OPT_QUIET | DOS_OPT_FAT32, NULL)==NULL){
		printf("Format dosFs error!!!\n");
		printErrno();
		return ERROR;
	}*/
	pVolDesc=dosFsMkfs("/ram0",pBlkDev);
	
	return OK;
}
示例#2
0
文件: flashFsLib.c 项目: ariavie/bcm
STATUS
flashFsLibInit(void)
{
    int         bootSize;

    /* 
     * We are considered initialized once flashDosVolDesc is non-NULL.
     */

    if (flashDosVolDesc) {
	return OK;
    }

    if (flashDrvLibInit() == ERROR) {
	printf("flashFsLibInit(): flashDrvLibInit() failed\n");
	return (ERROR);
    }

    /*
     * Determine where our file system starts
     */

    if (flashFsFindBootPartition(&bootSize) == OK) {
        flashBootSize = bootSize;
    }
    printf("Flash boot partition size = %d KB\n", flashBootSize / 1024);

    /* 
     * Set up BLK DEV structure
     */

    flashBlkDev.bd_blkRd = flashFsBlkRead;
    flashBlkDev.bd_blkWrt = flashFsBlkWrite;
    flashBlkDev.bd_ioctl = flashFsIoctl;
    flashBlkDev.bd_reset = NULL;
    flashBlkDev.bd_statusChk = NULL;
    flashBlkDev.bd_removable = FALSE;
    flashBlkDev.bd_nBlocks = FLASH_FS_SIZE_BLOCKS;
    flashBlkDev.bd_bytesPerBlk = FLASH_FS_BLOCK_SIZE;
    flashBlkDev.bd_blksPerTrack = 1;
    flashBlkDev.bd_nHeads = 1;
    flashBlkDev.bd_retry = 1;
    flashBlkDev.bd_mode = O_RDWR;
    flashBlkDev.bd_readyChanged = FALSE;

    if (flashFsVerbose) {
	printf("flashFsLibInit: Initializing...");
    }

    if (!flashDosFormat) {
#define DOS_OPT_DYNAMIC (DOS_OPT_CHANGENOWARN | DOS_OPT_AUTOSYNC)
        if (dosFsDevInitOptionsSet (DOS_OPT_DYNAMIC) != OK) {
            printf("flashFsLibInit: dosFsDevInitOptionsSet failed\n");
            return (ERROR);
        }
        flashDosVolDesc = dosFsDevInit(FLASH_FS_NAME, &flashBlkDev, NULL);
    }

    if (flashDosVolDesc == NULL) {
	if (flashFsVerbose) {
	    printf("\nflashFsLibInit: first time initialization...\n");
	}

	if (dosFsMkfsOptionsSet(DOS_OPT_LONGNAMES) == ERROR) {
	    printf("flashFsLibInit: dosFsMkfsOptionsSet failed\n");
	}

	flashDosVolDesc = dosFsMkfs(FLASH_FS_NAME, &flashBlkDev);

	if (flashDosVolDesc == NULL) {
	    printf("flashFsLibInit (first init): dosFsMkfs failed!");
	    printf("(0x%x)\n", errno);
	    return ERROR;
	} else {
	    if (flashFsVerbose) {
		printf("done\n");
	    }
	}
    }

    if (flashFsVerbose) {
	printf("done\n");
    }

    flashFsSync();

    return OK;
}