博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Embeded linux之各类文件系统
阅读量:5221 次
发布时间:2019-06-14

本文共 2594 字,大约阅读时间需要 8 分钟。

Cramfs:(优点:只读,目的:不可更改文件、防入侵)

  1.下载cramfs-1.1源码工具

    http://files.cnblogs.com/files/pokerface/cramfs-1.1.tar.gz

  2.解压

    tar xvzf cramfs-1.1.tar.gz -C /home/liuzhengwu/tools

  3.编译

    make

  4.得到

    COPYING  cramfsck  cramfsck.c  GNUmakefile  linux  mkcramfs  mkcramfs.c  NOTES  README

    cramfsck:用来创建cramfs文件系统

     mkcramfs:用来进行cramfs文件系统的释放以及检查

  5.将文件系统制作成cramfs格式文件系统(当前路径为文件系统顶层)

    /home/liuzhengwu/tools/cramfs-1.1/mkcramfs . rootfs.cramfs

  6.设置uboot启动参数

    set bootargs 'mem=256M console=ttyXXX,115200 root=/dev/mtdblock2 rootfstype=cramfs mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)'

  7.烧录文件系统

    mw.b 82000000 ff 1C00000;tftp 0x82000000 rootfs.cramfs;sf probe 0;sf erase 400000 1C00000;sf write 82000000 400000 1C00000

  效果:

  

Initramfs

  1.配置内核支持initramfs

  make menuconfig

   ->General setup

    [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support 

    (/home/liuzhengwu/sdk/rootfs_glibc/) Initramfs source file(s)

   ->Device Drivers

    [*] Block devices  --->

      <*>   RAM block device support

      (16)    Default number of RAM disks

      (4096)  Default RAM disk size (kbytes) 

  2.编译内核+根文件系统

    make uImage

  3.uboot参数

    set bootargs 'mem=256M console=ttyXXX,115200n8 root=/dev/ram0 rw init=/init initrd=0x82000000,3M mtdparts=hi_sfc:1M(boot),6M(kernel)'

  4.tftp下载uImage、启动即可

Ramdisk

  

jffs2

  1.工具zlib

    tar xvzf zlib-1.2.3.tar.gz

  2.配置

    ./confiure --share --prefix=/home/liuzhengwu/tools/zlib/pc_build/

  3.编译

    make

  4.安装

    make install

  5.工具mtd-utils

    tar xjf mtd-utils-05.07.23.tar.bz2

  6.修改编译脚本的安装路径

    vi Makefile  

    prefix=/home/liuzhengwu/tools/mtd-utils/pc_build/

  6.编译

    make

  7.安装

    make install

  8.得到mkfs.jffs2工具

  9.制作jffs2格式文件系统

    /home/liuzhengwu/tools/mtd-utils/pc_build/mkfs.jffs2 -n -s 2048 -e 128KiB -d rootfs/ -o rootfs.jffs2

    -n 不要在每个擦出块上都加上清楚标志

    -s 一页大小

    -e 一块大小

    -d 目录

    -o 输出文件

NFS:

  服务器:

    安装nfs

       apt-get install nfs-kernel-server 

    增加挂载目录

      vi /etc/exports

      /home/liuzhengwu/rootfs/ *(rw, sync,no_root_quash)

    重启nfs

      sudo /etc/init.d/nfs_kernel_server restart

  客户端:

    手动挂载

      mount -t nfs -o nolock 192.168.0.197:/home/liuzhengwu/rootfs/ /mnt

    启动挂载

      uboot 参数 bootargs:

      增加

        noinitrc root=/dev/nfs nfsroot=serverip:rootdir ip=addrip:gwip:netmask:hostname:ethdevice:autoconf init=/linuxrc console=ttyXXX

        noinitrc root=/dev/nfs nfsroot=192.168.0.197:/home/liuzhengwu/rootfs/ ip=192.168.0.254:192.168.0.1:255.255.255.0::eth0:off init=/linuxrc console=ttyXXX

 

    

  未完待续

转载于:https://www.cnblogs.com/pokerface/p/6710491.html

你可能感兴趣的文章
提高PHP性能的47个技巧
查看>>
win 7 64位 配置silverlight 32位的应用程序(sl网站)
查看>>
负载均衡配置篇(Nginx)
查看>>
软件工程 speedsnail 第二次冲刺2
查看>>
字符编码的过滤器Filter(即输入的汉字,能在页面上正常显示,不会出现乱码)...
查看>>
最小度限制生成树模板
查看>>
树状数组总结
查看>>
3.shell编程-文件查找之find命令
查看>>
SQL语句使用时间和日期的函数
查看>>
SourceTree windows免注册免登陆使用方法
查看>>
Android Studio 快捷键和常用技巧汇总
查看>>
POJ 1195 Mobile phones(二维树状数组)
查看>>
团队报告
查看>>
GridView 72般绝技 (http://blog.csdn.net/21aspnet/)
查看>>
win7创建共享给windows和linux机器
查看>>
Window.open()方法参数详解
查看>>
Hadoop1 集群安装实验
查看>>
纯css打造凹进与突出效果
查看>>
服创大赛_中期老师可能会问的问题
查看>>
面向对象三大特性之多态与多态性
查看>>