Author
Topic: Using XBox as an MD (Read 5802 times)

I know XBox as an MD has been discussed before and I think it's a really good idea (£40 for an MD!). Ive read http://plutohome.com/support/phpbb2/viewtopic.php?t=110&start=30 (there is an archived verison here but Im linking to Pluto version as it has usernames) but the last post on that was over 6 months ago - wondering if anymore has been done? (Ive also just read the 'Diskless Boot Image' thread on the dev board I didnt find that as useful) I bought an XBox from eBay yesterday (Ill fallback to XBMC if LMCE doesnt work but I really hope it will) so I can work on this - just finished my exams and there's 2.5 weeks of term left - have to fill it somehow! So, Ive read about PXE now and it is not quite what I thought it was - I assumed LMCE compiled all the necessary files into one file to send to the MD (and therefore, it would involve changing config files and make) but it seems the MD gets them individually form the TFTP server. So, does that mean I would be using config & make on the vmlinuz (& possibly the initrd but, if I understand that correctly, it wouldnt need changing)? I have installed LMCE on my Kubuntu Feisty laptop - havent tried network boot yet because I dont have a crossover cable or hub to connect my desktop to the laptop.

So, has anyone done anything else on it since Nov 06? Im hoping darrenmason on here is the same darrenmason on Pluto forums so you might be able to give some help .

Also, I dont have the XBox yet but Im guessing its most likely to be a 1.6 so I believe it will need a modchip & a rom with network boot - is Cromwell the only one that does network boot? Any recommendations for a modchip? sorry if Im not supposed to talk about this kind of thing on here.

Think thats all for now - any hints/tips would be much appreciated. Oh, Im a total XBox noob but have been using Linux on my laptop for over a month and on my departments computers for 4 years (University of Warwick, Im in my final year of Computer Science). Hope all of that made sense!

I was having no luck getting a kernel built that I could get to work using the PXE software that comes with cromwell.Each time I tried something new I ran into a problem. Shifted my kernel compile to the actual XBox (Was doing it on the core) and didn't have the disk space, tried mounting remote drives and then got some permission problems. Sort of lost enthusiasm/motivation at this point.Was also a bit put off as I was not getting good performance from PCs with similar specs (but more memory) to the XBox.I think the tasks needed to do still are;* Build a kernel using a mixture of the Pluto kernel source and XBox patches.* Get the XBox to run this kernel, either using PXE and manually updating the CORE or by just installing it on the disk.* Setup swap files etc on local XBox disks (even with network boot). I think this will definately be necessary.* Then get all thej bits to work - this should not be too hard as most of the XBox linux projects have already attacked this (eg . lirc for remote and controllers, nvidia drivers, USB hubs).

Big problem with doing it with linuxMCE is that as far as I know they are not releasing the source to their releases. This is really worrying and certainly hinders anyone else from doing any modification that can be merged back into the project. This is the one reason why I still have most of my main components running Pluto (rather than linuxMCE) and I just have a single machine that I have started to play round with linuxMCE on.

There are heaps of websites telling you how to get cromwell onto the XBox, which if you just want to run linux on it - then that is all that you need.

If you get it and are still keen I would be willing to work together to try and get something working. I don't think that there is any reason why it won't work. I think it is just a matter of persistence. Most of the big problems have already been solved by others. Like I said I am a bit unsure about the performance because it looks like Orbiter and some of the other pieces seem to be very memory hungry, but it is ceratinly worth trying.

If not, then running XBMC on it works well and you can certainly see your media from the core and play it etc. You can also use it as a Myth Frontend.

@darrenmasonthe sources of LinuxMCE are released under GPL. and the "pluto" kernel is not a special one. it's just the kernel from Kubuntu. so, you can apply some patches and build a custom kernel which will be used by linuxmce to boot or to install on an Xbox MD.

Hmm well, that does sound more difficult than I first imagined but I will definitely still try! Unfortunately, the XBox hasnt arrived yet so cant do anything (even after it has arrived, Ill probably still have to order a chip). I installed LMCE a couple of days ago though (got through it after it decided to uninstall KNetworkManager) but I have since removed it as it was screwing things up on my system a bit (I think graphics overlays have problems now) and will make a partition just for LMCE.

One question - to build stuff for the XBox, do I have to use the XDK? As a side effect, would that mean the binaries could not be included in the LMCE install as they're illegal (at least, that seems to be what XBMC believe since they will not distribute binaries)?

