![如何使只读文件系统在 busybox 上可写?](https://linux22.com/image/17517/%E5%A6%82%E4%BD%95%E4%BD%BF%E5%8F%AA%E8%AF%BB%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E5%9C%A8%20busybox%20%E4%B8%8A%E5%8F%AF%E5%86%99%EF%BC%9F.png)
我想更改路由器上的一些文件。首先我可以更改/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-mips
command)。
路由器(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