coreboot na FITu

Navštívil jsem fakultu hned dvakrát, poprvé se několik dní schovával ukryt ve flash pamětech v hromadě různého hardwaru v prosklené zasedací místnosti 342. Podruhé jsem již směle vykukoval ze slajdů během Informatického večera v hlavní roli: x86 od první instrukce s corebootem.

Letos oslavím už šestnácté narozeniny. Narodil jsem se jednomu inženýrovi v americké národní laboratoři v Los Alamos (LANL), který se staral o velké výpočetní clustery. Ten inženýr nesnášel jednu věc a tou bylo zdánlivě nevinná chyba vypsaná BIOSem během startu počítače:

Keyboard Error! Press F1 to continue.

Problém je, že cluster není jenom jeden počítač, ani deset, ale v tomhle konkrétním případě to bylo hned 1024 počítačů. Zkuste si je oběhnout s klávesnicí všechny, schválně jak dlouho vám to bude trvat. Ty počítače v tom clusteru měly hloupý BIOS a prostě se to nedalo nijak obejít kromě toho doslovného způsobu. A tak jsem se narodil já, náhrada za BIOS.

Tehdá to bylo tak, že jsem byl v podstatě součást Linuxového jádra, která zinicializovala RAM a chipset a pak nastartovalo klasické jádro a zbytek systému ze sítě. Už tehdy jsem bydlel v EEPROM paměti v motherboardu, ale jmenoval jsem se jinak než dnes, snad díky tomu Linuxu mi říkali LinuxBIOS.

Za těch 16 let jsem vyspěl, ale původní cíle se nezměnily. Pořád umím zinicializovat celý počítač a předat řízení operačnímu systému. Dnes umím kromě architektury x86 i jiné jako třeba ARM a nebo risc-v. Dneska mě najdete třeba v chromeboocích od Google, ale zpátky k mojí návštěvě.

Prvně jsem byl na fakultě informatiky v učebně 342, kde jsem se schovával v různých deskách rozložených na pracovních stolech, kde kolem na židlích pracovala a diskutovala dobrá dvacítka vývojářů z různých koutů Evropy i Ameriky. Náhodní kolemjdoucí mě pěkně okukovali, protože tolik různých motherboardů a dost rozebraných laptopů asi v této učebně nikdy neviděli.

Důvodů k setkání bylo několik, vylepšit moje funkce ale hlavně se i osobně poznat s ostatními. Na našem setkání se podílel i CESNET, který občerstvoval mé vývojáře. Dokonce se na nás přišel podívat i profesor Tvrdík, ačkoli nikomu samozřejmě neřekl, že je děkan. Těch pár dní uteklo jako voda. Bylo to vydařené setkání a tak za něj moc díky.

Podruhé jsem vystupoval na fakultě v přednášce Rudolfa Marka, který mě v rámci Informatických večerů představil studentům. Jestli jste přednášku nestihli, tak se podívejte na záznam. Rudolf též známý jako Ruik, mě vyvíjí už řádku let a tak kromě úvodu stihl probrat i různá úskalí systémové inicializace.

Abych nezapomněl, budu se účastnit zase Google Summer of Code (GSOC), kde Google platí přes léto studenty, aby vylepšovali různé open source projekty. Tedy i mě!

Tak třeba zase někdy na viděnou!
Za coreboot – Rudolf Marek