如何使只读文件系统在 busybox 上可写?

如何使只读文件系统在 busybox 上可写?

我想更改路由器上的一些文件。首先我可以更改/var中的所有内容,但我想更改/etc/fstab。当我尝试更改它时,我收到一条错误消息,指出文件系统是只读的。

路由器内的 Busybox,命令有限,所以我有用于 mips 的 busybox 二进制文件http://www.busybox.net/downloads/binaries/1.19.0/busybox-mips,并通过tftp()上传tftp -g -r busybox-mips my.i.p.addr,所以现在我可以使用完整的命令(/var/tmp/busybox-mipscommand)。

路由器(sdram)内没有rom,或者没有其他分区。肯定和busybox有关。

# /var/tmp/busybox-mips df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                 1344      1344         0 100% /

# mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
proc on /proc type proc (rw,nodiratime)
ramfs on /var type ramfs (rw)
# 



Model: 
        Airties 5021
Processor:
        BCM6332KFBG
        HS1037 P12
        994981 N1
Memory: 
        M12L64164A-7T (SDRAM)
        ANM1P02HL 1028

答案1

这与 BusyBox 无关。 BusyBox 是一组 unix 实用程序,专为路由器等资源匮乏的环境而设计。您的路由器的根文件系统以只读方式安装,因为它存储在壁球FS,无法写入的压缩文件系统。 SquashFS 文件系统在构建文件系统时一次性压缩,之后无法修改。

此类路由器通常运行以下路由器的变体或衍生版本DD-WRT。大多数变体都有另一个文件系统,通常捷福斯,这是可写的。看起来你的已经完全锁定了。检查是否有一个选项可以“解锁”额外的文件系统(它可能是NVRAM您可以通过网络界面进行设置,或者使用nvram实用程序(如果有的话)。如果找不到方法,请考虑安装备用固件,例如开放WRT,DD-WRT,番茄,...(在开始安装之前检查您的特定路由器型号是否受支持)。

答案2

使用 unionfs 并创建一些小 MB 大小的分区,并附加 unionfs 两个分区并使 r/o 分区也 r/w

相关内容