On Thu, May 11, 2017 at 05:48:34PM +0900, YASUOKA Masahiko wrote:
> Hi,
>
> Thank you for your tests,
>
> On Thu, 11 May 2017 07:40:42 +0200
>
...
> > So I can use the stock bootloader without changes but I must do a
> >
> > boot> set device hd2a
>
> I'm not clear whether we still have a problem.
>
> Does the boot loader select the booted disk as "hd0" correctly?
>
> If you booted from 29GB disk, "machine diskinfo" must be:
>
> Disk BlkSiz IoAlign Size Flags Checksum
> hd0 512 1 29GB 0x2 0xad4a42c3
> hd1 512 1 4MB 0x0 0x0
> hd2 512 1 4MB 0x0 0x0
>
There is still a problem because I booted from the 29GB disk, the
bootloader selects hd0, but the machine diskinfo order is:
Disk BlkSiz IoAlign Size Flags Checksum
hd0 512 1 4MB 0x0 0x0
hd1 512 1 4MB 0x0 0x0
hd2 512 1 29GB 0x2 0xad4a42c3
I don't know if it is related but a problem is probably
(efiboot.c, line 87) here:
status = EFI_CALL(BS->HandleProtocol, imgp->DeviceHandle,
&devp_guid, (void **)&dp0);
where status is EFI_SUCCESS but dp0 remains NULL, so the following
for loop loops through invalid device paths until a causal
IsDevicePathEnd() true.
I not sure of what I'm saying because I have not investigated yet,
I have to read some EFI documentation first to understand what's
happening.
Thank you for the help,
Michele
> --yasuoka