我想通过在 /etc 中存储一些额外的文件来修改我的 ZyXEL P-2812HNU-F1 dsl 路由器。但是,/etc 挂载为 tmpfs,因此重新启动时更改会丢失。但可能有办法解决它;)
# cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / yaffs2 ro,relatime 0 0
tmpfs /etc tmpfs rw,relatime 0 0
[..snip..]
/dev/mtdblock4 /mnt/Config yaffs2 rw,relatime 0 0
/dev/mtdblock3 /mnt/firmware yaffs2 rw,relatime 0 0
# touch /am-i-really-mounted-rw
touch: /am-i-really-mounted-rw: Read-only file system
# cat /proc/mtd
dev: size erasesize name
mtd0: 01e00000 00020000 "rootfs,kernel1"
mtd1: 01e00000 00020000 "rootfs,kernel2"
mtd2: 00ac0000 00020000 "reserve"
mtd3: 02cc0000 00020000 "firmware"
mtd4: 00aa0000 00020000 "config"
mtd5: 00040000 00020000 "mrd_cert1"
mtd6: 00040000 00020000 "mrd_cert2"
# cat /proc/cmdline
root=/dev/mtdblock0 rootfstype=yaffs2 console=ttyS0,115200 phym=128M mem=126M panic=1 vpe1_load_addr=0x87e00000M vpe1_mem=2M vpe1_wired_tlb_entries=0
# uname -a
Linux router 2.6.32.42 #25 Mon Oct 5 14:41:26 CST 2015 mips unknown
所以,
- 为什么 /mounted rw 但实际上是只读的?
- 为什么有两个 rootfs/kernel 分区?那么路由器可以在运行时自行闪烁,然后在启动时切换到另一个?
- 我可以使用 dd 安全地将正在运行的内核/rootfs 复制到另一个 mtdblock 吗?
- 我如何从另一个 mtblock 启动?我已经有了 USB FTDI 电缆。
- 或者,是否有另一种方法将持久文件写入 /etc 此处?