On Mon, Apr 14, 2008 at 01:20:49PM -0400, Pavel Roskin wrote: > On Mon, 2008-04-14 at 10:21 -0400, Chris Knadle wrote: > > > Instead of probing for partmaps in a particular order, it seems that > > solving for this might best be done by probing for all of the possible > > partmaps for the architecture and trying to figure out which one best fits. > > grub2's grub-probe is clearly already doing this; _however_, somehow the PC > > partmap probe is subtly different depending on whether partmap/apple.c is > > included in the search. > > Apple and PC partition maps can coexist. The place occupied by the PC > partition and the PC magic is not used by the Apple partition. > > The way to differentiate them would be to check at the first sector. If > it starts with 0x45 0x52, then it's an Apple partition. A PC partition > would have an executable entry there. The Apple magic would decode to: > > inc %bp > push %dx > > It's highly unlikely to be used in the first two instructions of the PC > boot code. > > partmap/apple.c starts reading with the second sector (unsigned pos = > GRUB_DISK_SECTOR_SIZE). Perhaps it should read the first sector to > check the magic.
Are you sure checking for the code part would be a good idea? One could be using i8088 bootstrap code in an Apple first sector, or vice-versa. Btw, how does Linux handle this? Maybe this issue has been beaten to death already. -- Robert Millan <GPLv2> I know my rights; I want my phone call! <DRM> What use is a phone call… if you are unable to speak? (as seen on /.) _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel