TianoCore + coreboot gerçek bir açık kaynak kodlu UEFI mı?


12

UEFI ile ilgili çok fazla tartışma var, ancak beğen ya da beğenme, genellikle mevcut masaüstü anakartlar söz konusu olduğunda tek seçenek haline geliyor. Bir süredir UEFI mobos'tan kaçınıyorum, ancak şimdi mobo satıcıları UEFI ürünlerini BIOS'lardan daha fazla özellikle (yani daha fazla RAM desteği) gönderdikçe oldukça zorlaştı. Bunu göz önünde bulundurarak, gelecekte açık kaynağa gitmek için en azından bir seçenek olduğundan emin olmak istiyorum ve eğer değilse, daha az özellik ancak daha fazla özgürlükle dayanabilirim.

TianoCore, Intel'in UEFI arabirimlerinin açık kaynak uygulamasıdır ve Wikipedia bunun hakkında şunları söyler :

TianoCore, bunun yerine Coreboot tarafından sağlanan ve TianoCore'un birçok yük seçeneğinden biri olduğu yonga seti işlevlerini başlatan özel sürücülerden yoksundur. Coreboot'un geliştirilmesi, başlatma sürücülerini geliştirmek için gereken özellikleri sağlamak için yonga seti üreticilerinin işbirliğini gerektirir.

Benim sorum şu, coreboot tarafından sağlanan bu sürücüler hala yonga seti satıcılarından bir tür ikili lekeler gerektirir mi? Ayrıca, Ronald G. Minnich'in EFI hakkında şunları söylemesi gerekiyor :

IDE I / O adreslerine veya belirli bellek adreslerine erişim EFI koduna hapsedilebilir ve potansiyel olarak incelenebilir ve değiştirilebilir veya iptal edilebilir. Birçoğu bunu bir "DRM BIOS" oluşturma çabası olarak görüyor.

TianoCore + çekirdek önyükleme kurulumunda, potansiyel olarak donanım satıcısı tarafından sağlanan açık kaynak veya ikili ürün yazılımını yapabilecek parçalar var mı?

Yanıtlar:


4

TianoCore + coreboot gerçek bir açık kaynak kodlu UEFI mı?

Intel platformları için (Intel kartlar için geliştirme yaptım ve durumun hala aynı olduğuna inanmasına rağmen AMD için konuşamıyorum), hayır, çünkü TianoCore tek başına düşük seviye donanım başlatma gerçekleştiremiyor ve bu donanımın önce yapılması için coreboot gerektiriyor. Peki coreboot bunu nasıl yapıyor? coreboot bu işlevleri yerine getirmek için belirli ikili blobları çağırır. Bu ikili bloblar (örneğin, mikro kod güncellemeleri, FSP ikili dosyaları, ME ikili dosyaları vb.) Nasıl oluşturulur? Intel'e ait kod olduğu için bu ikili dosyaları kendiniz oluşturamazsınız. En iyi ihtimalle, platformunuza uygun olanları alabilir ve bunların coreboot oluşturma sürecine dahil edilmesini sağlayabilirsiniz. Bu ikili bloblar için kaynağı özgürce ve açıkça değiştirebilene kadar, bu konu için gerçek bir açık kaynak UEFI veya çekirdek önyüklemeniz olmayacaktır.

Benim sorum şu, coreboot tarafından sağlanan bu sürücüler hala yonga seti satıcılarından bir tür ikili lekeler gerektirir mi?

Evet

Kaynaklar:

Deneyim

coreboot kaynak kodu

http://www.coreboot.org/TianoCore

Intel Ürün Yazılımı Destek Paketi (FSP)
http://www.intel.com/content/www/us/en/intelligent-systems/intel-firmware-support-package/intel-fsp-overview.html

Mikrokod Güncelleme (Genellikle BIOS tarafından uygulanır, ancak zorunlu değildir.)
Https://wiki.debian.org/Microcode


2
Milind R, açık donanımın gerekli bir gereklilik olması açısından da iyi bir noktaya işaret ediyor.
penguin4hire

4

Çekirdek önyükleme (erken donanım başlatma) ve TianoCore'u (UEFI API'sı sağlayarak) eksiksiz bir UEFI ürün yazılımı uygulamasında birleştirmek mümkündür. Ancak bu hala geliştirilmektedir. Dış katman çekirdek önyükleme olacağından "kanonik" bir UEFI olmayacaktır.

Duet tabanlı bir yaklaşım http://notabs.org/coreboot/duet-payload/ adresinde bulunabilir - gerçek donanıma biraz önyükleme yapar.

Tiano'nun daha fazlasını yeniden kullanmaya ve UEFI mimarisine daha yakın olmaya çalışan başka bir (açıklama: projem) girişimi github'da: https://github.com/pgeorgi/edk2/ . Bu henüz gerçek donanım üzerinde çok fazla test görmedi, sadece Qemu.

Prensip olarak, coreboot kodunu almak ve bunlardan tianocore paketleri yapmak da işe yarayabilir, bu yüzden her açıdan UEFI gibi görünür ve hissedilir (sadece kullanıcı ve işletim sistemi tarafından görülebilir olanlar değil). Açıkçası coreboot geliştiricileri bununla pek ilgilenmiyorlar.


3

Yonga setinin başlatılması ve diğer son derece düşük seviyeli donanıma özel kod her zaman çoğunlukla kapalı kaynak olmuştur. BIOS / UEFI, bellek denetleyicisi başlatma vb. Ayrıntılarının kart satıcıları tarafından nadiren açıklandığı gerçeğini değiştirmez.

Gerçek bir açık kaynak kartına sahip olmak için, anakarttaki her donanım bileşeninin tüm özelliklerini açıklayan bazı satıcı olan açık kaynaklı donanımı aramanız gerekir. Az söylemek zor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.