On Tue, Sep 16, 2008 at 12:51:18AM +0100, Steve McIntyre wrote: > >I'm working on a mechanism for booting CDs that doesn't depend on > >firmware-specific parameters like ElTorito does, as to allow it to be > >used on platforms like coreboot/GRUB (which don't implement any kind of > >firmware callbacks). > > > >We found a way to make GRUB able to find the CD in which it was installed > >by using the iso9660 timestamp as an UUID. The only gotcha is that with > >genisoimage there's a chicken & egg problem: the timestamp needs to be > >embedded in GRUB binary, but it isn't known untill the ISO image is > >generated, > >and then it's too late. > > This sounds a little grotty, to be honest. Is there no better way?
Not really. The alternative (ad-hoc knowledge of devices and buses) doesn't scale well, and is not completely reliable. Using timestamps/UUIDs is not bad actually. They're very reliable (more than ElTorito IMO), and searching for a disc is reasonably cheap. > >If the suggested interface sounds fine, let me know and I'll provide a patch. > > Hmmm. Which particular timestamp are you talking about using? There > are 4 available in the iso9660 header: > > char creation_date [ISODCL(814, 830)]; > char modification_date [ISODCL(831, 847)]; > char expiration_date [ISODCL(848, 864)]; > char effective_date [ISODCL(865, 881)]; Looking at the spec, I guess `modification_date' is what we'll want to use. > The easiest way to do this would be just to add extra command line > options to allow you to override the defaults for (most of) those, > which is just to use formatted output from localtime(). Then you > wouldn't need the above --generate-timestamp step at all. Sounds fine. I'll send a patch for that, then. Does "--creation-date=YYYY-MM-DD-HH-mm-ss-hh" syntax sound fine to you? -- Robert Millan The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and how) you may access your data; but nobody's threatening your freedom: we still allow you to remove your data and not access it at all." -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]