TianoCore + coreboot có phải là một UEFI mã nguồn mở thực sự không?


12

Đã có rất nhiều tranh cãi xung quanh UEFI, nhưng dù muốn hay không, nó trở thành lựa chọn duy nhất khi nói đến bo mạch chủ máy tính để bàn nói chung. Tôi đã tránh các mobos UEFI một thời gian, nhưng bây giờ điều đó trở nên khá khó khăn khi các nhà cung cấp mobo vận chuyển các sản phẩm UEFI có nhiều tính năng hơn các BIOS (tức là hỗ trợ nhiều RAM hơn). Điều đó trong tâm trí, tôi muốn chắc chắn rằng ít nhất có một tùy chọn để đi đến nguồn mở trong tương lai và nếu không có, tôi có thể chịu được ít tính năng hơn nhưng tự do hơn.

TianoCore là triển khai các giao diện UEFI mã nguồn mở của Intel và Wikipedia có điều này để nói về nó :

TianoCore thiếu các trình điều khiển chuyên dụng khởi tạo các chức năng chipset, được cung cấp bởi Coreboot, trong đó TianoCore là một trong nhiều tùy chọn tải trọng. Sự phát triển của Coreboot đòi hỏi sự hợp tác từ các nhà sản xuất chipset để cung cấp các thông số kỹ thuật cần thiết để phát triển trình điều khiển khởi tạo.

Câu hỏi của tôi là, những trình điều khiển được cung cấp bởi coreboot vẫn yêu cầu một số loại đốm nhị phân từ các nhà cung cấp chipset? Ngoài ra, Ronald G.roeich có điều này để nói về EFI:

Truy cập vào địa chỉ I / O IDE hoặc địa chỉ bộ nhớ nhất định, có thể bị mắc kẹt vào mã EFI và có khả năng được kiểm tra và sửa đổi hoặc hủy bỏ. Nhiều người coi đây là một nỗ lực để xây dựng "BIOS DRM".

Trong thiết lập TianoCore + coreboot, các bộ phận có khả năng có thể thực hiện phần mềm nguồn mở hoặc nhị phân được cung cấp bởi nhà cung cấp phần cứng không?

Câu trả lời:


4

TianoCore + coreboot có phải là một UEFI mã nguồn mở thực sự không?

Đối với các nền tảng Intel (Tôi đã thực hiện phát triển cho bo mạch Intel và tôi không thể nói cho AMD mặc dù tôi tin rằng vỏ máy vẫn như vậy), bởi vì TianoCore tự nó không thể thực hiện khởi tạo phần cứng ở mức độ thấp và yêu cầu coreboot phải thực hiện khởi tạo phần cứng này trước. Nhưng làm thế nào để coreboot làm điều này? coreboot gọi các đốm nhị phân cụ thể để thực hiện các chức năng này. Các đốm màu nhị phân này (ví dụ: cập nhật vi mã, nhị phân FSP, nhị phân ME, v.v.) được tạo như thế nào? Chà, bạn không thể tự xây dựng các tệp nhị phân này vì chúng là mã độc quyền của Intel. Tốt nhất, bạn có thể truy xuất những cái thích hợp với nền tảng của bạn và đưa chúng vào quy trình xây dựng coreboot. Cho đến khi bạn có thể tự do và công khai sửa đổi nguồn cho các đốm nhị phân này, bạn sẽ không có UEFI hoặc coreboot mã nguồn mở thực sự cho vấn đề đó.

Câu hỏi của tôi là, những trình điều khiển được cung cấp bởi coreboot vẫn yêu cầu một số loại đốm nhị phân từ các nhà cung cấp chipset?

Đúng

Nguồn:

Kinh nghiệm

mã nguồn coreboot

http://www.coreboot.org/TianoCore

Gói hỗ trợ phần mềm Intel (FSP)
http://www.intel.com/content/www/us/en/intellect-systems/intel-firmware-support-package/intel-fsp-overview.html

Cập nhật vi mã (Thường được áp dụng bởi BIOS nhưng không phải.)
Https://wiki.debian.org/Microcode


2
Milind R làm cho một điểm tốt cũng như trong đó phần cứng mở là một yêu cầu cần thiết.
chim cánh cụt4hire

4

Có thể kết hợp coreboot (thực hiện khởi tạo phần cứng sớm) và TianoCore (cung cấp API UEFI) để triển khai phần mềm UEFI hoàn chỉnh. Tuy nhiên, điều đó vẫn đang được phát triển. Nó cũng sẽ không phải là một UEFI "chuẩn" vì lớp ngoài sẽ là coreboot.

Một cách tiếp cận, dựa trên Duet, có thể được tìm thấy tại http://notabs.org/coreboot/duet-payload/ - nó khởi động phần nào trên phần cứng thực.

Một nỗ lực khác (tiết lộ: dự án của tôi) cố gắng tái sử dụng nhiều hơn Tiano và gần gũi hơn với kiến ​​trúc UEFI là trên github: https://github.com/pgeorgi/edk2/ . Điều này chưa thấy nhiều thử nghiệm trên phần cứng thực sự, chỉ Qemu.

Về nguyên tắc, nó cũng có thể hoạt động để lấy mã coreboot và tạo ra các gói tianocore từ chúng, do đó, nó trông giống như UEFI ở mọi khía cạnh (không chỉ những người dùng có thể nhìn thấy và HĐH). Rõ ràng các nhà phát triển coreboot không quan tâm đến điều đó.


3

Khởi tạo chipset và mã cụ thể phần cứng mức cực thấp khác luôn luôn là nguồn đóng. BIOS / UEFI không thay đổi thực tế rằng các chi tiết về khởi tạo bộ điều khiển bộ nhớ, vv hiếm khi được tiết lộ bởi các nhà cung cấp bảng.

Để có một bảng nguồn mở thực sự, bạn sẽ phải tìm kiếm phần cứng nguồn mở, một số nhà cung cấp đã tiết lộ tất cả các thông số kỹ thuật của từng thành phần phần cứng trên bo mạch chủ. Điều đó thật khó tìm, để nói rằng ít nhất.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.