zoukankan      html  css  js  c++  java
  • Embeded linux之各类文件系统

    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

        

      未完待续

  • 相关阅读:
    2. 开关电源.电感
    1. 开关电源.引子
    资源介绍
    3. EMC EMS EMI
    2. 基于MCU应用的EMC指南
    1. 内部管脚电路
    9.150 Predefined macros
    海康安防平台
    Redis常见配置
    利用python检测单词的相似度
  • 原文地址:https://www.cnblogs.com/pokerface/p/6710491.html
Copyright © 2011-2022 走看看