| tags:raspberry pi openwrt categories:computing
Disk容量の拡張
OpenWrtを使っていて(Wifiルーターとしてな安定問題なく動いてます。)、 ふと気がついてみたらディスクの状況が以下の様になっています。 全体で500MBくらい(RAMの大きさ?)の領域しか使われていません。
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt 19.07.2, r10947-65030d81f3
-----------------------------------------------------
root@OpenWrt:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 258016 16996 235780 7% /
tmpfs 217064 652 216412 0% /tmp
/dev/mmcblk0p1 20422 14884 5538 73% /boot
tmpfs 512 0 512 0% /dev
ファイルシステム自体もルーターということで少し変わってる様です。あまり理解はしていないのだけれども、 少量のRAMとFlashRAMで運用を考えられているのかしら、、圧縮ファイルが使われていたりします。
ちょっとウェブサーチをして、/overlay
はデータ領域と考えれば良い様なので、/
を弄るのは気が引けたので、
overlayを別のパーティションに割り当てる方法にする。
作業に必要なソフトをインストールします。
root@OpenWrt:~$ opkg install fdisk block-mount kmod-fs-ext4
カーネルモジュールをインストールしたので再起動。
新しいパーティションの作成
OpenWrtではMicroSDカードはMMC扱の様で割り当ては
/dev/mmcblk0
になっています。
root@OpenWrt:~$ fdisk /dev/mmcblk0
元のディスク構成はこんな感じです。
oot@OpenWrt:~$ fdisk /dev/mmcblk0
Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/mmcblk0: 29.83 GiB, 32010928128 bytes, 62521344 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5452574f
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 * 8192 49151 40960 20M c W95 FAT32 (LBA)
/dev/mmcblk0p2 57344 581631 524288 256M 83 Linux
パーティションの隙間に4MB (8193?)の空きがあるのが不思議だけど、 まぁ、習って同じ感じで新しいパーティションを作成しました。 こな感じ。
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 * 8192 49151 40960 20M c W95 FAT32 (LBA)
/dev/mmcblk0p2 57344 581631 524288 256M 83 Linux
/dev/mmcblk0p3 589824 62521343 61931520 29.5G 83 Linux
そしてmkfs.ext4
でフォーマットをします。
root@OpenWrt:~$ mkfs.ext4 /dev/mmcblk0p3
mke2fs 1.44.5 (15-Dec-2018)
Discarding device blocks: done
Creating filesystem with 7741440 4k blocks and 1937712 inodes
/overlayはデーター領域になっているはずですが空の様です。
root@OpenWrt:~$ ls -a /overlay/
. ..
root@OpenWrt:~$
もし色々とすでにあったらコピーしましょう。
root@OpenWrt:~$ mount /dev/mmcblk0p3 /mnt
root@OpenWrt:~$ cp -a -f /overlay/. /mnt
root@OpenWrt:~$ umount /mnt
OpenWrtをリブートします。
root@OpenWrt:~$ reboot
管理画面でマウント処理
ウェブ管理画面に新メニュー [System > Mount Points] が追加されます。 OpenWrtのドキュメントではコマンドを使った方法が記載されてますが、 ここで作業は完結できました。(多分)
作成したパーティションがすでにあるものと一緒に表示されます。/
がマウントされていなくて、
ちょっと謎なところもあるが。動いているので放置。
青いEditボタンより編集。有効化にチェックを入れ、割り当て先を/overlay
に選択し保存します。
(/
を選択すると方法まで書いてあります。)
そして、再起動します。
結果この様な感じになりました。/rom
なんてのが出てきてる。。展開されるファイルはどこにあるんやろ?。
root@OpenWrt:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 258016 17688 235088 7% /rom
tmpfs 217064 1152 215912 1% /tmp
/dev/mmcblk0p3 30348144 45116 28738356 0% /overlay
overlayfs:/overlay 30348144 45116 28738356 0% /
/dev/mmcblk0p1 20422 14884 5538 73% /boot
tmpfs 512 0 512 0% /dev
ソフトウェアのインストール領域も一気に増えました。
弄りも最小限ですので、ファームウェアのアップデート時も問題なく動くはずだと思います。
さてお次は何を入れよ。
参考:https://openwrt.org/docs/guide-user/additional-software/extroot_configuration