NFC経由でeMMCのディスクイメージを母艦(ゲストOS)にバックアップすることを試みる。(クライアント側で実行)
すごく時間がかかる。
debian@beaglebone:~$ ls -la /dev/ | grep mmcblk brw-rw---T 1 root floppy 179, 0 Jan 1 2000 mmcblk0 brw-rw---T 1 root floppy 179, 1 Jan 1 2000 mmcblk0p1 brw-rw---T 1 root floppy 179, 2 Jan 1 2000 mmcblk0p2 brw-rw---T 1 root floppy 179, 5 Jan 1 2000 mmcblk0p5 brw-rw---T 1 root floppy 179, 6 Jan 1 2000 mmcblk0p6 brw-rw---T 1 root floppy 179, 8 Jan 1 2000 mmcblk1 brw-rw---T 1 root floppy 179, 16 Jan 1 2000 mmcblk1boot0 brw-rw---T 1 root floppy 179, 24 Jan 1 2000 mmcblk1boot1 brw-rw---T 1 root floppy 179, 9 Jan 1 2000 mmcblk1p1 brw-rw---T 1 root floppy 179, 10 Jan 1 2000 mmcblk1p2 lrwxrwxrwx 1 root root 9 Jan 1 2000 root -> mmcblk0p5 debian@beaglebone:~$ dd if=/dev/mmcblk1 of=/mnt/hostnfs/bbb_emmc.img
これで一応当初の目標の一つであった、eMMCのディスクイメージのバックアップが完了した。
最悪eMMCの内容を(論理的に)破壊してしまってもこのバックアップの内容にまでは戻せる。
実際に実行はしていないが、バックアップの内容を戻すには以下とする。(未確認)
debian@beaglebone:~$ sudo dd if=/mnt/hostnfs/bbb_emmc.img of=/dev/mmcblk1
eMMCの内容を破壊する場合とは、大抵激しい人為ミスであるわけであるからバックアップは転ばぬ先の杖。
それ以外の効用として、bbb_emmc.imgを母艦(ゲストOS)でloop-back deviceとしてファイルシステムの マウントが行える事が大きい。
BBBを立ち上げなくても、母艦(ゲストOS)でBBBの設定を見る事ができる。
サーバー側でバックアップしたemmcのディスクイメージファイルをマウントしてみる。(サーバー側で実行)
temp-host@temp-host:~$ cd ~/nfsroot/ temp-host@temp-host:~$ fdisk -l bbb_emmc.img ディスク bbb_emmc.img: 3867 MB, 3867148288 バイト ヘッド 4, セクタ 16, シリンダ 118016, 合計 7553024 セクタ Units = セクタ数 of 1 * 512 = 512 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト ディスク識別子: 0x00000000 デバイス ブート 始点 終点 ブロック Id システム bbb_emmc.img1 * 2048 198655 98304 e W95 FAT16 (LBA) bbb_emmc.img2 198656 7553023 3677184 83 Linux temp-host@temp-host:~$ sudo mkdir /mnt/loop1 temp-host@temp-host:~$ sudo mkdir /mnt/lppp2 temp-host@temp-host:~$ sudo mount bbb_emmc.img /mnt/loop1/ -o loop,offset=$((512*2048)) temp-host@temp-host:~$ sudo mount bbb_emmc.img /mnt/loop2/ -o loop,offset=$((512*198656)) temp-host@temp-host:~$ ls -la /mnt/loop1/ 合計 9836 drwxr-xr-x 8 root root 16384 1月 1 1970 . drwxr-xr-x 3 root root 4096 6月 22 01:57 .. drwxr-xr-x 2 root root 2048 4月 23 16:22 App drwxr-xr-x 4 root root 4096 4月 23 16:22 Docs drwxr-xr-x 5 root root 2048 4月 23 16:22 Drivers -rwxr-xr-x 1 root root 51 4月 23 16:22 ID.txt -rwxr-xr-x 1 root root 41174 4月 23 16:22 LICENSE.txt -rwxr-xr-x 1 root root 81264 4月 23 20:21 MLO -rwxr-xr-x 1 root root 16822 4月 23 16:22 README.htm -rwxr-xr-x 1 root root 292 4月 23 16:22 README.md -rwxr-xr-x 1 root root 313 4月 23 16:22 SOC.sh -rwxr-xr-x 1 root root 16822 4月 23 16:22 START.htm -rwxr-xr-x 1 root root 223 4月 23 16:22 autorun.inf drwxr-xr-x 2 root root 2048 4月 23 20:21 debug drwxr-xr-x 2 root root 2048 4月 23 16:22 dtbs -rwxr-xr-x 1 root root 2870015 4月 23 20:21 initrd.img drwxr-xr-x 2 root root 2048 4月 23 16:22 scripts -rwxr-xr-x 1 root root 401800 4月 23 20:21 u-boot.img -rwxr-xr-x 1 root root 1430 4月 23 20:24 uEnv.txt -rwxr-xr-x 1 root root 2870079 4月 23 20:21 uInitrd -rwxr-xr-x 1 root root 3717760 4月 23 16:22 zImage temp-host@temp-host:~$ sudo umount /mnt/loop1
LinuxではLoop-back deviceとしてディスクイメージを自在にマウントでき、過去のディスクイメージの バックアップ/スナップショットを参照できる事は非常に有用である。