[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] Add HybridISO support for PyGrub2
At 10:17 +0100 on 25 Oct (1319537858), Ian Campbell wrote: > On Tue, 2011-10-25 at 09:56 +0100, Philipp Hahn wrote: > > grub-mkrescue internally uses xorriso, which generates a > > so-called "hybrid ISO": The ISO images also contains a DOS partition table, > > which allows the identical ISO file to be stored on an USB stick for booting > > from it. This breaks PyGrub, since it (wrongly) detects the DOS partition > > table and uses the first partition instead of the complete ISO file. > > Is the problem here that, having detected a DOS partition, pygrub is > then unwilling to accept that the partition contains an ISO9660 file > system? The problem is that since the disk has a valid MBR partition table, pygrub tries all the partitions in that but _doesn't_ try the whole device (as it would if it couldn't find an MBR). > Or is it that the DOS partition table covers something other > than the ISO9660 data? Where does the kernel we want to boot actually > live? > > Is there some reference to the layout of an hybridiso? i.e. what is the > significance on 0x8006? What are the chances of false positives? Looking for "\001CD001" at offset 0x8000 is a pretty good way to identify an ISO9660 image (e.g. I think that's how magic(5) does it). This patch doesn't _quite_ do that, and in any case this is the wrong place to do it. The right fix to have get_partition_offsets() detect ISO9660 images and add '[0]' to whatever else it comes up with. Cheers, Tim. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |