RE: input/output error _at_boot

From: Dexuan Cui <decui_at_microsoft.com>
Date: Thu, 9 Mar 2017 06:00:23 +0000
Hi Roberto, 
Thanks for sending me your memmap and this is a temporary workaround
patch for you:
https://github.com/dcui/freebsd/commit/0edd1db55fbbb56352d6024250e4ae7dd8ad31e3.patch


I put the memmap info here for people who're interested:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211746#c26


We can notice there is a 4MB BootServicesCode range at [12MB, 16MB) .
loader.efi just writes into this range by force -- this is unsafe anyway!

To fix this correctly & thoroughly, IMO we need a relocatable kernel, but
that would require a lot of complicated long term work:
https://reviews.freebsd.org/D9686?id=25414#inline-56969


For now, I suggest we should only apply the idea "reduce the size of the
staging area if necessary" to VM running on Hyper-V, we should restore the
old behavior on physical machines since that has been working for people
for a long period of time, though it's  potentially unsafe.

I think in the loader we can use CPUID to tell if we're running on Hyper-V or not.

Thanks,
-- Dexuan

> -----Original Message-----
> From: owner-freebsd-current_at_freebsd.org [mailto:owner-freebsd-
> current_at_freebsd.org] On Behalf Of Dexuan Cui
> Sent: Thursday, March 9, 2017 10:44
> To: Roberto Rodriguez Jr <rob.rodz.jr9_at_gmail.com>
> Cc: FreeBSD Current <freebsd-current_at_freebsd.org>
> Subject: RE: input/output error @boot
> 
> [This sender failed our fraud detection checks and may not be who they appear
> to be. Learn about spoofing at http://aka.ms/LearnAboutSpoofing]
> 
> Hmm, Alex did report 314891 worked.
> 
> Can you please post the full boot log of the loader?
> Especially, when you see the “OK” prompt, can you please run the “memmap”
> command like this link ...
> 
> You can take a photo of the screen and send it to me, if it’s too big.
> 
> Thanks,
> -- Dexuan
 
Received on Thu Mar 09 2017 - 05:00:26 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:10 UTC