Articles

Så förvandlar du en Xbox till en Linux-dator för 150 dollar

I detta TechBuilder-recept ska vi utforska vad en Xbox består av och hur du får den att fungera med Linux. Det bästa av allt är att vi gör det utan att öppna lådan!

Men först vill jag att du tänker på att en Xbox inte bara är en spelkonsol. I verkligheten är det en kraftfull dator. Ta en titt på vad som finns inuti den Xbox för 150 dollar:

  • Intel Celeron 733 MHz CPU
  • 300 MHz Nvidia Geforce MX3 Graphics
  • 64 MB RAM
  • 8-GB eller 10-GB hårddisk
  • DVD-enhet
  • 4 USB-portar
  • 10/100 Mbit/s. Ethernet-port

Det är många datorer. Frågan är hur man kommer åt dem. Svaret är naturligtvis Linux.

Naturligtvis bjuder Microsoft inte in till användning av andra operativsystem på sin främsta spelmaskin. Särskilt inte gratis sådana. Men i några enkla steg, och med stöd av ett vänligt Linuxcommunity, kan du ladda och köra Linux för att låsa upp all Xbox-hårdvara.

En grupp känd som The Xbox Linux Project har banat väg för detta. De har vänligen lagt ut en mängd information och erfarenheter på sin webbplats. Vi kommer att använda oss av all denna information. Men innan du börjar är det bra att förstå lite om Xboxens interna delar.

När en Xbox startas upp måste den, precis som alla andra datamaskiner, starta upp något. Xboxen, som du hittar på hyllan i din lokala Wal-Mart, innehåller ett spartanskt operativsystem som är precis tillräckligt smart för att ladda en minimal uppsättning drivrutiner och visa ett enkelt användargränssnitt som kallas Dashboard. Dashboard låter användaren välja spel, spara och kopiera spelinformation till hårddisk eller minnesenheter, kopiera musik från CD-skivor, men inte mycket mer. Användarens enda gränssnitt mot Dashboard är faktiskt systemets fyra spelkontroller, som kallas Xpads. Det finns inget tangentbord, ingen mus och endast ett mycket begränsat operativsystem. Dessutom kan Xbox endast köra DVD:er som den känner igen som Xbox-spel. Den goda nyheten: Det är ganska lätt att övervinna alla dessa hinder.

För att få tillgång till Xbox:s verkliga potential behöver man faktiskt bara lura Xbox att tro att en liten version av Linux faktiskt är ett spel. Xboxen startar denna lilla version av Linux, som i sin tur laddar drivrutinerna. Dessa drivrutiner stöder saker som telnet-sessioner som gör det möjligt att komma in i maskinvaran och bjuder in till möjligheten att installera en fullständig, startbar distribution av Linux. Voila! Datafrihet!

Okej, du kanske tänker: ”Det här förstör min garanti, eller hur?”. Tja, inte helt och hållet. Ja, i Microsofts litteratur står det klart och tydligt att om man öppnar Xbox eller kör annan programvara än spel så upphör den ettåriga garantin att gälla. Men vissa experter säger något annat. Ännu viktigare är att det finns en del prejudikat som visar att åtminstone en del av din garanti håller. Om du verkligen är orolig kan du läsa den här korta artikeln om skillnaderna mellan ”lagstadgad garanti” och ”tillverkarens försäkring”.

Grundläggande steg

Nedan har jag delat upp operationen i steg med vissa tekniska detaljer som kortfattat förklaras tillsammans med länkar till ännu mer detaljerad information som tillhandahålls av Linuxgemenskapen på Internet.

Steg 1: Bygg en kabel för att ansluta USB-minnesenheter till Xbox-konsolen.

Steg 2: Hitta en lämplig USB-minnesenhet.

Steg 3: Skaffa en avbildning som startar upp Linux på USB-minnet.

Steg 4: Använd Xbox-kopieringsverktygen för att kopiera avbildningen till hårddisken.

Steg 5: Kör avbildningen med hjälp av licensierad spelmjukvara.

Steg 6: Skaffa och installera en fullständig Linuxdistribution.

Nu ska vi titta på varje steg mer i detalj.

Steg 1: Bygg en kabel

Xbox-kontroller, som kallas Xpads, är egentligen bara USB-enheter. De kanske inte ser ut som USB-enheter eftersom de inte använder de vanliga USB-kontakterna. Men inuti den skärmade kabeln som ansluter spelkontrollen till konsolen finns de välbekanta fyra trådarna som används i vanliga USB-kablar,plus en mystisk gul tråd som ryktas vara för ett framtida tillägg av en ljusstift. Detta är goda nyheter: USB-minnen, tangentbord och möss kommer att anslutas här med bara en modifierad kabel. Jag byggde en kabel med hjälp av en kvinnlig kontakt som jag hackade från en billig USB-förlängningskabel och en fransig controllerkabel som jag behövde ersätta. Så här ser min modifierade kabel ut:

