Does diffoscope compares disk partitions

Venkata.Pyla at toshiba-tsip.com Venkata.Pyla at toshiba-tsip.com
Mon Feb 27 14:47:28 UTC 2023


Hi,

I am using diffscope to compare two images that are created using yocto wks files that means the image has partitions, and it doesn't produce any output and exited after some time.

Below is the debug output of the diffoscope
===========
$ diffoscope --debug image1.wic image2.wic
2023-02-27 14:09:09 D: diffoscope.main: Starting diffoscope 236
2023-02-27 14:09:09 D: diffoscope.presenters.formats: Will generate the following presenter formats: text
2023-02-27 14:09:09 D: diffoscope.environ: Normalising locale, timezone, etc. PATH is /srv/diffoscope/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/x86_64-linux-gnu
2023-02-27 14:09:09 D: diffoscope.main: Starting comparison
2023-02-27 14:09:09 D: diffoscope.comparators.decompile: radare2 not found, disabling decompiler
2023-02-27 14:09:11 D: diffoscope.comparators: Loaded 90 comparator classes
2023-02-27 14:09:12 D: diffoscope.comparators.utils.specialize: image1.wic not identified by any comparator. Magic says: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS (0x3ff,255,63), startsector 1, 12546899 sectors, extended partition table (last)
2023-02-27 14:09:12 D: diffoscope.comparators.utils.specialize: image2.wic not identified by any comparator. Magic says: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS (0x3ff,255,63), startsector 1, 12546899 sectors, extended partition table (last)
2023-02-27 14:09:12 D: diffoscope.comparators.utils.compare: Comparing image1.wic (FilesystemFile) and image2.wic (FilesystemFile)
2023-02-27 14:09:12 D: diffoscope.comparators.utils.specialize: image1.wic not identified by any comparator. Magic says: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS (0x3ff,255,63), startsector 1, 12546899 sectors, extended partition table (last)
2023-02-27 14:09:12 D: diffoscope.comparators.utils.specialize: image2.wic not identified by any comparator. Magic says: DOS/MBR boot sector; partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS (0x3ff,255,63), startsector 1, 12546899 sectors, extended partition table (last)
2023-02-27 14:09:12 D: diffoscope.comparators.utils.file: has_same_content(image1.wic, image2.wic)
2023-02-27 14:09:12 D: diffoscope.comparators.utils.command: Executing xxd {}
Killed

$ sudo fdisk -l image1.wic
Disk image1.wic: 5.98 GiB, 6424012800 bytes, 12546900 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: gpt
Disk identifier: 3512F8A3-7B2D-401D-ACCC-97ED5CE6A496

Device        Start      End Sectors  Size Type
image1.wic1    2048    35007   32960 16.1M EFI System
image1.wic2   36864   102431   65568   32M Microsoft basic data
image1.wic3  104448   170015   65568   32M Microsoft basic data
image1.wic4  172032  2269183 2097152    1G Microsoft basic data
image1.wic5 2269184  4366335 2097152    1G Microsoft basic data
image1.wic6 4366336  7092631 2726296  1.3G Linux filesystem
image1.wic7 7094272 12546865 5452594  2.6G Linux filesystem
===========

