Subject: bug#24650: bug: parted and gparted cannot recognize the file structure of typical linux hybrid iso files

From: Nio Wiklund <[email-masked]>
Date: Sat, 8 Oct 2016 21:09:52 +0200

Hi,

I am developing user friendly tools to create USB boot drives from the 
isofiles of linux distros. When treated with isohybrid, these files can 
be cloned and create USB boot drives.

The partition structure is very special to allow booting from CD/DVD 
disks as well as from mass storage devices like USB pendrives and flash 
cards. gparted version 0.25.0 is not happy with it and dumps the 
following text (to a terminal window)

======================
libparted : 3.2
======================
Invalid partition table - recursive partition on /dev/sdd.
Invalid partition table - recursive partition on /dev/sdd.

and causes the corresponding complaint and lack of output for the file 
system in gparted's GUI. This creates problems for many end users, who 
think that their pendrives are damaged after cloning. Some people even 
discard their USB pendrive instead of restoring it to a standard storage 
device after installing their new linux OS.

But this information is wrong, the drives work as they should. Other 
tools, for example blkid and lsblk can recognize the iso9660 file system 
and create no complaints (warnings or error messages).

See the following bug report for more details,

https://bugzilla.gnome.org/show_bug.cgi?id=771244

-o-

I failed to connect via the bug reporting link

https://parted.alioth.debian.org/cgi-bin/trac.cgi/newticket
---
'Oops...

Trac detected an internal error: No module named _md5

Traceback (most recent call last):
   File "/var/lib/gforge/chroot/home/groups/parted/cgi-bin/trac.cgi", 
line 19, in <module>
     from trac.web import cgi_frontend
   File 
"/srv/alioth.debian.org/chroot/home/groups/parted/srv/lib/python2.5/site-packages/trac/web/__init__.py", 
line 1, in <module>
     from trac.web.api import *
   File 
"/srv/alioth.debian.org/chroot/home/groups/parted/srv/lib/python2.5/site-packages/trac/web/api.py", 
line 27, in <module>
     from trac.util import get_last_traceback
   File 
"/srv/alioth.debian.org/chroot/home/groups/parted/srv/lib/python2.5/site-packages/trac/util/__init__.py", 
line 21, in <module>
     import md5
   File 
"/var/lib/gforge/chroot/home/groups/parted/srv/lib/python2.5/md5.py", 
line 6, in <module>
     from hashlib import md5
   File 
"/var/lib/gforge/chroot/home/groups/parted/srv/lib/python2.5/hashlib.py", 
line 104, in <module>
     md5 = __get_builtin_constructor('md5')
   File 
"/var/lib/gforge/chroot/home/groups/parted/srv/lib/python2.5/hashlib.py", 
line 31, in __get_builtin_constructor
     import _md5
ImportError: No module named _md5'
---
So I write to this list and hope that you can help me to create a formal 
bug report.

We want libparted to be able to recognize the typical partition 
structures in mass storage devices made by cloning hybrid linux iso 
files, and let the tools parted and gparted identify and report the file 
system (usually iso9660, sometimes udf) correctly.

Best regards
Nio Wiklund