Hlavní navigace

OpenBSD běží na PDA značky Palm

Redakce

Ve středu se mi povedlo na Palm LifeDrive a Palm Tungsten|T5 [1] nabootovat OpenBSD. Aktuální stav je takový, že funguje framebuffer [2] a to je asi vše. Bylo potřeba upravit bootloader Cocoboot [3] aby uměl relokovat a zavádět ELF binárky (OpenBSD jádro nemá, na rozdíl od linuxového, dekompresor [4]). Link na stránky projektu zastřešujícího portování svobodných operačních systémů na zařízení Palm je hackndev.com: původní zpráva a ELF loader v Cocobootu.
PS: distorze framebufferu a jeho rotace už jsou opraveny.

Vysvětlívky:
1] Kapesní počítače zn. Palm
2] Kapesní počítače nemají grafickou kartu, poskrovnu jich má grafický akcelerační chip (není případ palmů), čili hodně zjednodušeně se kreslí „přímo do videopaměti“
3] Bootloader, který vykopne PalmOS (původní, výrobcem dodávaný OS pochybné kvality) z paměti a pak něco dělá (buď skočí na linuxové jádro nebo provede výše zmíněnou relokaci a skočí na entrypoint [pokračuj na 4ku])
4] Bootování linuxu funguje zjednodušeně nějak takhle: zImage má na začátku sebe sama dekompresor ⇒ bootloader natáhne zImage někam do paměti a skočí na jeho začátek, tady práce zavaděče končí ⇒ dekompresor udělá svou práci, rozhází linuxové jádro po paměti kam potřebuje a skočí na vstupní bod.
Bootování jádra OpenBSD je jiné. Bootloader natáhne jádro do paměti, přečte si, kam je potřeba umístit jednotlivé jeho části (to je napsané na začátku – ELF program header, viz. originální články, gabi41.pdf) a rozhází je tedy na správná místa. Jakmile je toto hotovo, skočí se na vstupní bod. Práce zavaděče tedy končí až tady

Tato zprávička byla zaslána čtenářem serveru Root.cz pomocí formuláře Přidat zprávičku. Děkujeme!

Našli jste v článku chybu?