Patch XBMC Live?
#1
Question 
I'm running Dharma beta3 installed from the LiveCD onto an ion1 PC. I'd like to add a single patch to this build. I attempted this by downloading the dharma3 tagged files from SVN, and compiling them on my desktop (Ubuntu Maverick 64bit). Once compiled, I took the xbmc.bin from this build and replaced /usr/lib/xbmc.bin on my htpc. This failed miserably. I'm guessing because my desktop is 64bit and the original Live version of xbmc.bin is 32bit.
Running "file" on the Live version of xbmc.bin shows that it's a 32bit elf, built on kernel 2.6.15! That's Dapper Drake if it was Ubuntu.
Does anyone know how the liveCD is produced? I really just want to re-create it (with my one patch applied) so I can replace the xbmc.bin without messing with everything else.
Reply
#2
An obvious next step is to set up Ubuntu 32 bit and try compiling XBMC on that.

I vaguely recall people asking about building a Live CD somewhere in the forums so it would be worth some determined searching.

JR
Reply
#3
tools/XBMCLive/SDK/build.sh builds an iso for you. though i'm not entirely sure it can build on x86_64 or not atm.
Reply
#4
Thanks, I'm setting up a 32bit environment now to try both methods. I realized that my question might not just be about Live, but about the release builds put in the PPA as well. I say this since the binary I have now came off the LiveCD, but it's configured to update from the ppa whenever one gets published.
With that in mind, does anyone know what the "official" build environment is for either Live or the ppa releases? I'm guessing it's a 32bit version of Ubuntu, and my best guess is that it's Dapper.
Reply
#5
Camelot was based on Jaunty, and Dharma Live CD will be based on Lucid Lynx.


-hogfan
Reply
#6
hogfan Wrote:Camelot was based on Jaunty, and Dharma Live CD will be based on Lucid Lynx.


-hogfan

Thanks, I was confused becuase "file xbmc.bin" tells me it was built for kernel 2.6.15 - but it turns out that doesn't mean it was built on a machine running 2.6.15. I rebuilt on a 32 bit Lucid machine, and had limited success.
It fails with a "Unable to find path to XBMC data files" error. This comes from Application.cpp, where it is looking for the existence of the "language" directory. On my system (Dharma Beta3) this is in /usr/share/xbmc/language. My newly built xbmc.bin is trying to find it in /usr/lib/xbmc/language which does not exist. I'm wondering if this is caused by using the wrong --prefix= when I compiled? I left it blank (/usr/local/), maybe the releases are done with --prefix=/usr

UPDATE: Yep that did it. For anyone who is looking to do the same (apply a patch to a existing xmbc install), here's what I did.
- I created a virtual machine from the same LiveCD I installed XBMC from - which means 32 bit Ubuntu.
- I added the deb-src ppa lines to the /etc/sources area.
- I got the tools need to compile using "apt-get build-dep xbmc"
- I retrieved the source with "apt-get source xbmc"
- apply your patch
- build with: boostrap, configure --prefix=/usr, make
- take the resulting xbmc.bin out of the virtual machine, and put it on your htpc, in /usr/lib/xbmc.bin

Thanks everyone for the help!
Reply

Logout Mark Read Team Forum Stats Members Help
Patch XBMC Live?0