答案1
JFFS2 不是为常规块设备(例如通过 USB 存储或硬盘控制器实现的设备)而设计的 - 它是为嵌入式设备以及当您可以直接通过 MTD 访问闪存芯片时而设计的。
除非使用一些相当高级的黑客技术,否则不可能在块设备上使用它,例如这个详细说明了使用名为“block2mtd”的内核技巧在块设备上模拟 MTD 接口。这太不切实际了,只能作为智力上的好奇,不要在现实世界中这样做。
JFFS2 还设计用于数十兆字节数量级的极少量闪存,而对于更大容量的闪存,性能可能会下降。
值得注意的是,USB 闪存驱动器和存储卡等现代闪存介质在内部实现了一种称为“磨损均衡”的功能,该功能解决了日志结构文件系统(如 JFFS2)试图通过减少擦除周期和将写入分散到驱动器空间来解决的主要问题之一。这也会抵消这种文件系统的大多数好处。较便宜的 USB 闪存驱动器和存储卡上的磨损均衡是一种低性能类型,称为动态磨损均衡,它会在需要时移动数据。一些更高级的 USB 闪存驱动器和存储卡以及 SSD 使用一种更高性能的磨损均衡,称为静态磨损均衡,在这种磨损均衡中,数据可以在驱动器空闲时移动,以预先准备好可供写入的空块,从而显著加快小型写入操作的速度。
如果你想尝试,你可以尝试使用类似的文件系统近端局部缺血模型。但是,在某些任务上,它比传统文件系统慢得多。您可能会惊讶地发现,ext4 等传统文件系统比您想象的要快。
答案2
我认为您不需要将 USB 驱动器或记忆棒格式化为 JFFS2。只需使用名为 JFFS 并使用 ext2 格式化的分区即可。启用 USB 磁盘服务,它应该会自动由 DD-WRT 安装。我在运行 DD-WRT f/w 的 R7800 上使用记忆棒。查看 GUI 选项卡 USB 和 NAS 中的设置。管理中的某个地方还有一个 jffs 设置。