But when I use whole disk partition the diffoscope is generating differences
=====
$ diffoscope --debug image1.disk image2.disk
2023-02-27 14:34:04 D: diffoscope.main: Starting diffoscope 236
2023-02-27 14:34:04 D: diffoscope.presenters.formats: Will generate the following presenter formats: text
2023-02-27 14:34:04 D: diffoscope.environ: Normalising locale, timezone, etc. PATH is /srv/diffoscope/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/x86_64-linux-gnu
2023-02-27 14:34:04 D: diffoscope.main: Starting comparison
2023-02-27 14:34:04 D: diffoscope.comparators.decompile: radare2 not found, disabling decompiler
2023-02-27 14:34:04 D: diffoscope.comparators: Loaded 90 comparator classes
2023-02-27 14:34:04 D: diffoscope.comparators.utils.specialize: Using fsimage.FsImageFile for image1.disk
2023-02-27 14:34:04 D: diffoscope.comparators.utils.specialize: Using fsimage.FsImageFile for image2.disk
2023-02-27 14:34:04 D: diffoscope.comparators.utils.compare: Comparing image1.disk (FsImageFile) and image2.disk (FsImageFile)
2023-02-27 14:34:04 D: diffoscope.comparators.utils.file: has_same_content(image1.disk, image2.disk)
2023-02-27 14:34:04 D: diffoscope.comparators.utils.file: Instantiating a fsimage.FsImageContainer for image1.disk
2023-02-27 14:34:04 D: diffoscope.comparators.fsimage: Launching guestfs; this may take some time
2023-02-27 14:34:18 D: diffoscope.comparators.fsimage: guestfs successfully launched
2023-02-27 14:34:19 D: diffoscope.comparators.utils.file: Instantiating a fsimage.FsImageContainer for image2.disk
2023-02-27 14:34:20 D: diffoscope.comparators.fsimage: Launching guestfs; this may take some time
2023-02-27 14:34:35 D: diffoscope.comparators.fsimage: guestfs successfully launched
2023-02-27 14:34:35 D: diffoscope.tempfiles: Created top-level temporary directory: /tmp/diffoscope_p1tf2km1_ (free space: 1.57 TiB)
2023-02-27 14:34:35 D: diffoscope.diff: Running diff -a -U7 /tmp/diffoscope_p1tf2km1_/tmp3b_0_94z/fifo1 /tmp/diffoscope_p1tf2km1_/tmp3b_0_94z/fifo2
2023-02-27 14:34:35 D: diffoscope.diff: diff -a -U7 /tmp/diffoscope_p1tf2km1_/tmp3b_0_94z/fifo1 /tmp/diffoscope_p1tf2km1_/tmp3b_0_94z/fifo2: returncode 1, parsed True
2023-02-27 14:34:35 D: diffoscope.comparators.utils.archive: Unpacking image1.disk.tar from image1.disk to /tmp/diffoscope_p1tf2km1_/tmpff9_32xi_FsImageContainer
2023-02-27 14:34:35 D: diffoscope.comparators.fsimage: filesystem image extracting to /tmp/diffoscope_p1tf2km1_/tmpff9_32xi_FsImageContainer/image1.disk.tar
2023-02-27 14:34:35 D: diffoscope.comparators.utils.archive: Unpacking image2.disk.tar from image2.disk to /tmp/diffoscope_p1tf2km1_/tmpwjgv6nix_FsImageContainer
2023-02-27 14:34:35 D: diffoscope.comparators.fsimage: filesystem image extracting to /tmp/diffoscope_p1tf2km1_/tmpwjgv6nix_FsImageContainer/image2.disk.tar
2023-02-27 14:34:35 D: diffoscope.comparators.utils.compare: Comparing image1.disk.tar (ArchiveMember) and image2.disk.tar (ArchiveMember)
2023-02-27 14:34:35 D: diffoscope.comparators.utils.specialize: Using tar.TarFile for image1.disk.tar
2023-02-27 14:34:35 D: diffoscope.comparators.utils.specialize: Using tar.TarFile for image2.disk.tar
2023-02-27 14:34:35 D: diffoscope.comparators.utils.file: has_same_content(/tmp/diffoscope_p1tf2km1_/tmpff9_32xi_FsImageContainer/image1.disk.tar, /tmp/diffoscope_p1tf2km1_/tmpwjgv6nix_FsImageContainer/image2.disk.tar)
2023-02-27 14:34:35 D: diffoscope.diff: Running diff -a -U7 /tmp/diffoscope_p1tf2km1_/tmpetjnke4m/fifo1 /tmp/diffoscope_p1tf2km1_/tmpetjnke4m/fifo2
2023-02-27 14:34:35 D: diffoscope.diff: diff -a -U7 /tmp/diffoscope_p1tf2km1_/tmpetjnke4m/fifo1 /tmp/diffoscope_p1tf2km1_/tmpetjnke4m/fifo2: returncode 1, parsed True
2023-02-27 14:34:35 D: diffoscope.comparators.utils.file: Instantiating a tar.TarContainer for image1.disk.tar
2023-02-27 14:34:35 D: diffoscope.comparators.utils.file: Instantiating a tar.TarContainer for image2.disk.tar
2023-02-27 14:34:35 D: diffoscope.comparators.utils.archive: Unpacking ./test_File from image1.disk.tar to /tmp/diffoscope_p1tf2km1_/tmpqp2a3gt2_TarContainer
2023-02-27 14:34:35 D: diffoscope.comparators.utils.libarchive: Extracting /tmp/diffoscope_p1tf2km1_/tmpff9_32xi_FsImageContainer/image1.disk.tar to /tmp/diffoscope_p1tf2km1_/tmp7isfy__l_TarContainer
2023-02-27 14:34:35 D: diffoscope.comparators.utils.libarchive: Extracting ./test_File to /tmp/diffoscope_p1tf2km1_/tmp7isfy__l_TarContainer/0/1
2023-02-27 14:34:35 D: diffoscope.comparators.utils.libarchive: Extracted 1 entries from /tmp/diffoscope_p1tf2km1_/tmpff9_32xi_FsImageContainer/image1.disk.tar to /tmp/diffoscope_p1tf2km1_/tmp7isfy__l_TarContainer
2023-02-27 14:34:35 D: diffoscope.comparators.utils.archive: Unpacking ./test_File from image2.disk.tar to /tmp/diffoscope_p1tf2km1_/tmpojhb9w9x_TarContainer
2023-02-27 14:34:35 D: diffoscope.comparators.utils.libarchive: Extracting /tmp/diffoscope_p1tf2km1_/tmpwjgv6nix_FsImageContainer/image2.disk.tar to /tmp/diffoscope_p1tf2km1_/tmp6_5yw01j_TarContainer
2023-02-27 14:34:35 D: diffoscope.comparators.utils.libarchive: Extracting ./test_File to /tmp/diffoscope_p1tf2km1_/tmp6_5yw01j_TarContainer/0/1
2023-02-27 14:34:35 D: diffoscope.comparators.utils.libarchive: Extracted 1 entries from /tmp/diffoscope_p1tf2km1_/tmpwjgv6nix_FsImageContainer/image2.disk.tar to /tmp/diffoscope_p1tf2km1_/tmp6_5yw01j_TarContainer
2023-02-27 14:34:35 D: diffoscope.comparators.utils.compare: Comparing ./test_File (LibarchiveMember) and ./test_File (LibarchiveMember)
2023-02-27 14:34:35 D: diffoscope.comparators.utils.specialize: Using text.TextFile for ./test_File
2023-02-27 14:34:35 D: diffoscope.comparators.utils.specialize: Using text.TextFile for ./test_File
2023-02-27 14:34:35 D: diffoscope.comparators.utils.file: has_same_content(/tmp/diffoscope_p1tf2km1_/tmp7isfy__l_TarContainer/0/1, /tmp/diffoscope_p1tf2km1_/tmp6_5yw01j_TarContainer/0/1)
2023-02-27 14:34:35 D: diffoscope.diff: Running diff -a -U7 /tmp/diffoscope_p1tf2km1_/tmpv_ljh1jt/fifo1 /tmp/diffoscope_p1tf2km1_/tmpv_ljh1jt/fifo2
2023-02-27 14:34:35 D: diffoscope.diff: diff -a -U7 /tmp/diffoscope_p1tf2km1_/tmpv_ljh1jt/fifo1 /tmp/diffoscope_p1tf2km1_/tmpv_ljh1jt/fifo2: returncode 1, parsed True
2023-02-27 14:34:35 D: diffoscope.comparators.directory: Excluding directory metadata for paths (./test_File, ./test_File)
2023-02-27 14:34:35 D: diffoscope.comparators.directory: Excluding directory metadata for paths (image1.disk.tar, image2.disk.tar)
2023-02-27 14:34:35 D: diffoscope.presenters.formats: Generating 'text' output at '-'
--- image1.disk
+++ image2.disk
├── filetype from file(1)
│ @@ -1 +1 @@
│ -Linux rev 1.0 ext4 filesystem data, UUID=b8e07622-e64c-4ecd-bc70-e8f6e8a9a086 (extents) (64bit) (large files) (huge files)
│ +Linux rev 1.0 ext4 filesystem data, UUID=8116aaa5-de66-4bef-8a45-76e6cce95191 (extents) (64bit) (large files) (huge files)
│   --- image1.disk.tar
├── +++ image2.disk.tar
│ ├── file list
│ │ @@ -1,3 +1,3 @@
│ │ -drwxr-xr-x   0        0        0        0 2023-02-26 07:39:37.000000 ./
│ │ --rw-r--r--   0        0        0        6 2023-02-26 07:39:37.000000 ./test_File
│ │ -drwx------   0        0        0        0 2023-02-26 07:37:40.000000 ./lost+found/
│ │ +drwxr-xr-x   0        0        0        0 2023-02-26 07:44:01.000000 ./
│ │ +-rw-r--r--   0        0        0       12 2023-02-26 07:44:01.000000 ./test_File
│ │ +drwx------   0        0        0        0 2023-02-26 07:41:37.000000 ./lost+found/
│ ├── ./test_File
│ │ @@ -1 +1 @@
│ │ -test1
│ │ +test file 2


$ sudo fdisk -l image1.disk
Disk image1.disk: 10 MiB, 10485760 bytes, 20480 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
=====

Does it support disk partitions or do I missing something?


Thanks,
Venkata.



More information about the rb-general mailing list