修改 FAT32 文件系统的读写属性

修改 FAT32 文件系统的读写属性

      在SylixOS启动过程中,系统镜像文件通常放在Fat32文件系统中,因此,为了保护镜像文件不会被无意间修改,我们可以通过修改Fat32文件系统的读写属性,来限制用户对系统文件的操作权限。
      本篇中,以IMX6试验箱作为硬件平台。启动方式为从eMMc Flash启动。由下图1可知,eMMc Flash有两个分区,在系统启动后分别挂载到/media/sdcard0和/media/sdcard1。

                                               图1 查看挂载信息

      由图2可知,根文件系统中的boot目录文件符号链接到/media/sdcard0。


                     图2 根文件系统文件目录

      如下图3所示,这两个分区的文件系统分别是Fat32格式和tpsfs格式,只读属性为关闭状态。

                     图3 查看文件属性信息

      如图4所示,先解挂设备,再使用mount命令以只读方式挂载设备。操作完成后,Fat32文件系统的只读属性处于打开状态。

                     图4 修改文件系统的读写属性

      如图5所示,在/boot目录下创建设备失败,说明当前文件系统已处于写保护(只读)状态。


                     图5 文件系统处于写保护态

      如果要恢复Fat32文件系统的读写属性,可按照图6所示操作。

                     图6 文件系统恢复读写属性

      这里当对两个分区通过umount命令同时解挂后,可以通过remount命令重新挂载两个分区,SylixOS提供remount命令,在linux未找到,具体操作如下图所示。



    • Related Articles

    • SylixOS 根文件系统及目录介绍

      问:SylixOS 根文件系统的目录如何理解? 答:SylixOS 启动后自动挂载的第一个文件系统称为根文件系统。 这里不同于 Linux 系统,SylixOS 根文件系统是一个虚拟文件系统,掉电后不会保存对此文件系统的修改,所以 SylixOS 可以工作在没有非易失性存储器(通常为硬盘或其他磁盘存储器)的机器上。 在此文件系统上,SylixOS 会自动建立 dev 、 media 与 mnt 目录,其他标准目录则需要 BSP 在初始化阶段做挂载或者符号链接。 ...
    • 使用xx.txt文件生成块设备节点并挂载文件系统?

      Q:如何使用txt文件生成块设备节点并挂载文件系统? a.复制内核里 ramdisk 代码 b.修改 ramdisk 函数实现,open 函数中使用 open 打开一个空文件,将空文件按照内存方式操作 c.ramdisk read 和 write 函数中原有的内存操作全部替换成 leek/read/write操作文件 c.申请块设备句柄,并创建一个文件盘 d.使用 API_OemDiskMount 进行挂载,此时挂载会失败,但是已经能够在/dev/blk下生成文件盘设备句柄 ...
    • SylixOS 文件系统格式化说明

      Q:SylixOS 文件系统格式化说明 更多扩展知识见: 详见《RealEvo-IDE使用手册》第8章 安装SylixOS 第 8.4 节 硬盘安装SylixOS。 公开链接:SylixOS 手册获取
    • ROMFS 使用手册

      1. 使用范围 本文档主要介绍基于 SylixOS 的 RomFs 的使用方法。 2. 准备工作      1、SylixOS 硬件设备             2、BSP 源码             3、USB 转串口设备一个 3. 操作步骤             1、在BSP中添加编译项 romfs.S; 拷贝文件 romfs.S 到 BSP 源码 SylixOS\bsp 目录下,在 Makefile 中增加编译项,如图 3.1所示。 图 3.1             2、在 BSP ...
    • 为什么有些文件系统中不能建立链接文件

      Q: 为什么有些文件系统中不能建立链接文件? 当使用新的 SylixOS 分级目录管理时, SylixOS 提供了部分的链接文件支持(不支持硬链接, 仅支持 unix 符号链接), 但是仅仅是在根文件系统(root fs)所属的目录中, 目前 SylixOS 的其他文件系统还不支持链接文件, 所以链接文件(symbol path) 必须在 root fs 管辖的目录中(可以满足绝大多数的应用!). 例如: 可以调用 symlink("/yaffs2/n0/etc", "/etc"); 或者执行 ...