Acorn 磁盘文件系统 - ADFS¶
ADFS 支持的文件系统¶
ADFS 模块支持以下 Filecore 格式,这些格式具有
新的映射
新的目录或大型目录
就命名格式而言,这意味着我们支持
E 和 E+,带或不带引导块
F 和 F+
我们完全支持从这些文件系统读取文件,以及写入现有分配中的现有文件。 从本质上讲,我们不支持更改任何文件系统元数据。
这旨在支持在 RISC OS Filecore 文件系统上环回挂载的 Linux 原生文件系统,但允许更改文件中的数据。
如果配置了写入支持 (ADFS_FS_RW),我们允许基本的目录更新,特别是更新访问模式和时间戳。
ADFS 的挂载选项¶
uid=nnn
分区中的所有文件都将由用户 ID nnn 拥有。 默认为 0 (root)。
gid=nnn
分区中的所有文件都将属于组 nnn。 默认为 0 (root)。
ownmask=nnn
ADFS “所有者”权限的权限掩码将为 nnn。 默认为 0700。
othmask=nnn
ADFS “其他”权限的权限掩码将为 nnn。 默认为 0077。
ftsuffix=n
当 ftsuffix=0 时,将不应用文件类型后缀。 当 ftsuffix=1 时,将添加与 RISC OS 文件类型对应的十六进制后缀。 默认为 0。
ADFS 权限到 Linux 权限的映射¶
ADFS 权限包括以下内容
所有者读取
所有者写入
其他读取
其他写入
(在旧版本中,确实存在“执行”权限,但它与 Linux “执行”权限的含义不同,现在已过时)。
映射按以下方式执行
Owner read -> -r--r--r-- Owner write -> --w--w---w Owner read and filetype UnixExec -> ---x--x--x These are then masked by ownmask, eg 700 -> -rwx------ Possible owner mode permissions -> -rwx------ Other read -> -r--r--r-- Other write -> --w--w--w- Other read and filetype UnixExec -> ---x--x--x These are then masked by othmask, eg 077 -> ----rwxrwx Possible other mode permissions -> ----rwxrwx因此,使用默认掩码,如果文件是所有者读/写,而不是 UnixExec 文件类型,则权限将为
-rw-------但是,如果掩码是 ownmask=0770,othmask=0007,则将修改为
-rw-rw----对这些掩码的使用没有任何限制。 你可能希望任何读取位都允许所有人读取该文件,但保持默认的写保护 (ownmask=0755,othmask=0577)
-rw-r--r--因此,你可以根据需要在 Linux 下应该具有的权限来定制权限转换。
RISC OS 文件类型后缀¶
RISC OS 文件类型存储在文件加载地址的位 19..8 中。
为了使非 RISC OS 系统能够用于存储文件而不丢失文件类型信息,设计了一种文件命名约定(最初用于 NFS),这样 ,xyz 形式的十六进制后缀表示文件类型:例如,BasicFile,ffb 是一个 BASIC (0xffb) 文件。 现在,RISC OS 模拟器(如 RPCEmu)也使用此命名约定。
使用选项 ftsuffix=1 挂载 ADFS 磁盘会导致将适当的文件类型后缀附加到从目录读取的文件名。 如果 ftsuffix 选项为零或省略,则不会添加任何文件类型后缀。