Diit.cz - Novinky a informace o hardware, software a internetu

Systémy BSD zlepšují podporu POWER architektury

Je snadné provozovat alternativní systém na standardním železe. Je to snadné i naopak. Ale když je té alternativnosti příliš...

Zatímco z mainstreamových linuxových distribucí v jisté době podpora procesorů POWER/PowerPC mizela, ve světě BSD systémů vše zůstávalo při starém. A teď, když se do Linuxu podpora zase vrací a build od buildu vylepšuje, v BSD je stále vše při starém. Tedy alespoň doposud bylo.

Moderní POWER/PowerPC lze rozdělit na tři větve:

  • 32bitové (ppc, ppc32) - zahrnuje procesory PowerPC 601, 603, 604, 74x/75x, 74xx a odvozené
  • 64bitové big-endian (ppc64, ppc64be) - PowerPC 970, POWER4 a novější
  • 64bitové little endian (ppc64le, ppc64el) - POWER8 a novější (umí ale i big-endian režim)

Prakticky všechny počítače od Apple, založené na PowerPC  s výjimkou poslední generace (G5) spadaly do první větve, ona poslední generace spadala do větve druhé. Vývoj open-source systémů kolem přelomu století tak byl zaměřen zejména sem (a sem-tam i na úplně minoritní PowerPC stroje jako BeBox, Pegasos, atd.). A jak jsem už lehce nastínil, zde většinově zamrzla podpora v BSD:

  • NetBSD v Tier 1 podporuje pouze čtyři 32bitové a nyní už notně historické vývojové kity, v Tier 2 pak i počítače od Apple, moderní následníky Amigy, BeBox, počítače dle standardů PReP a CHRP a jiné, většinou v devadesátých letech vyrobené stroje. Pro fandy retrocomputingu je jistě dobré, že aktuální verzi lze spustit i na PowerPC 601 taktovaném na 75 MHz, pro všechny ostatní je už poněkud horší, že neexistuje žádná 64bitová verze.
  • OpenBSD na tom dlouho bylo velmi podobně jako NetBSD. Sice nepodporovalo úplně staré PowerMacintoshe a lze ho tudíž rozeběhnout až na NewWorld strojích (vše od iMacu G3 výše), ale existovala i verze pro Pegasos a různé SoC systémy (autor tohoto článku spokojeně provozuje OpenBSD na RouterBoardu RB600). S výjimkou PowerPC Maců byl ale vývoj ukončen. I zde existovala pouze 32bitová verze systému, hardware označovaný Applem jako G5 tak neběžel v nativním 64bitovém režimu.
  • FreeBSD mělo vždy podporu nejlepší. Omezili podporu exotiky, zato ale 64bitová big-endian verze existovala už v době, kdy počítače Apple pro ni určené měly ještě dostatek výkonu pro nějaké smysluplné využití. A nebyl také problém zahrnovat do ní podporu nově vznikajícího železa, tedy serverů IBM s procesory POWER5 a novějšími, Playstation 3, POWER8 desky od Tyanu nebo nových strojů od Raptor CS - tedy Talos II a Blackbirdu.

Zásadní potíží toho všeho ale je, že svět je v současné době spíše little-endianový. Proto v POWER8 přibyla plná podpora little-endian režimu i pro vektorové jednotky AltiVec/VSX a většina open-source podpory - a tím myslím zejména linuxový svět - směřuje tam.

 FreeBSD logo 2013

FreeBSD se jako první snaží srovnat krok a počínaje tímto týdnem by měly začít vycházet snapshoty větve -CURRENT i pro ppc64le. Hlavní břemeno vývoje na sobě nese polský developer Piotr Kubaj, který si dal za cíl srovnat funkcionalitu tohoto portu s 64bitovou verzí pro x86 procesory. K dispozici má jednu POWER9 pracovní stanici, kterou zafinancovala FreeBSD foundation a pro tvorbu buildů vzdálený server založený na stejné architektuře, který poskytuje Raptor CS.

