TVohjelmat.com - Parempi kuin Telkku, Telsu ja Iltapulu?
Search
Close this search box.

Linuxin asentaminen AppleTV-laitteeseen

Lojuuko nurkissasi ylimääräinen AppleTV-laite? Etkö keksi sille mitään käyttöä? Tämän TVohjelmat.comin oppaan avulla voit asentaa vanhaan laitteeseesi Linuxin ja saada sille täysin uuden elämän.

Huomioithan että tämä opas vaatii kopion AppleTV:n boot.efi -tiedostosta (sijaitsee AppleTV:n levyllä osoitteessa /usr/standalone/i386/boot.efi), joka on saatavilla Applen sivuilta.

Miten Linuxin asentaminen AppleTV:hen onnistuu?

Kyseessä ei ole helppo tehtävä, sillä kuten yleisesti tiedetään, niin “EFI” käynnistystiedostot AppleTV:ssä ovat suojattuja. AppleTV kieltäytyy käynnistämästä mitään vapaita EFI-käynnistystiedostoja. Täytyy siis löytää jokin toimiva keino saada koodi pyörimään laitteessa. Yksinkertainen idea on rakentaa mach-o binääri ja antaa sen jälkeen boot.efi:n hoitaa homma loppuun.

Lataaja sijaitsee mach-o binäärissä, sekä myös itse Linux-ytimessä.

Käynnistysmenetelmä toimii siis seuraavasti:

  • AppleTV lataa boot.efi:n
  • boot.efi saa ladattua lataajan muistiin
  • Lataaja saa Linux-ytimen käynnistymään

Status tässä vaiheessa

Lataaja:

  • Toimii

Ydin:

  • EFI ei toimi täysin
  • USB toimii “irqpoll” komennolla ytimessä
  • NV Xorg ajuri toimii
  • Nvidian oma ajuri toimii
  • Speedstep toimii
  • Wlan toimii ndiswrapper -toiminnolla
  • Äänet toimivat hyvin (jos haluat mahdollistaa optisen digitaalisen ulostulon, saatat tarvita appletv.audio.patch -tiedoston pakottaaksesi oikean laitetunnistuksen)

Järjestelmän lähdöt

lspci > dmesg > /proc/cpuinfo

Lähdekoodi ja ytimen korjaustiedosto

SVN match_linux_boot

Linuxin asentamisessa AppleTV:hen suurimpana ongelmana on ollut se että ntpd kaataa ytimen. Kaikki eivät toki käytä ntpd:tä, mutta CentOS/TrixBox lataa sen oletuksena, joten oli hankalaa löytää syy sille miksi ydin kaatuu jatkuvasti. Helppo lyhytaikainen ratkaisu on tietysti ottaa ntpd pois käytöstä, mutta se ei luonnollisestikaan korjaa taustalla olevaa ytimen ongelmaa, missä ongelmana näyttäisi olevan se että ydin yrittää päästä aikapohjaiseen tietoon kiinni EFI:n kautta.

MacMinille on olemassa korjaustiedosto kyseiseen ongelmaan, mutta ainakaan tavalliseen AppleTV Linux-korjaustiedostoon sitä ei voi soveltaa. Tavoitteena on siis luoda uusi ydin joka sisältää kaikki MacMini sekä AppleTV -korjaustiedostojen toiminnot, ja katsoa sen jälkeen korjaantuuko ongelma. Ehkäpä olisi aika koodata yhdistetty MacIntel/MacMini/AppleTV -korjaustiedosto, koska muussa tapauksessa ongelman pariin joudutaan palaamaan uudelleen ja uudelleen.

Linux-ydin 2.6.21 plus CentOS 4.4/Trixbox toimii AppleTV:ssä! Ja kaiken lisäksi sen tai 2.6.20:n versiossa ei tarvittu irqpoll -ytimen vaihtoehtoa.

Kääntäjän latausohjelma Linuxissa

  • Ubuntu feistyllä:
  • alien on asennettava
  • Vaihda mach_linux_boot:iin ja aja skripti get_cross.sh
  • Siirrä darwin-cross /opt/ -sijaintiin
  • Käynnistä make.sh
  • Crosscompiler on tältä sivulta: http://ranger.befunk.com/fink/darwin-cross/
  • Oikeat Debian-paketit tulisivat tarpeeseen

Jos sinulla on CentOS-pohjainen jakelu, voit lisätä oikean arkiston yum-kokoonpanoosi ja tehdä tämän käyttämällä yum-asennusta. Hieman helpompaa, ja mukana tulee automaattiset päivitykset, jos/kun tarvitaan.