photo

För att bygga den modifierade kabeln matchade jag de färgade trådarna i kablarna, rött till rött, svart till svart osv. Jag lät den gula vara bortkopplad, men isolerad från de andra. Tabellen nedan ger lite mer information:

Standard USB Pin-out

  • Röd: VCC (5Volt, max. 100mA/500mA)
  • Svart: Gnd
  • Vit: D0 negativ
  • Grön: D0 positiv (kan vara blå)
  • Sköld (fläta): Drain-wire (vanligtvis ansluten till höljet)

För mer information om hur du ansluter USB-enheter till en Xbox kan du läsa den här artikeln om Xbox Linux Project. Om du inte vill göra en egen modifierad kabel kan du också köpa en färdig kabel från Lik-Sang.

Steg 2: Hitta en USB-minnesenhet

Minneskort som ansluts till Xbox-kontrollerna är helt enkelt USB-minnesenheter – som bärbara datadiskar, USB-”sticks” eller ”jump drives” – men med en proprietär kontakt. Tricket är att hitta ett som Xbox fungerar med och som du kan få en bild på. Tyvärr fungerar vissa och andra inte. Här är två enheter som fungerar med Xbox och som är allmänt tillgängliga:

* Kingston DataTraveler 32 och 256 MB.

* Lexar JumpDrive Secure 128 och 256 MB (måste vara ”Secure” — andra modeller kanske inte fungerar).

Se även listan över Xbox/USB-enhetskompatibilitet här.

Viktigt: Se till att säkerhetskopiera ditt USB-minne. När Xbox känner av USB-enheten kommer den att formateras om.

Nästan, sätt in din modifierade USB-kabel i konsolen. Sätt in USB-minnet i den andra änden. Slå på din Xbox. USB-enheten kommer att upptäckas och formateras om. Det kan ta en minut och du kan behöva försöka mer än en gång. När USB-enheten är formaterad visas den under Minnesenheter i Xbox Dashboard. Till skillnad från de andra minnesenheterna kan den här enheten läsas och skrivas av datorn. Du kan förresten använda USB-enheten precis som Xbox-minneskort och till och med spara dina spel på den. Det bästa av allt är att du inte längre är begränsad till 8 MB på de vanliga Xbox-minnesenheterna som ansluts till Xpad-kontrollerna. Det finns kort från tredje part, men de är alla små jämfört med det rejäla minneskortet på 128 MB eller 256 MB.

Steg 3: Skaffa en startbar avbildning

Avbildningen som du vill ladda ner och kopiera till din nyligen formaterade minnesenhet är ett ”Savegame” som kan laddas av ett par spel. Den kommer att hjälpa dig att starta upp ett rudimentärt Linux-operativsystem. Det jag använde är det Xbox-licensierade spelet MechAssault. En MechAssault-avbildning finns tillgänglig från SourceForge.net. Ladda ner den avbild som motsvarar storleken på din minnesenhet: 128 MB, till exempel.

Notera: Det format som används av Xbox minnesenheter är FatX. FatX kan vara lätt att hantera om du redan har en Linuxbox eller en Mac med OS X. Men det är inte Windows PC-vänligt. Med andra ord, när du kopplar in minneskortet i en Windows-pc kommer du att se enheten, men inte innehållet. Du måste använda ett sharewareprogram som heter Stick Explorer och som finns på OzXChip.com för att flasha FatX-avbildningen till USB-stickan. Det fungerar ganska bra. Eller hitta en vän som kör Mac OS X.

För mer information om hur man använder Stick Explorer och om mjukvaruförberedelser för Xbox, kolla in denna Xbox Linux Project-sida.

Steg 4: Kopiera avbildningen till Xboxen

Detta steg är en självklarhet för alla er gamers. Använd Xbox Dashboard för att visa innehållet i USB-minnet. Den bör nu innehålla tre poster: Emergency Linux, Remove Linux och Install Linux. (Förresten, den stiliga pingvinen i ikonerna är Tux, Linux maskot.) Använd de vanliga Xbox-metoderna för att kopiera alla tre savegames på USB-minnet till hårddisken. Du kommer nu att se, och ännu viktigare, kunna åberopa dessa Savegames i vårt nästa steg.

Steg 5: Kör avbildningen för att starta Linux

För att köra avbildningen behöver du DVD:n med spelet MechAssault. Savegames är associerade med specifika spel. Det är denna association som lurar Xboxen att köra avbildningen. Du behöver spelet endast för att starta Linux. Jag hyrde ett exemplar från min lokala videobutik.