Asi více než jen drobnou komplikací je aktuální přechod FreeBSD z GCC na LLVM a s tím související změna ABI a formátu binárek z ELFv1 na ELFv2. GCC a ELFv1 jsou vcelku funkční, v LLVM je ale POWER architektura podporována poměrně krátce, takže tady je ještě hodně práce k udělání. Větev -STABLE tak zůstává na první jmenované kombinaci, na větvi -CURRENT už je LLVM a ELFv2, přičemž pracuje se průběžně na obojím.

Než bude z FreeBSD na POWER9 normálně použitelný systém, bude to ještě hodně odpracovaných člověkohodin. Mezi dalšími milníky totiž lze najít takové „drobnosti“ jako GPU akceleraci (zatím se kreslí jen softwarově), úspěšný build Node.js a Rustu a následně na nich založeného Firefoxu, portaci Chromia či přeložení celého prostředí KDE. Tohle vystačí na hodně dlouhých zimních večerů.

OpenBSD logo 2012 - Puffy

Malý krok ke zlepšení podpory architektury POWER udělalo i OpenBSD. Počínaje příští verzí, tj. 6.8 (tradičně vychází v září či řijnu), vyjde oficiální port nazvaný powerpc64. Ačkoliv jsou oficiálně podporovány pouze desky Talos II a Blackbird, půjde o verzi big-endian. Neoficiálně by mělo být podporováno vše s procesory POWER8 a novějšími, vývojáři ale nemají hardware, na němž by to vyzkoušeli.

Od první zmínky někdy v červenci se toho na webové stránce portu příliš nezměnilo, v repozitářích ale za tu dobu alespoň přibyly první buildy X11, takže systém bude schopný fungovat i v grafickém rozhraní. Snad se do release podaří vše dokončit a ohlášená podpora v 6.8 se nebude posouvat až na jarní 6.9.

Uteče ještě hodně vody, než BSD dožene linuxový náskok, zde je totiž podpora většinou přímo z první ruky (Fedora) či skvěle odladěná (Void) a není nejmenší problém počítače s některou z distribucí používat jako běžný desktop. U některých verzí BSD je to trochu potíž i na běžném PC-kompatibilním železe, natožpak u něčeho trochu exotického. Podporu dalších systémů ovšem platforma potřebuje jako sůl, takže držím palce.

Martin Kukač

Většinu dne trávím tím, že přeměňuju kofein na kód. Když s tím skončím a ještě není čas jít spát, tak zbylý čas nerovnoměrně dělím mezi rodinu, sbírku počítačového harampádí, vysílání na volně přístupných pásmech a geocaching.

více článků, blogů a informací o autorovi

Diskuse ke článku Systémy BSD zlepšují podporu POWER architektury

Neděle, 4 Říjen 2020 - 14:33 | martin33 | V minulosti nebola zo strany zákazníkov...
Neděle, 4 Říjen 2020 - 13:05 | danieel | Narazim prave na to, ze az od P8/P9 je ten Linux...
Neděle, 4 Říjen 2020 - 12:54 | martin33 | Linux sa dal spustiť natívne už na POWER3 pred 20...
Neděle, 4 Říjen 2020 - 11:39 | danieel | Jestli to nebude taky tim, ze IBM do sveho...
Pátek, 2 Říjen 2020 - 13:35 | Ladis | Výkon emulace v té době 1/3 byl dobrý. Dnes ARM...
Pátek, 2 Říjen 2020 - 13:26 | Martin Kukač | VirtualPC na iBooku G4 (který jsem si v roce 2005...
Pátek, 2 Říjen 2020 - 07:53 | frr | Panu autorovi palec nahoru za zajímavé téma, na...
Pátek, 2 Říjen 2020 - 00:26 | Ladis | POWER a z něj odvozený bývalý PowerPC to uměj...
Čtvrtek, 1 Říjen 2020 - 12:01 | Martin Kukač | Ano, dokonce lze virtualizovat big-endian systémy...
Čtvrtek, 1 Říjen 2020 - 10:25 | martin33 | Čo sa túka big/little "endianess", tak...

Zobrazit diskusi