TianoCore + corebootは真のオープンソースUEFIですか?


12

UEFIをめぐる多くの論争がありましたが、好むと好まざるとにかかわらず、一般的に入手可能なデスクトップマザーボードに関しては唯一の選択肢になりつつあります。UEFIモボをしばらく避けてきましたが、モボベンダーがUEFI製品をBIOSよりも多くの機能(つまり、より多くのRAMのサポート)で出荷するようになったため、非常に困難になりました。それを念頭に置いて、私は少なくとも将来オープンソースに移行するオプションがあることを確認したいと思います。もしなければ、より少ない機能でより自由に耐えることができます。

TianoCoreはIntelのUEFIインターフェースのオープンソース実装であり、Wikipediaはこれについて述べています:

TianoCoreには、チップセット機能を初期化する専用ドライバーがありません。代わりに、Corebootが提供するTianoCoreは、多くのペイロードオプションの1つです。Corebootの開発には、初期化ドライバーの開発に必要な仕様を提供するチップセットメーカーの協力が必要です。

私の質問は、corebootによって提供されるこれらのドライバーには、チップセットベンダーからのバイナリブロブが必要ですか?また、Ronald G. Minnichは EFIについて次のように述べています。

IDE I / Oアドレスまたは特定のメモリアドレスへのアクセスは、EFIコードにトラップされ、潜在的に検査および変更または中止される可能性があります。多くの人はこれを「DRM BIOS」を構築するための努力と考えています。

TianoCore + corebootのセットアップで、ハードウェアベンダーが提供するオープンソースまたはバイナリファームウェアを実行できる可能性がある部分はありますか?

回答:


4

TianoCore + corebootは真のオープンソースUEFIですか?

Intelプラットフォームの場合(Intelボードの開発を行っており、AMDの話はできませんが、ケースは同じだと思います)、いいえ、TianoCore自体は低レベルのハードウェア初期化を実行できず、このハードウェアの初期化を行うにはcorebootが必要です。しかし、corebootはどのようにこれを行いますか?corebootは、特定のバイナリBLOBを呼び出してこれらの機能を実行します。これらのバイナリBLOB(マイクロコードの更新、FSPバイナリ、MEバイナリなど)はどのように生成されますか?これらのバイナリはIntel独自のコードであるため、自分でビルドすることはできません。せいぜい、プラットフォームに関連するものを取得して、コアブートビルドプロセスに含めることができます。これらのバイナリBLOBのソースを自由かつオープンに変更できるようになるまで、真のオープンソースUEFIまたはコアブートはありません。

私の質問は、corebootによって提供されるこれらのドライバーには、チップセットベンダーからのバイナリブロブが必要ですか?

はい

ソース:

経験

corebootソースコード

http://www.coreboot.org/TianoCore

Intelファームウェアサポートパッケージ(FSP)
http://www.intel.com/content/www/us/en/intelligent-systems/intel-firmware-support-package/intel-fsp-overview.html

マイクロコードの更新(多くの場合BIOSによって適用されますが、必要はありません。)
https://wiki.debian.org/Microcode


2
Milind Rは、オープンなハードウェアが必要な要件であるという点でも優れています。
penguin4hire

4

coreboot(初期のハードウェア初期化を行う)とTianoCore(UEFI APIを提供する)を組み合わせて、完全なUEFIファームウェア実装を実現できます。しかし、それはまだ開発中です。また、外側の層がコアブートになるため、「標準的な」UEFIにはなりません。

Duetに基づく1つのアプローチは、http://notabs.org/coreboot/duet-payload/にあります。実際のハードウェアである程度起動します。

Tianoをさらに再利用してUEFIアーキテクチャに近づけようとする別の(開示:私のプロジェクト)試みは、github:https : //github.com/pgeorgi/edk2/にあります。これは、実際のハードウェアでのテストはまだ多くなく、Qemuだけです。

原則として、corebootコードを取り出して、それらからtianocoreパッケージを作成することもできます。そのため、ユーザーとOSに見えるものだけでなく、あらゆる面でUEFIのように見えます。明らかに、coreboot開発者はそれにあまり関心がありません。


3

チップセットの初期化およびその他の非常に低レベルのハードウェア固有のコードは、常にほとんどがクローズドソースです。BIOS / UEFIは、メモリコントローラーの初期化などの詳細がボードベンダーによってほとんど開示されないという事実を変更しません。

真のオープンソースボードを使用するには、マザーボード上の各ハードウェアコンポーネントのすべての仕様を公開しているベンダーであるオープンソースハードウェアを探す必要があります。控えめに言っても、それを見つけるのは難しいです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.