Men även om jag valde MechAssault för vår installation har jag hört talas om andra modifieringar som använder EA:s 007 Agent Under Fire DVD. Det är viktigt att notera att spelet du använder måste matcha Savegame-bilderna som du har laddat ner eftersom det är spelet som ”lurar” Xbox att köra dem.

Okej, vi gör det!

Insätt spelet MechAssult. Välj Campaigns och Emergency Linux (ett av de Savegames vi kopierade i föregående steg). Du kommer att se att Xbox startar om. Den här gången ser du inte den vanliga Dashboard-grafiken, utan istället ser du en svart skärm med vita bokstäver som rullar genom uppstarten av Xbox Linux.

photo

Om du har kommit så här långt, grattis! En liten version av Linux körs och du kan nu telneta in på Xbox på dess standardadress:

Logga in som ”root” med lösenordet ”xbox”. Skriv sedan följande kommando:

xbox_tool-a

Skriv ner denna hårddisknyckel. Hårddisknyckeln krypteras i EEPROM-minnet i Xbox och kan användas om du någonsin behöver återställa eller göra ytterligare ändringar. Nu vet du det.

Sätt in spelet MechAssault igen. Välj Campaigns och välj den här gången Install Linux. När detta är klart har Xbox-disken konfigurerats och objektet Linux kommer att visas i Dashboard. Vårt trick med Savegame kommer inte längre att behövas.

photo

Om du behöver ytterligare hjälp med ovanstående steg kan du följa de detaljerade anvisningarna på den här Xbox Linux Project-sidan.

Nu räcker det med att välja Linux på Dashboard för att starta upp den minsta versionen av Linux. En komplett Linux-distribution med alla funktioner kan laddas i nästa steg. Emergeny Linux är i huvudsak ett tillfälligt sätt att komma igång, Install Linux ställer verkligen in disken och Debianinstallationen (vårt nästa steg) laddar det riktiga operativsystemet Linux.

Steg 6: Installera en komplett Linuxdistribution

Som du säkert vet finns det många Linuxvarianter, bland annat RedHat, Mandrake, FreeBSD, SuSE och Gentoo. Men det bästa och förmodligen enda valet för pålitlig drift på Xbox är för närvarande Eds Debian. Det är baserat på det populära x86-Debian och skräddarsytt speciellt för Xbox. Här finns en bra allmän sida med information om Ed’s Debian Linux.

Nyare versioner av Ed’s Debian levereras med en startbar cd, som används för att installera grundsystemet på hårddisken. CD-skivan startar upp i en ren, grafisk Xwindows-skrivbordsmiljö. Det finns till och med ett virtuellt tangentbord på skärmen som du kan använda med Xbox-kontrollen, men ett riktigt USB-tangentbord fungerar också. Ett annat alternativ är att logga in via SSH (192.168.0.2/255.255.255.255.0) och slutföra installationen på det sättet. Standardinloggningen och -lösenordet är ”root” respektive ”xbox”.

Alltså, här finns två handledningar om hur man skaffar och installerar Eds distribution: How To Debian och Install Debian.

När Debian laddas måste du använda det virtuella tangentbordet för att starta installationsprocessen. Efter installationen känner operativsystemet igen USB-enheter.

Installationen av Debian är okomplicerad. Sätt in installationsskivan i Xbox-enheten och starta upp från den. Efter en kort stund visas ett virtuellt tangentbord på skärmen. När det gör det skriver du ”su” för att logga in som superanvändare. Systemet kommer att be dig om ett lösenord; skriv ”xbox”. Skriv nu ”XBOXLinuxInstall” och kom ihåg att versaler spelar roll. Följ sedan instruktionerna på skärmen för att slutföra installationen.

Då du nu har en standard USB-anslutning på XBox kan du ansluta vilket USB-tangentbord, mus, webbkamera, skrivare eller skanner som helst som stöds av Debian. Du kan överväga ett USB-tangentbord med en inbyggd USB- eller PS2-muskontakt för bekvämlighetens skull. Eller så kan du använda en enkel USB-till-PS2-splitterkabel som kostar cirka 10 dollar.

Det är allt som behövs, men det är också bara början. Sätt nu den där Xbox-spelkonsolen i arbete som en komplett stationär dator med mus och tangentbord eller en webb/mailbox som är ansluten till TV:n eller till och med en server eller router. Åh, och ha kul att spela några spel på den då och då också.

ANDY MCDONOUGH är en professionell musiker, kompositör, röstskådespelare, ingenjör och utbildare som gärna frilansar i New Jersey. Han spelar ibland på Xbox, men har aldrig slagit sin 10-årige son.

Har du provat det här receptet från TechBuilder? Om så är fallet, hur fungerade det? Starta eller delta i en diskussionstråd i receptforumet.