ついにこれを行うことができました、それは行うことができます!
ここで$l>
は、あなたのマシンを で表しますIP 192.168.0.10
。そして$e>
、私の場合はロボットである、tar を使用しない組み込みデバイスで実行されます。dd
ディスク全体をコピーできる昔ながらの方法を使用します。
$l> nc -p 12345 -l | dd obs=4K of=/tmp/file.jffs2
$e> dd ibs=4K if=/dev/mtdblock2 | nc 192.168.0.10 12345
これで終わりですが、この形式のファイルシステムを読み取る方法を誰もが知っているわけではないため、次のようにしてマウントします。
file /tmp/file.jffs2
/tmp/file.jffs2: Linux jffs2 filesystem data little endian
sudo su #careful
mknod /tmp/mtdblock0 b 31 0
modprobe loop
losetup /dev/loop0 /tmp/file.jffs2
modprobe mtdblock
modprobe block2mtd
echo "/dev/loop0,128KiB" > /sys/module/block2mtd/parameters/block2mtd
modprobe jffs2
mkdir /media/robot
mount -t jffs2 /tmp/mtdblock0 /media/robot
Ctrl-D #back as normal user
はい、ループバック デバイスが必要です。
sudo mount -t jffs2 /tmp/file.jffs2 /media/robot
mount: /tmp/file.jffs2 is not a block device (maybe try `-o loop'?)
論理的には、これはファイル (chars) であり、ブロック デバイスではありません。dd
私が知らない唯一のことは、組み込みデバイスのコマンドが含まれるファイルシステムのサブセットのみを選択できる構文があるかどうかです。その強みは生のバイトコピー動作ですが、dd
理解する必要があるため、これはありそうにないと思います。jffs2