title: mkdosfs 安装

tags: linux

date: 2018/12/26/ 17:08:54

mtd-utils安装 for 主机

在制作根文件系统中需要使用它制作jffs2,这里是使用gcc编译的,不是使用arm-linux-gcc

这个工具依赖zlib,所以还需要先安装它

安装zlib

  1. 源码包是zlib-1.2.3.tar.gz,使用xzf,不是xjf来解压.tar xzf zlib-1.2.3.tar.gz
  2. 配置./configure --shared --prefix=/usr/ ,shared 表示动态库,prefix表示安装路径
  3. make
  4. 最后安装到系统,sudo make install

安装mtd-utils

  1. 源码包是mtd-utils-05.07.23.tar.bz2,先解压tar xjf mtd-utils-05.07.23.tar.bz2
  2. cd util/make
  3. 安装 sudo make install
  4. 生成工具mkfs.jffs2
  5. 使用生成,不同的flash使用不同的参数
    mkfs.jffs2 -n -s 2048 -e 128KiB -d  first_fs -o  first_fs.jffs2
    
    -s  一页大小是2048
    -e 一个块大小 128KiB
    -d 源目录
    -o 输出

mtd-utils安装 for 单板

参考链接

编译安装,这里util依赖zlib,还要安装这个,zlib要安装到交叉编译器中,使用which查看

`# tar xzvf zlib-1.2.3.tar.gz
# which arm-linux-gcc
/opt/gcc-3.4.5-glibc-2.3.6/bin/arm-linux-gcc
#其中-prefix指定zlib的安装路径,需要指定到交叉编译器所在路径
#CC=arm-linux-gcc ./configure --shared --prefix=/opt/gcc-3.4.5-glibc-2.3.6/arm-linux
#make
#make install #------------------------------------------------------------------
#mkdir tmp
#tar xjf mtd-utils-05.07.23.tar.bz2 -C tmp/
#cd tmp
#cd util/
修改 Makefile: #CROSS=arm-linux- 改为 CROSS=arm-linux-
#make

复制到nfs的文件系统提供给单板使用

cp  flash_erase  flash_eraseall flashcp  /stu/fs

使用工具格式化后挂载

FAQ : 格式化使用字符设备

因为每个分区的字符设备,其实就是对应着每个分区块设备。即/dev/mtd3对应/dev/mtdblock3

flash_eraseall, flash_erase那些命令是以ioctl等基础而实现, 而块设备不支持ioctl, 只有字符设备支持

#擦除分区3,也就是文件系统的分区
./flash_eraseall /dev/mtd3 #挂载刚才格式化 的分区3 也就是 root
# mount -t yaffs /dev/mtdblock3 /mnt
yaffs: dev is 32505859 name is "mtdblock3"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.3, "mtdblock3"
yaffs: auto selecting yaffs2
block 591 is bad # ls /mnt
lost+found #卸载
umount /mnt

mtd-utils 安装的更多相关文章

  1. Creating and Flashing UBIFS with MTD Utils

    转:http://wiki.atlas-embedded.com/index.php?title=Creating_and_Flashing_UBIFS_with_MTD_Utils Contents ...

  2. 网络安装之Redhat衍生版

    GNU/Linux开源,这个意义实在是非常的广泛,目前在distrowatch上表现活跃的300个发行版代表了GNU/Linux的主流,然而细心的Linux爱好者会发现CentOS-based dis ...

  3. Is an MTD device a block device or a char device?

    转:http://www.linux-mtd.infradead.org/faq/general.html#L_mtd_what Note, you can find Ukranian transla ...

  4. centos7 源码安装redis

    安装3.x [root@node1 ~]# yum install wget gcc-c++ make [root@node1 ~]# wget http://download.redis.io/re ...

  5. 开源堡垒机jumpserver的安装

    开源跳板机jumpserver安装 简介 Jumpserver 是全球首款完全开源的堡垒机, 使用GNU GPL v2.0 开源协议, 是符合4A 的专业运维审计系统 Jumpserver 使用Pyt ...

  6. Vue2.x源码学习笔记-Vue构造函数

    我们知道使用vue.js开发应用时,都是new Vue({}/*options*/) 那Vue构造函数上有哪些静态属性和方法呢?其原型上又有哪些方法呢? 一般我都会在浏览器中输入Vue来look se ...

  7. 构建Mogilefs分布式文件系统(配置篇)

    构建Mogilefs分布式文件系统:  当下互联网飞速发展,海量并发所产生的数据量以几何方式增长,随着信息链接方式日益多样化,数据存储的结构也发生了变化,在这样的压力下我们不得不重新审视大量数据的存储 ...

  8. django+xadmin在线教育平台(九)

    django admin介绍 上一章我们进行了需求分析和数据库设计.本章我们来快速搭建一个可用的后台管理系统. 后台管理系统特点: 权限管理 少前端样式.(样式一般不是很看重), 快速开发 djang ...

  9. UBIFS - UBI File-System

    参考:http://www.linux-mtd.infradead.org/doc/ubifs.html#L_raw_vs_ftl UBIFS - UBI File-System Table of c ...

  10. Linux下常用操作

    ************************ 镜像操作 ************************************* screen -s name 新建 screen -r name ...

随机推荐

  1. EF ORM

    //新增 UserInfo userInfo = new UserInfo(); userInfo.UserName = "YANG"; userInfo.UserPass = & ...

  2. iOS pthread

    pthread 是属于 POSIX 多线程开发框架 创建线程的方法:pthread_create   参数含义: 1.指向线程代号的指针 2.线程的属性 3.指向函数的指针 4.传递给该函数的参数 返 ...

  3. 使用jquery实现选项卡切换效果

    几张简陋的框架效果图 页面加载时: 选项卡操作后: css样式: <style type="text/css"> *{margin:0px;padding:0px;} ...

  4. 树莓派Ubuntu 16.04 MATA系统 修改用户文件夹名后,提示configure it with blueman-service

    自从修改了树莓派的Ubuntu 16.04 MATA 系统的 /home/ 下的用户文件夹名后,使用vncserver远程操作,看到桌面每次都提示 Configured directory for i ...

  5. easyUI行删除

    function removeRow(target,number) { if (number) { var index = getRowIndex(target); $datagrid.datagri ...

  6. Unknown column 'user_uid' in 'field list' sql错误解决过程

    在idea中运行一直有错,找了好多个地方都找不到,以为是我的字段名字写错了,然而都是对的. 把错误的这个字段删了再打一遍就好了,

  7. 如何在本地搭建DVWA环境

    如何在本地搭建DVWA环境 1.工具下载:  (1)phpStudy:   http://phpstudy.php.cn/download.html (2)DVWA:http://www.dvwa.c ...

  8. Mongo字符串类型的数值查询---$Where查询介绍

    ​        在Mongo中都知道字符串类型大小比较都是以ASCII进行比较的,所以无法真实比较字符串类型的数值大小 ​      比如查询age大于3的: db.getCollection(&q ...

  9. Elasticsearch 通关教程(三): 索引别名Aliases问题

    业务问题 业务需求是不断变化迭代的,也许我们之前写的某个业务逻辑在下个版本就变化了,我们可能需要修改原来的设计,例如数据库可能需要添加一个字段或删减一个字段,而在搜索中也会发生这件事,即使你认为现在的 ...

  10. Scrapy安装报错

    python3 pip 安装Scrapy在win10 安装报错error: Microsoft Visual C++ 14.0 is required. Get it with "Micro ...