Co to jest coreboot?

Jak opisano na stronie Wikipedii:

coreboot, dawniej znany jako LinuxBIOS, jest projektem oprogramowania mającym na celu zastąpienie własnościowego firmware (BIOS lub UEFI) znajdującego się w większości komputerów lekkim firmware zaprojektowanym do wykonywania tylko minimalnej liczby zadań niezbędnych do załadowania i uruchomienia nowoczesnego 32-bitowego lub 64-bitowego systemu operacyjnego.

Zasadniczo jest to inicjatywa mająca na celu „otwarcie” i uproszczenie poziomu firmware’u nowoczesnych komputerów. Wierzę, że tak dużo jak to możliwe jest wolnym oprogramowaniem; jednakże, binarne plamy są wymagane do działania na niektórych urządzeniach sprzętowych. Libreboot jest wersją Coreboot, która jest całkowicie pozbawiona blobów i dlatego jest w 100% wolnym oprogramowaniem. Jednakże, z tego powodu, Libreboot będzie działał tylko na bardziej restrykcyjnym podzbiorze sprzętu.

Dlaczego ktoś chciałby używać Coreboot? Mogę myśleć o kilku powodach:

Jeśli są zainteresowani zaangażowaniem się w rozwój firmware PC, wtedy mogą chcieć zmienić swój firmware na Coreboot, ponieważ jest to Open Source. W ten sposób (podobnie jak w przypadku GNU/Linux w ogóle), mogą oni grzebać w kodzie i próbować dowiedzieć się jak to działa. Więc, to może być dobre z edukacyjnego punktu widzenia.

Jeśli ktoś troszczy się o wolne oprogramowanie, może woleć używać Coreboot lub Libreboot z tego powodu. Jeśli masz binarne plamy w swoim firmware, nie wiesz co one zawierają – teoretycznie mogą zawierać kod, który może zagrozić twojej prywatności/bezpieczeństwu. Fundacja Wolnego Oprogramowania popiera tylko systemy, które działają z Libreboot firmware.

Inną rzeczą, o której mogę pomyśleć jest to, że jeśli ktoś rozwija nowe urządzenie, wtedy portowanie Coreboot do niego może być postrzegane jako prostsze niż pisanie własnego firmware od zera, lub konieczność płacenia za firmware własnościowy. Coreboot jest bardzo szczupły, szybki i wydajny, ponieważ zawiera tylko minimum kodu potrzebnego do uruchomienia systemu. Warto zauważyć, że Coreboot sam w sobie nie dostarcza żadnych usług BIOS-u czy UEFI – po prostu inicjalizuje sprzęt, a następnie przekazuje kontrolę do czegoś innego. Tak więc, jeśli system operacyjny wymaga którejkolwiek z tych usług, będą one musiały być dostarczane przez payload (wspomniany poniżej).

Czy wpływa to na możliwość instalowania innych systemów operacyjnych?

Po pierwsze, główny system operacyjny zazwyczaj nie jest instalowany na płycie (chyba że mówimy o systemie wbudowanym). Zazwyczaj jest on instalowany na zewnętrznym urządzeniu pamięci masowej (np. na dysku twardym). Tak więc, tak długo, jak Coreboot może skonfigurować wystarczająco podstawowe środowisko, aby móc uzyskać dostęp do urządzenia pamięci masowej i wywołać główny system operacyjny, nie sądzę, że istnieje jakikolwiek powód w teorii, dlaczego nie powinien być w stanie uruchomić dowolnego systemu operacyjnego. Istnieje kilka payloadów dostępnych dla niego, które pomagają to ułatwić. Ładunek jest w zasadzie bootloaderem, który jest wbudowany w firmware, w przeciwieństwie do przechowywania na zewnętrznej pamięci masowej. Na przykład, GRUB może być wbudowany w Coreboot jako payload, który z pewnością jest w stanie uruchomić Linuksa i Windowsa. Nie jestem pewien, czy istnieje opcja payload, która może uruchomić MacOS, ale nie byłbym zaskoczony, gdyby tak było.

Leave a Reply