To będzie rok Linuksa! Na… PlayStation 4
Chaos Communication Congress to doroczna konferencja organizowana już od 1984 roku przez Chaos Computer Club. CCC (Chaos Computer Club) to największa europejska organizacja hackerów - w tym prawdziwym, pozytywnym tego słowa znaczeniu.
Ponieważ siedziba CCC znajduje się w Niemczech, Chaos Communication Congress odbywa się zawsze w niemieckim mieście - dotychczas był to na zmianę Berlin oraz Hamburg.
W programie konferencji znajdziemy zazwyczaj wiele prezentacji poświęconych bezpieczeństwu komputerów, urządzeń mobilnych, a ostatnio coraz częściej również Internetu Rzeczy (Internet Of Things).
W czasie ostatniej z konferencji (która odbyła się w grudniu 2015 roku), hackerzy z grupy Fail0verflow zaprezentowali możliwość uruchamiania Linuksa (oraz aplikacji) na zmodyfikowanej konsoli PlayStation 4.
Uruchamianie Linuksa na PlayStation ma już pewne tradycje. Już dla PlayStation 2 istniał oficjalny, wyprodukowany przez Sony, zestaw "Linux for PlayStation 2". Składał się on z dysku instalacyjnego Linuxa, klawiatury i myszki na USB, adaptera umożliwiającego podłączenie do konsoli monitora komputerowego, oraz dysku twardego o pojemności 40 GB. Ten dysk właśnie spowodował, że nowsze modele PlayStation 2 nie wspierały zestawu Linux for PlayStation 2 - brakowało im już łącza do twardego dysku.
Zestaw umożliwiał używanie PlayStation 2 tak, jak zwykłego komputera. Miał on ograniczone możliwości bo PlayStation 2 miała zaledwie 32 MB pamięci RAM ale i tak dawało się na nim uruchomić sporo linuksowych programów. Instalowany system oparty był zaś na japońskiej wersji dystrybucji Red Hat.
Przygotowując konsolę PlayStation 3, firma Sony zamierzała kontynuować tradycję Linuksa na konsolach. Tym razem jednak nie było oficjalnego zestawu od Sony - użytkownik mógł zainstalować wybraną dystrybucję systemu Linux sam.
Rozwiązanie to nosiło nazwę "OtherOS". Niestety, firma usunęła tę możliwość w nowszych wersjach konsoli PlayStation 3, a w starszych zablokowała obowiązkową aktualizacją firmware.
W przypadku PlayStation 4, Sony nawet nie próbowało umożliwiać użytkownikom uruchamiania alternatywnych systemów operacyjnych, prawdopodobnie bojąc się możliwego rozwoju piractwa oraz kłopotów prawnych. Jednak hackerzy, próbujący złamać zabezpieczenia konsoli, nie ustawali w wysiłkach.
W prezentacji przeprowadzonej w czasie grudniowej konferencji CCC, hackerzy z grupy zaprezentowali krótko uruchomienie Linuksa na konsoli, oraz programu emulującego Gameboy Advance, dzięki czemu widzowie mogli zobaczyć Pokemony uruchomione na PlayStation 4. Prezentacji towarzyszyło kilka slajdów, które właściwie niewiele wyjaśniały, jednak kilka dni później Fail0verflow zamieściła na swojej stronie krótki wpis zdradzający trochę więcej informacji.
Wyjaśnili między innymi, że dzięki temu, że system operacyjny PS4 jest oparty na FreeBSD, a przeglądarka na WebKicie, udało się znaleźć lukę, pozwalającą na uruchomienie własnego kodu. I to była, według hackerów, ta łatwiejsza część. Trudniejsze było zmodyfikowanie jądra Linuksa i bootloadera aby uruchomił się na nietypowym hardware PS4. Stwierdzili również, że uruchomienie Linuksa na PlayStation 4 ma więcej sensu niż na poprzednich wersjach konsoli, ze względu na jej podobieństwo w architekturze do PC. Do zrobienia pozostało jednak wiele - nie udało się między innymi uruchomić akceleracji grafiki 3D. Grafika 2D działała - dzięki temu można było zaprezentować grę w emulatorze Gameboya.
Zmiany w jądrze Linuksa jakich musieli dokonać hackerzy sięgają 7000 linii. W sumie nie jest to tak dużo, biorąc pod uwagę że wynikiem jest uruchomienie dużego systemu operacyjnego na zupełnie nowym sprzęcie. Hackerom udało się uzyskać z poziomu Linuksa kontrolę nad wieloma komponentami systemu, takimi jak karta sieciowa (Ethernet oraz Wi-Fi) oraz Bluetooth.
Z ciekawostek odnalezionych w kodzie, znaleziono kilka nazw kodowych: Liverpool (nazwa kodowa dla APU - accelerated processing unit) oraz Aeolia - nazwa kodowa tzw. mostka południowego procesora. Stąd nazwa prezentacji: Penguins on Aeolia - jak wiadomo, pingwin jest symbolem Linuksa. Według informacji udostępnionych przez Fail0verflow, nie planują oni wykorzystywać swojego odkrycia do piracenia gier, ale do umożliwienia tworzenia własnych aplikacji na konsolę Sony.
Grafika główna: charnsitr / Shutterstock.com