[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: grub-probe fails to find PC partition due to Apple disklabel
From: |
Robert Millan |
Subject: |
Re: grub-probe fails to find PC partition due to Apple disklabel |
Date: |
Tue, 15 Apr 2008 15:15:47 +0200 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
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 /.)