>Number:         165876
>Category:       misc
>Synopsis:       RFE: provide unique ISO9660 metadata for all release CD/DVD 
>ISOs
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Mar 09 12:50:11 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Daniel Berrange
>Release:        8.2 (applies to all previously built release ISOs too)
>Organization:
Red Hat
>Environment:
N/a
>Description:
I work on a project called libosinfo[1] that is aiming to be a core component 
of many virtualization management applications. In essence it is a database of 
metadata about operating systems, to facilitate their automatic installation in 
virtual machines. As well as recording supported hardware drivers, one of the 
goals is to be able to identify what operating system an arbitrary ISO image 
corresponds to, and whether the ISO image is a "live cd" or an "install cd". 
For this purpose we primarily use the ISO9660 metadata stored in the Primary 
Volume Descriptor.

For most operating systems this contains sufficiently unique data about the ISO 
image. eg the 'Volume id' field is sufficient to uniquely distinguish any 
Fedora ISO image [2]

  $ isoinfo -d -i fedora/11/Fedora-11-i386-DVD.iso
  CD-ROM is in ISO 9660 format
  System id: LINUX
  Volume id: Fedora 11 i386 DVD
  Volume set id:
  Publisher id:
  Data preparer id:
  Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 
E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM

  $ isoinfo -d -i fedora/11/Fedora-11-i686-Live.iso
  CD-ROM is in ISO 9660 format
  System id: LINUX
  Volume id: Fedora-11-i686-Live
  Volume set id:
  Publisher id:
  Data preparer id:
  Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 
E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM



  $ osinfo-detect Fedora-11-i386-DVD.iso
  Media is bootable.
  Media is an installer for OS 'Fedora 11'

  $ osinfo-detect Fedora-11-i686-Live.iso
  Media is bootable.
  Media is an installer for OS 'Fedora 11'
  Media is live media for OS 'Fedora 11'


Since our goal is to support basically every OS in existance, I would like to 
make this work for FreeBSD ISO images too. Historically though, FreeBSD release 
ISOs do not have sufficient unique metadata in the ISO9660 headers

  $ isoinfo -d -i freebsd/8.2/FreeBSD-8.2-RELEASE-amd64-disc1.iso
  CD-ROM is in ISO 9660 format
  System id: FreeBSD
  Volume id: FreeBSD_Install
  Volume set id:
  Publisher id: The FreeBSD Project.  http://www.freebsd.org/
  Data preparer id:
  Application id: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD 
CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING

  $ isoinfo -d -i freebsd/8.2/FreeBSD-8.2-RELEASE-i386-bootonly.iso
  CD-ROM is in ISO 9660 format
  System id: FreeBSD
  Volume id: FreeBSD_bootonly
  Volume set id:
  Publisher id: The FreeBSD Project.  http://www.freebsd.org/
  Data preparer id:
  Application id: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD 
CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING

  $ isoinfo -d -i freebsd/8.2/FreeBSD-8.2-RELEASE-amd64-livefs.iso
  CD-ROM is in ISO 9660 format
  System id: FreeBSD
  Volume id: FreeBSD_LiveFS
  Volume set id:
  Publisher id: The FreeBSD Project.  http://www.freebsd.org/
  Data preparer id:
  Application id: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD 
CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING

Most importantly they are missing the version number, and architecture. On the 
plus side we can distinguish live media from install media.

NB, also previously reported to  'r...@freebsd.org' mailing alias

[1] https://fedorahosted.org/libosinfo
[2] The <media> elements are where we record ISO signatures
     
http://git.fedorahosted.org/git/?p=libosinfo.git;a=blob;f=data/oses/fedora.xml;hb=HEAD

>How-To-Repeat:
Run  'isoinfo -d -i ISOFILENAME' on every FreeBSD ISO image. Notice that the 
"Volume id" field is not unique amongst ISO images from different FreeBSD 
releases/arches.
>Fix:
It would be desirable if future FreeBSD releases write a 'Volume id' field 
string in all ISO images that contains:

 - Release version number
 - Machine architecture
 - Image type Live vs Boot vs Install
 - Image media  DVD vs CD

eg Perhaps something like

      FreeBSD_8.0-amd64-BootOnly
      FreeBSD_8.0-amd64-Install-CD
      FreeBSD_8.0-amd64-Install-DVD
      FreeBSD_8.0-amd64-LiveFS

If you ever produce multi-CD ISO sets, it would also be great if the 'Volume 
set size' and 'Volume set sequence number' fields are also set, to allow the 
automatic identification of ISO order. 

This data is specified to mkisofs / genisoimage using the '-V volumeid',  
'-volset-size COUNT' and '-volset-seq NUM' args.


>Release-Note:
>Audit-Trail:
>Unformatted:
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to