misc/165876: RFE: provide unique ISO9660 metadata for all release
CD/DVD ISOs
Daniel Berrange
berrange at redhat.com
Fri Mar 9 12:50:12 UTC 2012
>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 're at 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:
More information about the freebsd-bugs
mailing list