@darrenmasonthe sources of LinuxMCE are released under GPL. and the "pluto" kernel is not a special one. it's just the kernel from Kubuntu. so, you can apply some patches and build a custom kernel which will be used by linuxmce to boot or to install on an Xbox MD.

sharlee_angelo,Where are the latest sources? When I tried to find them I could only find the original sources from the 1.0 fork than ran on Ubuntu 6.10. A few people have asked this on other threads as well.

wrt. the kernel, I have only done the above with Pluto (ie: not linuxMCE) and it certainly had a custom built kernel which I was pretty sure had some updates. Since linuxMCE does not have the same dependency on controlling the OS it may be easier to get this working.

One question - to build stuff for the XBox, do I have to use the XDK? As a side effect, would that mean the binaries could not be included in the LMCE install as they're illegal (at least, that seems to be what XBMC believe since they will not distribute binaries)?

Nick

No, you won't be using the XDK. The cromwell bios was reverse engineered without any microsoft code and then you are just installing a linux distribution on the machine.I might have play with it on the weekend again.

Right, another update - going to try to flash the XBox with Cromwell today then try to convince LMCE to boot - tried it once already from xromwell just to see what it did but it didnt get very far at all.

Darren,Nope, Ive still been playing around with trying to get the xBox to work (I have now flashed it with Cromwell so thats ready to go) and then decided yesterday things would be much easier if I installed LMCE on a VirtualBox image so I can do stuff in Windows and LMCE at the same time. Unfortunately, that took most of yesterday because there was a bug in VirtualBox that wouldnt allow me to run any of the (K)Ubuntu 7's which I spent quite a while trying to run then got an update for VirtualBox which now works fine with Feisty so I left LMCE installing when I went to bed, woke up just now & it has finished.

So, today is going to be the first actual trying to get it to network boot - I tried yesterday and it said pxelinux.0 was not a valid image. Assuming the pxelinux.0 is an unmodified version of pxelinux, I'm planning to get latest version and see if that says invalid also. If that still doesnt work, I think Ill get the pxelinux source and see if any patching needs to be done. However, I think you said you got past that stage - how did you sort it? After that, I guess it will be onto a boot->fix errors->compile cycle! Although, has anyone managed to find the 1.1 sources yet? Just checked and there's no new replies on the 'SVN' thread. Do you know if the MD stuff has changed between 1.0 and 1.1? I wasnt around for v1.0 but I would guess it has changed significantly and therefore working with 1.0 sources would not be a good plan. Not really sure what to do if the 1.1 sources arent available somewhere - contact Paul I guess. Hmmm...

Well, yesterday was not so smooth as I had hoped - though the LMCE installation was fine, the VM wouldnt actually boot up. After much trying, I gave up on that and started again but did a LMCE dedicated install. This now works but took another day to get there.

Today, Ive been fighting with gently poking virtualbox's network settings - I cant find settings that let me use my network and do a network boot but I think I now know how to set each up. So, onto the network booting...

As has been said before, Cromwell wont boot from the included pxelinux.0 file. I tried the latest version of PXELinux - didnt help. I looked online for stuff about the error ("error not a valid image, unable to load file") and found somewhere that said etherboot does not like booting pxelinux (Im not sure if this is correct - I used etherboot to boot my desktop from my laptop LMCE installation and that worked fine - thoguh that could have been a later version of etherboot that is in cromwell) and suggested using mkelf-linux (from mknbi) to make an ELF for etherboot to run. I tried mkelf-linux with the append from pxelinux.cfg/default and the initrd & vmlinuz from default/ (made a 6mb file). This definitely worked better - lots of .'s printed onscreen (presumably, indicating it was downloading the file). Unfortunately, the .'s went off the bottom of the screen but I watched the network light on the XBox - solid/rapidly flashing for a while then stopped. Unfortunately, Cromwell didnt do anything after that 0 Im guessing there may have been an error message but because the .'s went off the screen, any error message was also off screen. However, when the first error ('unable to load file') was raised, Cromwell rebooted itself after a while. After the .'s it sat there for at least 30 minutes without doing anything (visible anyway).

I wasnt going to do anymore on it till tomorrow but writing this has made me want to try more - only useful idea is mkelf-linux without the initrd and hope it gets it through tftp. Ill see what happens...