Få Linux på din Xbox
Forfatter: ChrisB HardwareTest, OverClocking eller jeg selv tager ikke ansvar for evt. skader der kunne ske med dit hardware. Din Xbox vil være ubrugelig til at spille på efter denne guide, men kan dog genetableres hvis man har taget en back-up. Guiden er ikke for begynderen, men jeg har prøvet at lave den så nem så muligt. Her er så en guide til hvordan du laver din Xbox om til en NAS, og den kan ikke bruges til at spille på mere. Jeg vil ikke forklare hvordan du modder din Xbox da det ikke er ens for alle boot-chip, og det med at skifte en harddisk tror jeg nok de fleste har prøvet. Men vil gerne give råd om hvad jeg selv bruger i min egen løsning.
Min egen Xbox Server er en Xbox Crystal v.1.6b med en SmartXX boot-chip i, grunden til at jeg har valgt en SmartXX er at den kan indeholde flere forskellige BIOSer, og kan flashes via din alm. PC via netværket.
Jeg har brugt 2 forskellige BIOSer til at prøve med og de virker fint begge 2, det er Cromwell som er en all-around Linux BIOS, og den anden er Gentoox egen BIOS, som jeg nok vil anbefale.
Den alm. harddisk der er i Xboxen er en 8GB eller en 10GB og det er jo ikke nok til en god NAS, så i med en større, jeg har smidt en Maxtor 40GB disk i, for det var hvad jeg lige havde liggende.
Der findes rigtig mange forskellige Linux distributioner til Xboxen, men jeg har valgt Shallax's Gentoox som er baseret på Gentoo, det er ikke den nemmeste Linux at danse med, men den virker fedt. Og det er også den eneste jeg har, kunne få til at installerer "native" på hele disken.
Hvad skal man så bruge? Xbox der er moddet med en boot-chip og gerne en større harddisk.
En PCer med en FTP-client der understøtter SSH - FileZilla eller WinSCP3
WinRAR eller ISO buster
Gentoox Pro 2.0 ISO filen som kan hentes på http://gentoox.shallax.com
Xebian 1.1.4 Live CD som kan hentes på http://www.xbox-linux.org/wiki/Download
Putty SSH Client som kan hentes på http://www.putty.nl/download.html
Og en del tid.
Lige et par ord inden vi går i gang..
Grunden til at du skal bruge 2 Linux versioner er at Gentoox Pro 2.0 er en ren installer til en lille 4GB partition, og lavet til at man kan have både sin Xbox til at fungerer som den plejer, og til at have en Linux kørende ved siden af.
Xebian er en Live CD du kan boote op på, og den har så også en SSH server med root adgang som vi skal bruge til denne installation.
Lige en hurtig linux kommando forklaring:
Alt skal skrives som det står med store og små bogstaver.
Når der står # foran noget er det en kommando i promten.
Guiden her er lavet med den alm. 10GB disk der sidder i, jeg ville jo ikke ødelægge den jeg har oppe at køre.
Men så er det nu.
Installation
Du skal boote på din Xbox op med Xebian 1.1.4 Live CD da den har en root adgang via en SSH client, Xebian har IP adressen 192.168.0.10, så hvis din PCer ikke er i samme IP område, skal du lige tilføje den IP mere på din PC ved at gøre sådan her:
Højre klik dit nætværks icon og vælg egenskaber
Højre klik dit lokale netværk og vælg egenskaber igen
Dobbelt klik dit TCP/IP protokol
Klik Avangceret
Tilføj IP og Undernetmaske i det øverste vindue IP:192.168.0.42 og Undernetmaske: 255.255.255.0
Klik OK til du er ude fra dine netværks indstillinger.
Og nu har din PCer 2 IP adresser.
Så skal du logge på din Xbox fra din PCer med Putty på IP: 192.168.0.10
User: root og Password: xebian
Forberedning af disken.
Partitioner harddisken, swap disk som den første på en 256MB til 1024MB og resten til data.
# fdisk /dev/hda
Slet først alle partitioner, hvis der er nogen.
Kommando: p (print partitioner)
Kommando: d (for at slette)
Partition number (1-4): 1 (fortsæt med dette ind til alle partitioner er væk)
Lav swap partition
Kommando: n (ny partition)
e extended
p primary partition (1-4)
Kommando: p
Partition number (1-4): 1
First cylinder (1-xxxx, default 1): (Bare tryk enter her)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-xxxx, default xxxx): +256M (bare imellem 256M og 1024M)
Når du er færdig skal du bestemme partitions typen på dit swap drev.
Kommando: t (for at vælge partition)
Kommando: 82 (for at vælge Linux Swap)
Lav data partition
Kommando: n
e extended
p primary partition (1-4)
Kommando: p
Kommando: 2 (for partition nummer 2)
First cylinder (xxxx-xxxx, default xxxx): (Bare tryk enter her)
Using default value xxxx
Last cylinder or +size or +sizeM or +sizeK (xxxx-xxxx, default xxxx): (Bare tryk enter her igen for at bruge resten af disken)
Så skal den blive "bootleble"
Kommando: a (for at sætte en aktiv partition)
Kommando: 2 (for at vælge den store partition)
Kommando: p
Så skulle du meget gerne se en * ved nummer 2 partition
Så skal vi gemme
Kommando: w (for at gemme og afslutte)
Formatering af partitioner
# mke2fs -j /dev/hda2 (formatering af data disk)
# mkswap /dev/hda1 (formatering af swap disk)
# swapon /dev/hda1 (aktivering af swapdisk)
Så skal vi have mountet partitionerne
# mkdir /mnt/hda2 && mount /dev/hda2 /mnt/hda2 (lav dir og mount drev som dir)
Og nu skal vi have kopieret rootfs filen ud fra Distro.rar filen til /mnt/hda2 mappen.
Hertil bruge jeg WinSCP3 eller et andet FTP program der understøtter SSH
(Den kan godt være langsom on at connecte, men bare giv den lidt tid)
Filen skal bare over i /mnt/hda2 mappen, det er også der den starter med at logge dig ind.
Når det er gjort skal filen mountes til en mappe.
# mkdir /mnt/loopback && mount -o loop /mnt/hda2/rootfs /mnt/loopback (lav dir og lav et loopback mappe med rootfs filen)
Så kopierer vi indholdet fra rootfs filen til vores hda2 partition
# cp -avx /mnt/loopback/* /mnt/hda2 (kopiere indholdet af rootfa filen til hda2 partitionen)
# ls -l /mnt/hda2 (udskriv /hda2 drevet)
Nu får du en udskrift af indholdet af hda2, det skal ca. se sådan ud som billedet.
Nu skal vi lige have kopieret linuxboot.cfg fra Distro.rar og vmlinux fra Gentoox.ISO filen til din desktop eller et andet sted du kan finde dem.
Ændre så Linuxboot.cfg som også ligger i Distra.rar filen, det kan du gøre med notesblokken
title Gentoox
kernel /boot/vmlinuz
initrd no
append init=/linuxrc root=/dev/hda2 kbd-reset video=xbox:640x480,nohwcursor,hoc=13,voc=13
Så skal du ændre din fstab, og det gør vi med "nano"
# nano /mnt/hda2/etc/fstab
(Hvis du ikke kan se det hele, kan du bare trække lidt i bredden af vinduet)
/dev/hda1 none swap sw 0 0
/dev/hda2 / ext3 defaults,errors=remount-ro 0 1
Proc /proc proc defaults 0 0
Så er det "ctrl+x" for at afslutte, "y" for at gemme, og "enter" for filen.
Med din FTP client kopierer du Linuxboot.cfg og vmlinux til mnt/hda2/boot/
# ls -l /mnt/hda2/boot
Og det skal ca. se ud som billedet.
Så skal der rebootes.
# shutdown -r now
Nu sker det på selve Xboxen
Bootloaderen kommer frem og vælg "Native" eller vent.
Så skulle der gerne ske en hel masse, til sidst kommer der information om SSH adgangen.
IP adressen og brugernavn samt password.
Log nu på Xboxen igen med Putty og den IP at Xboxen giver dig.
User: root
Pass: xbox
# cd /
# passwd (ændre dit root password)
new password: (dit nye password)
re-type new password (så gentager vi det)
# passwd gentoox
new password: (nyt password til gentoox brugeren)
re-type new password (vi gentager igen)
# rm -rf /mnt/fatx/e; ln -sf /boot /mnt/fatx/e (det her skulle meget gerne få update funktionen til at virke i fremtiden, men nu ser vi)
# date MMDDhhmmYYYY (sær tiden eller så kan du ikke opdaterer dit system, MM-Månede DD-Dag hh-Timer mm-Minutter YYYY-År)
Så skal der opdateres
# magic (Shallaxs geniale opdatering program)
Følg guiden på skærmen, hvis den spørger om du vil køre Sync skal du svare "yes" og ved x-server skal du svare "no", så går den igang med at opdaterer systemet.
Når du får en "All done - Goodbye" så er den færdig
Så skal vi lige rydde op
# rm -v rootfs (sletter lige den 4GB rootfs fil vi har brugt)
Så har du en Linux på din Microsoft Xbox.. Super fedt ikke?
Lav din Xbox om til en brugbar NAS
Vi vil gerne have at vi kan bruge vores nye Linux Xbox til noget sjovt, som f.eks et NAS drev (Network Attached Storage) Men las os komme i gang.
# mkdir /storage (opretter et dir til deling)
# chmod a=rwx /storage (giv rettigheder)
Nu skal vi lige have opdateret de links den bruger til at hente de ting du vil installerer.
# emerge mirrorselect
# mirrorselect -i -o >> /etc/make.conf
Jeg plejer at vælge BELNET og noget her i norden. Pil op/ned for at bladre, mellemrum for at vælge og "Enter" for at klikke OK
# emerge samba webmin (installer samba somer Windows newværks dims til Linux og webmin som er et web-baseret administration)
# rc-update add samba default (får Samba til at starte når den booter)
# rc-update add webmin default (får Webmin til at starte når den booter)
Og en restart..
# shutdown -r now
Når den er restartet skal du så ind på dit nye fine administrations interface https://pro:10000 via din alm. web-browser, hvis det ikke virker så prøv https://din-Xboxs-IP:10000
Username: root
Password: det du nu ændrede det til!
Så klikker vi:
'Servers', 'Samba Windows File Sharing' , 'Convert UNIX user to Samba user' , 'Convert Users' og til sidst <- Return to share list (nederst på siden)
Du vil nok se nogle "default shares" slet dem ved at klikke på dem, og trykke 'delete' over til højre.
Så skal du klikke 'Create ned file share'
Kald dit "share name" for "Storage" og "directory to share" til "/storage" og klik 'create'
Hop tilbage til din share liste, klik på dit nye share, og klik derefter på 'security and access control'
Under "valid users" skriv "gentoox" og save, og save igen.
På Sambas startside skal du klikke på "Restart samba servers" nede i bunden.
Nu skulle du kunne i din Windows Stifinden skrive Pro eller din-Xboxs-IP og enter.
Så er dit bruger navn "gentoox" og passwordet er det du har ændrede det til.
Nu kan du enten mappe dit nye netværk storage til et drev, eller bare bruge det som det er.
Eftertanke..
Efter at have fået en NAS op at køre på en Xbox der kun bruger 55W når den er belastet, så var jeg en glad mand, hvad kan jeg så bruge det til??
Jo, jeg har jo to Xboxe mere, og de har Xbox Media Center installeret så jeg har nu også et helt media center, med et stor disk med film, musik og billeder på, og det kan afspilles på de andre Xboxe via netværket. Jeg har så også valgt at ligge en Apache, PHP og MySQL på den, så nu har jeg også en Webserver som ikke larmer og ikke bruger meget strøm.
Det eneste minus jeg har ved det her er at det tager laaang tid at få en Webserver op at køre, det er jo kun en lille PCer - 730Mhz 64MBram, så det tager sin tid at compilerer alt softwaren.
En anden ting jeg øffer lidt over er at Xebian ikke understøtter Raiser FS, det er noget hurtigere end det alm. Linux FS.
Nyttige links:
http://gentoox.shallax.com
http://www.xbox-linux.org
http://www.xbox-scene.com
Tak til:
Cheesypoofs og Shallax for hjælp og Linux distribution.
Og her er lige et par shots af Xboxen inden i. (undskyld kvaliteten, har kun min SmartPhone)
Her er den så med en 40GB Maxtor disk
Med Bootchip og USB port på bagsiden.
Tak til ChrisB for artiklen!
På lørdag kan du læse den næste gæste-artikel som omhandler fuld-automatiseret installation af Windows XP