Can I trust the backup I created in this way?
Yes, you can. This is the most complete backup that you can make of your device.
The integrity of the backup can be tested easily, you can simply run
/dev/block/mmcblk0 and check the output against the
md5sum of the
If you want to list the partitions inside the backup, you can run
parted /path/to/store/the/backup/mmcblk0.raw print on the host computer. On it you will find your
userdata partitions and lots of hidden partitions with the phone bootloader, the IMEI, the recovery...
There was a delay of a few seconds between launching the
dd command on the device and the
nc on the host computer. Doesn't this mean that I've lost some of the output of
No, you don't need to worry. When you run
nc -l, it will listen for an inbound connection. I the meantime, it will block the pipe and keep
dd from sending data. This means that the first byte will be sent by
dd once you stablish the connection from the other side.
Shouldn't these be run concurrently or, at least, shouldn't the
nc command be started before the
No. As I explained on the last paragraph, you don't need to care about that.
dd will start to send the data once the
nc instance running on the device receives the inbound connection form the
nc instance running on the host and reads data from the pipe.
You can find a build of TWRP for your device here (mirror). This will allow you to make backups directly from the device. Warning: I don't assure you that this recovery will work on your device.
You don't need to run
adb forward tcp:5555 tcp:5555 twice. Running it the first time is enough. You're doing exactly the same thing again.