原材料:openwrtルーター(Newifi 2、ポールルーター1も可能)
このマシンには、OpenWrtをフラッシュした後はあまり使用されていないMicroSDスロットが付属しています。自由に投げて、MicroSDカードを/ overlayパーティションにマウントして、使用可能な内部スペースを増やします。
最初にMicroSDカードスロットを使用するには、次の2つのカーネルモジュールをインストールする必要があります。
opkg install kmod-sdhci kmod-sdhci-mt7620
次に、MicroSDである/ devの下にmmcblk0のファイルが表示されます。
次に、ファイルシステム関連のソフトウェアパッケージをいくつかインストールします。
opkg install block-mount kmod-fs-ext4 e2fsprogs fdisk
block info//查看sdcard信息
SDカードをext4ファイル形式としてフォーマットします。
mkfs.ext4 /dev/mmcblk0p1
次に、既存のファイルをSDカードに転送します。OpenWrtの/ directoryと/ overlay directoryの意味がわからない場合は、以下を読むことができます。
mount /dev/mmcblk0p1 /mnt ; tar -C /overlay -cvf - . | tar -C /mnt -xf - ; umount /mnt
次に、mmcblk0p1のマウント構成を作成し(再起動マウントディレクトリがまだそこにあることを確認します)、次のコマンドを使用して自動化できます
block detect > /etc/config/fstab; \
sed -i s/option$'\t'enabled$'\t'\'0\'/option$'\t'enabled$'\t'\'1\'/ /etc/config/fstab; \
sed -i s#/mnt/mmcblk0p1#/overlay# /etc/config/fstab; \
cat /etc/config/fstab;
mmcblk0p1を/ overlayにマウントします。
mount /dev/mmcblk0p1 /overlay
ぶら下げ情報を見る:
root@OpenWrt:~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 2.5M 2.5M 0 100% /rom
tmpfs 61.0M 4.6M 56.4M 8% /tmp
/dev/mmcblk0p1 975.9M 39.4M 869.3M 4% /overlay
overlayfs:/overlay 975.9M 39.4M 869.3M 4% /
tmpfs 512.0K 0 512.0K 0% /dev
/dev/mmcblk0p2 893.5M 2.3M 829.0M 0% /sdcard
root@OpenWrt:~#
これで、/ overlayのスペースが増えたことがわかります。
このとき、ルーターを再起動して、ルーターが自動的に正常にマウントされるかどうかを確認できます。
以上の紹介
/ overlayはどういう意味ですか?
OpenWRTで一般的に使用されているファイルシステムはSquashFSです。このファイルシステムの機能は読み取り専用です。
では、読み取り専用ファイルシステムはどのように設定を保存してソフトウェアをインストールするのでしょうか。
これは/ overlayパーティションを使用することです。名前が示すように、overlayは上位層をカバーすることを意味します。
元のファイルを変更することはできませんが、変更した部分をオーバーレイパーティションに配置し、元の場所にマップします。読み取るときに、変更したファイルを読み取ることができます。
しかし、なぜそのような複雑な方法を使用するのでしょうか?もちろん、OpenWRTはEXT4ファイルシステムを使用することもできますが、SquashFS +オーバーレイを使用することには特定の利点があります。
まず、SquashFSは圧縮されているため、ルーターなどの小さなROMデバイスにさらに多くのものを入れることができます。
次に、OpenWRTの出荷時設定へのリセットもこの方法に依存します。リセットを突くと、オーバーレイパーティションをクリアするだけで、すべてがブラシをかけたときの状態に戻ります。
EXT4ファイルシステムの場合、工場出荷時の設定に戻すときに、変更された各ファイルをバックアップしてコピーすることしかできません。これは非常に複雑です。
もちろん、SquashFS +オーバーレイにも欠点があり、ファイルを変更するときに多くのスペースを占有します。
まず第一に、ファイルを削除することはできません。ファイルを削除すると、実際にはオーバーレイパーティションに削除マークが書き込まれ、代わりにより多くのスペースが必要になるためです。
また、ファイルを変更する場合は、ファイルのコピーを追加するのと同じで、2倍のスペースが必要になります。