IntelのNUC(DN2820FY)のファームを更新したらFreeBSD-CURRENTが起動しなくなった

imagejpg

IntelのNUC(DN2820FY)のファームをFY0041.BIOからFY0048.BIOにしたところ起動しなくなりました(UEFI経由)。

写真のように

elf64_exec: ExitBootServices() returned 0x8000000000000002

とか表示されて起動がとまってしまいます。少しづつファームを戻していったところFY0045.BIOでは起動することまでは確認しました。UEFI経由で起動しなければいいだけどいう話もありますが、その場合はパーティションがMBRでないと起動しないので、それもどうかと思いますし・・

調べて見るとこの問題はFreeBSDのUEFI wikiに Knwon Issues としてかかれていて

0x8000000000000002 is EFI_INVALID_PARAMETER and indicates that MapKey is incorrect - i.e., that the memory map has changed between the last call to GetMemoryMap and ExitBootServices. The main issue with real hardware fixed in r258754. This issue is still encountered on some hardware.

とります。ファームのバージョンアップで some hardwareに属してしまったぽいです。

このr258754の修正を見てみると printfの位置をずらしているだけで(printfがあるせいでメモリマップが変わってしまうというもののようで、しかも今現在CURRENTには取り込まれていないようなので、この修正を手動であててみれば起動するやもしれません。

Posted by issei

カテゴリ: BSD

Listing Comments

>その場合はパーティションがMBRでないと起動しない GPTでも起動するよ 何か思い違いしてない?
通りがかった人

少なくともこのNUCでこのBIOSでは普通にUSBからGPTでFreeBSDをHDDにセットアップするとブート可能デバイスとしてBIOSが認識しません。逆にうまくブートさせる方法があるのなら知りたい。
issei