私は組み込みLinuxオペレーティングシステム(FriendlyWRT)で開発中です。https://openwrt.org/)そしてOTAアップデートが機能しない場合、またはデバイスが破損した場合に備えて、ほぼ完全に検証された回復戦略が必要です。これにより、組み込みデバイスで最後に動作したOSイメージ(工場イメージ)に復元できます。
だから私は「二重コピー」戦略を使うことにしました。(https://mkrak.org/2018/01/10/updating-embedded-linux-devices-part1/)。
私たちのオペレーティングシステムはRasperryPiに似たSDで動作します。
64GB SDカードを3つのパーティションに分けました。
パーティション1 - アクティブOS(〜29 Gb)
パーティション2 - 非アクティブOS(将来更新されたOSがロードされる)(〜29 Gb)
パーティション3 - データ(OSに関連付けられていない永続共有領域)。 (~2GB)
すべてのパーティションはFAT32です。
サードパーティ製ツール(EaseUS Partition Master 15.0)を使用して3つのパーティションを作成し、「Win32 Disk Imager」を使用して3つのパーティションをすべて表示できました。また、「Win32 Disk Imager」を使ってOpenWRTを最初のパーティションに焼きました。以下のスナップショットをご覧ください。
Wi-Fi経由でLinuxボックスにSSHで接続して実行するとき fdisk -l
、わかりました。:
root@FriendlyWrt:/# fdisk -l
Disk /dev/ram0: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram1: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram2: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram3: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram4: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram5: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram6: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/ram7: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/mmcblk0: 59.49 GiB, 63864569856 bytes, 124735488 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: 0x7fe1e74c
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 196608 1515519 1318912 644M 83 Linux
/dev/mmcblk0p2 1515520 31116287 29600768 14.1G 83 Linux
fdiskは複数の小さな4096バイトのパーティションを表示し、パーティション全体を表示します。 ディスク/dev/mmcblk0: 59.49GiB、そして/dev/mmcblk0p1 &/dev/mmcblk0p2 OSがあるところですが、/dev/mmcblk0: 59.49 GiBディスクを1つの巨大な59.49 GiBの代わりに3つの部分に分割したいと思います。
次の方法が必要です。
1)他の3つのパーティションを見てアクセスする方法が必要です。
2)最終目標は、OSのアップデート時に起動順序をパーティション1からパーティション2に変更するか、アップデートエラー時にパーティション2からパーティション1に復元することです。
lsblk
また、またはparted
またはを使用してパーティションを表示しようとしましたが、blkid
これらのプログラムはオペレーティングシステム(FriendlyWRT)で使用できず、fdisk
他のパーティションを表示しません。
パーティションがマウントされない可能性があることを知っています。しかし、見えないパーティションをマウントするにはどうすればよいですか? ? ?
本当にありがとうございました!