On Thu, May 14, 2020 at 02:26:53PM -0400, El Fontanero via talk wrote: > Firstly, there's a good chance that if the space is unused, it can be made > compressible. If it were zeroed, it would have compressed very well. Since > the unit is linux-based, you have a very good chance of being able to > loop-mount it. If, furthermore, you're lucky enough to be dealing with an > old-style partition table on the card: > > * Start by seeing if you get a partition table: 'fdisk -l > RG350.SD.2020-05-14.img' > * Loop mount, e.g. 'mount -o loop,offset=$((512 * xxxx)) > RG350.SD.2020-05-14.img tmp/' where xxx is the number of, e.g., > 512-byte sectors > * explicitly zero empty space: 'dd if=/dev/zero of=tmp/zero.dat bs=1M' > * rm tmp/zero.dat; umount tmp/ > * recompress > > If the partitioning isn't obvious, I would still look for a filesystem > superblock in there somewhere, and then loopmount etc. as above.
If you enable partition support on your loop driver you don't need to deal with the offset calculations and such. It is unfortunately not enabled by default for legacy reasons I believe. modprobe -r loop modprobe loop max_part=16 Then losetup /dev/loop0 imagefile and you should have /dev/loop0p1 /dev/loop0p2 etc. If the filesystem is ext based, zerofree is a nice tool to zero unused space that seems to run faster than using dd and rm with a zero filled file. -- Len Sorensen --- Post to this mailing list [email protected] Unsubscribe from this mailing list https://gtalug.org/mailman/listinfo/talk
