web-dev-qa-db-ja.com

読み取り専用ファイルシステムを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-mipsコマンド)。

ルータ(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
4
0xmtn

これはBusyBoxとは関係ありません。 BusyBoxは、ルーターなどの低リソース環境向けに設計されたUNIXユーティリティのセットです。ルーターのルートファイルシステムは、書き込み不可の圧縮ファイルシステム SquashFS に格納されているため、読み取り専用でマウントされています。 SquashFSファイルシステムは、ファイルシステムのビルド時に一度に圧縮され、後で変更することはできません。

このようなルーターは、一般に DD-WRT の変形または派生物を実行します。ほとんどのバリアントには、サイドに別のファイルシステムがあり、通常は [〜#〜] jffs [〜#〜] で、書き込み可能です。完全にロックされているようです。余分なファイルシステムを「ロック解除」するオプションがあるかどうかを確認します(それは [〜#〜] nvram [〜#〜] のオプションである可能性があり、Webインターフェースを介して、またはnvramユーティリティ(ある場合)。方法が見つからない場合は、 OpenWRTDD-WRTTomato 、…(checkインストールを開始する前に、特定のルーターモデルがサポートされていることを確認してください)。

unionfsを使用して、MBサイズの小さいパーティションを作成し、unionfsを両方のパーティションに接続して、r/oパーティションもr/wにします。

0
ashutosh