Edit /etc/yum.repos.d/home\:arfoll.repo, and set gpgcheck to 0. (The Maemo community OBS seems to enable this but it doesn't sign the packages it builds!)
sudo yum install xbmc
Can't really make it easier than that now can I?
Note: I've only tested this on meego 1.0 netbook with all the latest updates as of 14th august. Please tell me if anything goes wrong in your install.
Thanks to the people on the #meego channel and to the maemo community for making their very nice community OBS available to all meego x86 people.
XBMC r33163 is now available in the repositories!
The current XBMC build is SVN (dharma branch) r32806, which isn't the latest but it's fairly stable. I will move to newer ones eventually but my aim is not to update this every day. The dependancies will probably not be updated so long as the OBS keeps compiling them fine If you have a newer package that works and compiles in meego i'd be glad to replace one of my older ones though!
There is no MythTV support in this XBMC version, as I remove all mysql dependancies using a patch. If anyone really wants to do this, I can probably renenable my mysql/perl packages. I also have a small patch to add some meego specific stuff and fix a libfaad error - see this forum post.
This howto should be very simple to follow. All rpms have been made specifically for meego this time unlike my previous howtos.
This should work for a stock meego 1.0 netbook image. I tested it on a Samsung NC10 with 2GB of ram.
A few optional things that could be nice
An openssh server might be useful, full vim, wget and synergy (keyboard sharing client/server)
sudo yum install -y vim openssh-server wget synergy
My howto will use wget.
Installing dependancies from Meego repos
Here goes the big part. The last 15 or so dependancies may not all be required. However I didn't want to go all the way through them again. If you do it please send me an email
Installing dependancies from here You don't need to install the HAL package since revision 29991. Meego provides udisks and udisks-devel. Thanks openelec.tv for pointing this out! Warning : my mysql package is probably a little different as I got rid of some dependancies Warning : my lame package does not include mp3x as it needed gtk+-devel and I have better things to do
If you want to save some space the debuginfo and doc packages are not needed. Also only the main mysql package and it's dependancies are needed.
My webserver is getting hammered so please be nice and use this google docs link to download the dependancies. Below are the sha1sum and md5sum for the file.
wget http://www.madeo.co.uk/files/XBMC_deps_rpms.tar.gz
tar xzvf XBMC_deps_rpms.tar.gz
cd i586
rm hal-*
sudo rpm -ivh *
Getting XBMC and compiling/installing Feel free to use a different version, the latest wouldn't compile for me so I took what my Acer Revo was currently running... This will take a few hours on an Atom 270 without distcc. Warning: You'll need to use another computer to grab the xbmc sources since SVN isn't in the meego repos and I havent built an RPM for it. Maybe later!
svn co -r30739 https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk/ xbmc
cd xbmc/
./bootstrap
./configure --prefix=/usr --disable-vdpau --disable-dvdcss --disable-hal
make -j2
make install
That's all! Hopefully it works for you. Notice the windowmanager will mess things up if your mouse is in the top part of the screen. Disable the mouse in XBMC or just run a different WM like openbox.
First off we must remember the O2 joggler uses the 'Poulsbo' or US15W chipset from Intel which is basically very badly supported software-wise in linux. We need to use the Intel proprietary IEGD driver to get any kind of openGL acceleration. Because of this, and the fact I did not have enough time to make it work nicely in Arch Linux nor Meego, I went for a prebuilt Ubuntu image for the joggler.
I used disca's 1.3 build which requires a 4GB USB stick. Follow the instructions here to install it to your usb stick using dd or other.
Open the joggler to fit your USB flash drive (or very cheap SSD!) This is not essential, however it leaves an empty USB port (to use with a USB sound card!) and makes the device look much neater. However you may want to leave that till the last minute. Also do not do this if you love Wifi. If you want wifi, buy a USB hub.
Open the joggler - this is actually really easy - just carefully take away the sticker on the bottom of the device. Unscrew the 4 small screws, and just pull. There are plastic 'clips' on either side and two on the top. This should not be too hard to do. Here is a youtube video if you are still worried.
Remove the Wifi card. This required me to take off two bits of tape, and pull away at the foam holding it in place a little. Then just place your USB stick inside. After all is done, close it up and boot. Bootup is actually faster than the original openpeak software! Once booted, an SSH server is in place (user: joggler, password: joggler) so I would ignore the onscreen keyboard and everything else.
Installing XBMC
I chose to go with an SVN build of XBMC, but feel free to get a stable build, there should be no difference. I shamelessely took the instructions from this blog. I'll make it quicker and up to date for Ubuntu 9.10 (karmic koala)
Add the following repository to /etc/apt/sources.list:
deb http://ppa.launchpad.net/team-xbmc-svn/ppa/ubuntu karmic main
deb-src http://ppa.launchpad.net/team-xbmc-svn/ppa/ubuntu karmic main
Import the key from the PPA, update our local database and install xbmc.
We just need to launch XBMC once, and then set it to windowed mode using a USB keyboard or synergy - Settings -> System -> Video Output -> Resolution.
Installing and configuring openbox
You'll need a window manager in order to be able to start XBMC in non fullscreen mode to get the mouse emulating touchscreen to work. This is a little annoying but it's the easiest workaround (and only) I could find. Openbox was used because I'm (a little) familiar with it, otherwise this can work in gnome or anything else you want as long as you manage to take the decors and borders off completely.
You'll want to use something like this to autostart XBMC. I also autostart a synergy client so I can use the mouse and keyboard from my desktop PC. If you don't know this great piece of software go take a look at their homepage.
To get openbox to become the default choice, I got lazy. Just login to gnome, log out, then choose the openbox session at the GDM login. This will make it your default choice. I'm too used to having .xinitrc being so easy in Arch Linux, and after a lot of searching could not find an easy way to do it in ubuntu. If anyone knows of a way please tell me!
Fixing the XBMC skin (SVN version only)
If you have launched XBMC and are using the SVN version, then you'll notice a little graphical corruption. This is because the US15W in the joggler can't handle some of the unpacked textures that ship with the SVN builds. This fix was quite hard to find, but look here if you are interested in why this is this exact problem exists.
It's actually quite a simple fix (i'm going to assume you don't want to install SVN on the joggler):
svn co http://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/9.11_Camelot/skin/Confluence
mv Confluence Confluence_stable
scp -r Confluence_stable joggler@joggler:.xbmc/skin/
Then just change the skin to Confluence_stable in Settings->Appearance->Skin
Ok all is done! Now mount some music/video using some NFS/SMB shares and you're good to go! Also check out UPNP if like me you have other XBMC HTPCs around, it's very impressive if a little worrying. To make it a nice setup and not just an experiment, I use a USB soundcard to be able to have a good sound quality. Otherwise the joggler speakers and headphone jack are terrible. I use an old Edirol UA-1EX that I had lying about. Anything using the snd-usb-audio module in linux should work very well.
Notice, some things are impossible to do with just touchscreen in confluence. I'd recommend having a go with Confluence Touch! skin. But there are quite a few different ones. So far I haven't found one I really like.
Fixing sound playback
This is a problem with XBMC and lots of audio sound cards. Basically the audio gets garbled as the sound buffer runs out of memory. I've had this on my acer revo and my O2 joggler with the external soundcard (I bet the problem is the same on the internal speakers). The easy fix is to use pulseaudio (which has a massive buffer). If you're using Gnome on the joggler ubuntu build then it will work. But using only openbox you'll need to start pulseaudio. Just add this to your autostart.sh
(sleep 1s && pulse-session) &
You'll have to make sure that your XBMC audio playback device is set to your default Pulseaudio sound card. gnome-volume-controller will help you set a default card.
Making Confluence faster
You'll notice the confluence skin is a little slow at displaying images. So i just resized and croped them all to the right size for the joggler (800x480). I also replaced the default music one and changed the apple to a tux... (i'm not even sure where that one gets displayed!). Grab the .tar.gz here. You'll have to extract it in the backgrounds folder in the confluence skin folder. My advice is to copy the confluence skin folder from '/usr/share/xbmc/skin/Confluence' to '~/.xbmc/skin/ConfluenceSmall'.
These are not official builds. Nor are they official instructions. Follow at your own risk ! Download link : (647MB). Alternate link here . If you're even lazier here are some pictures and videos of it running!
Part 1 : Build environment Skip to part2 if you allready have MIC2 or if you have no intention of using fedora
I used Fedora 10, simply because there was a repo for the MIC2 (tool to make images for moblin). For a quick install download a vmware image off thoughtpolice. (the root password is thoughtpolice!).
I'm not sure this is needed but selinux complains during the build and it's notoriously annoying so I disabled it.
system-config-selinux
Add this as moblin_tools.repo in /etc/yum.repos.d/:
You'll find your root user has the following property in the live USB image:
user : root
Password : moblin
Notes :
- I've found my clutter interface usually crashes on the first load. Doing an init 3 and then init 5 in a tty terminal as root usually fixes it.
Here are a few pictures of the upcoming Meego release (Moblin 2.2). Go try it out for yourself! USB image can be downloaded here
Bootup is about as fast as Moblin 2.1, syslinux menu has not changed but due to using MIC2 this is not a surprise. Kernel 2.6.33-rc8 is used.
Graphically menus have changed very slightly. It now has a meego graphic as it starts clutter/mutter.
The biggest changes I could spot where Chromium for web browsing and Mozilla nowhere to be found... Thunderbird was being used for email. When halting (which apparently having no icon to do that means it's more user friendly...) it gives you a cute little backdrop of one of those creature like blocks waving at you!
Right now, Meego looks like a clone of Moblin and the only reason for the name change seems to be to appease the Maemo community which still seems to be up in arms about the move to an RPM based distro.
This comes with no warranty whatsoever! Don't come to me if this breaks and deletes all your data. Back it up!
Why BTRFS on the X25-M ?
I decided to write this article because it's very hard to find information about the X25-M or high performance SSDs in general. Under linux, it's nearly impossible. Information on btrfs however is more promising and they even have a nice wiki.
BTRFS is said to have stabilised since the 2.6.32 kernel and has been included since the 2.6.29 kernel. It should not change structure unless a major bug is found is stated on the wiki. You can upgrade to BTRFS from ext4. Therefore if you are more worried about your data than me, then you can use ext4 and when you deem btrfs stable enough upgrade to it.
Some people claim that anything with a journal will damage their SSD. Now this may be true of cheaper SSDs found in netbooks, and basic 2.5" drives sold cheap (you know which ones I mean) that got slower and seemed to stutter after many writes. However the Intel X25-M is said by intel to have a Minimum useful life of 5 years (or 35TB). You can write to it 20GB/day for 5 years! it has a Mean time between failures of 1.2 Million hours. People should probably have been more worried about their normal hard drives to fail than worrying about this SSD.
I'm not saying you should put a swap file on your SSD. Keep that on a normal drive or just don't have one! I like to keep a big swap file to have /tmp as tmpfs. I also keep /var/log on a conventional JFS partition on a rotational drive because it can be nice to be able to mount it under any OS and not just a recent linux kernel.
Performance has been tested on the Intel X25-E SSD under linux by phoronix.com here. However NILFS2 nor BTRFS where present and only default mount options where used. So barrier disabled ext4 was quite good... (disabling barriers on ext is NEVER a good idea). XFS seemed to do quite well but has no SSD mode.
Part 1 - Making your system BTRFS friendly This will only work on Arch Linux. However have a look here for ubuntu. The rest of the guide should work on any linux distribution however.
install mkinitcpio-btrfs and btfs-progs from the AUR. Remake boot images. Be carefull to remake the right image. I use kernel26-rc from AUR (2.6.33-rc8 at time of posting). Normal Arch kernel will be kernel26
I'm working with a seperate /boot partition. This is probably a better idea until btrfs support gets more common. Part2 - Moving / and /boot to the new SSD
Format your new drive as you wish. use fdisk -l to see which one is your new drive.
I always use 200MB as /boot and then left the rest for /. You may want to use a seperate /home. I decided leaving the biggest partition would mean less wear as the wear levelling alogrithms would have more room to work. Decide what your opinion is on this
Make the btrfs partition as well as /boot
mkfs.btrfs /dev/sdb2
mkfs.ext2 /dev/sdb1
I will use -o ssd but you can use -o ssd_spread if you are really worried your precious drive will die too soon!
mkdir /mnt/boot
mkdir /mnt/slash
mount -o ssd /dev/sdb2 /mnt/slash
mount /dev/sdb1 /mnt/boot
Now comes the boring long bit... Then we just create /dev/console and /dev/null Notice we copy over /boot twice and remove it. it's not like it will take any time to copy a few MBs
Part 3 - Grub
Now we will install grub on the master boot record of the SSD. You don't have to, but otherwise you will be wasting a few precious seconds. please be carefull. Make sure it's the right drive!!! hd0 should be /dev/sda, hd1 will be /dev/sdb and so on
grub
grub> root (hd1,0)
grub> setup (hd1)
Next edit your /mnt/boot/grub/menu.lst file. Make sure that you change your boot options to the new SSD. The great thing about this is that if everything messes up you can just boot straight onto the old drive with the old files!
Part 4 - fstab Always use UUIDs and not direct names.
blkid /dev/sdb1
blkid /dev/sdb2
then edit /mnt/slash/etc/fstab
and add the two lines for something like this:
# SSD is root and /boot
UUID=c05d5ae2-9eb9-4b6e-9e13-d99ea589933b / btrfs ssd 0 1
UUID=33a46c0e-ad6f-4526-b628-f477aa36e73e /boot ext2 defaults 0 1
The ssd option for / is actually not neccessary. BTRFS is capable of detecting wether or not you have an SSD.
cat /sys/block/sdb/queue/rotational
If this is a 0 then your SSD is correctly detected!
Part 5 - BIOS
Make sure that your sata controller is in AHCI mode. This will probably mean that if you have windows on a sata drive installed as IDE will just not boot anymore. If you don't have this one, the SSD won't have all the advanced commands available. And your SATAII drives won't have NCQ and similar working. No TRIM in IDE mode
For working VDPAU you will need libvdpau2.0. The easiest way to do that is to install the latest 195 nvidia driver. If you don't have an nvidia card, then just ignore this, you will compile the code with VPDAU disabled. If you are doing this, I will assume that you have allready followed my guide for the acer revo on moblin.. You will need to recompile Xorg for this to work and change the permissions on the Xorg binary (Parts 3,4 and 6)
sudo sh NVIDIA-Linux-x86-195.30-pkg1.run
Change the -j argument to number of threads your CPU can execute simulatneously +1. On a revo (Atom N230) that's 3.
mkdir /home/brendan/xbmc_camelot
cd camelot
./bootstrap
./configure --prefix=/home/brendan/xbmc_camelot
make -j3
make install
wget http://www.madeo.co.uk/wp-content/uploads/2010/02/patch.txt
patch -p 1 < patch.txt
cd ~/boxee-0.9.14.6992-sources/web/Project\ Mayhem\ III/
zip -v -r -9 -o ../Project_Mayhem_III_webserver_v1.0.zip ./*
cd ~/boxee-0.9.14.6992-sources/
autoreconf
Now configure boxee with chosen prefix. default for moblin is /usr but I thought it was nicer to keep everything tidy where I was. Afterwards, just copy the included lib from xbmc into /usr/include to make compilation go smoothly
in makefile add -lnsl inside the LIB= variable Change the -j argument to number of threads your CPU can execute simulatneously +1. On a revo (Atom N230) that's 3.
make -j3
make install
In /home/brendan/boxee/bin I can now just run ./xbmc.
This is a guide to do a full install of Moblin 2.1 on the Acer Revo R3600. I will assume that you have actually just finished installing the revo using moblin's GUI installer from a usb stick (or whatever you wanted to use). I have included premade xorg packages and kernel packages so all you need to do is install the nvidia driver and recompile mutter if you want the moblin interface.
Lazy links:
- http://madeo.co.uk/moblin/kernel_moblin2.6.31.tar.gz
- http://madeo.co.uk/moblin/xorg_moblin1.6.4.tar.gz
- http://madeo.co.uk/moblin/mutter_moblin2.28.1.tar.gz
Part 1 - Booting
First thing is, you'll want to be able to boot. To do this, it's not hard but I can never get to the escape key in time. If you manage to, then edit the line and take away the 'vga=current' and add a lone 3 at the end. You should then boot in init 3 mode. Notice the weird colours in the first agetty session. Clearing the terminal will resolve those. Also you won't have a prompt, but that's not too annoying if you use ssh.
Part 2 - Ethernet
Out of the box, the ethernet doesn't work This means we need to recompile the kernel with the ethernet driver forcedeth. Here is how to do it :
Be carefull, rpmbuild will fail if you run it as root unlike in previous builds.
Because you have no network to compile this kernel, either use another moblin pc, or a VM to compile the rpms or copy all these rpm's on a usb stick you will need all these dependencies.
If you take the lazy option again and get my premade rpm's then you obviously only need to do the last bit!
Part 4 - Graphics
First we will get wget. Like openssh, not neccesary but makes the whole process alot easier. This next part is really nice. You can finally copy and paste and use networking to your advantage! Unless you really like agetty....
Then we download the latest nvidia ION driver. Then you'll want to install all the dependencies. Aren't you glad you have working ethernet now? If you've been following the guide you'll notice you have alot of these if you compiled your own kernel. I left the extras in case you took my premade rpms. Either way yum will not reinstall stuff if you allready have it.
Accept the license and then select yes when asked if it should write it's display configuration.
Part 5 - Mutter
We will take the development version of mutter and mutter-devel. In case these change on the moblin servers I have included them at the top as another lazy link!
wget http://repo.moblin.org/moblin/development/core/ia32/os/i586/mutter-devel-2.28.1_0.4-1.2.moblin2.i586.rpm
wget http://repo.moblin.org/moblin/development/core/ia32/os/i586/mutter-2.28.1_0.4-1.2.moblin2.i586.rpm
sudo rpm -ivh --force mutter-*
wget http://git.moblin.org/cgit.cgi/mutter-moblin/snapshot/mutter-moblin-0.49.0.zip
unzip mutter-moblin-0.49.0.zip
cd mutter-moblin-0.49.0/
./autogen.sh --prefix=/usr
make
sudo make install
Part 6 - X as user
After all this, startx will result in a failure. To fix it, create the file /etc/modprobe.d/nvidia.conf with this inside :
Today I give you some nice pictures of the £99.99 flop that is the O2 joggler by OpenPeak Inc sold by O2 in the UK.
The product in itself is terrible. If you can get it connected to your network, it refuses to do anything before it updates itself. It uses some weird ports to do it's updates on, and once you have it running, you'll discover most features that are planned - well aren't there at all. Luckily O2 will be happy to just refund the thing entirely without questions! Possibly due to the fact the thing is just wholly broken.
Either way, the hardware in it is quite impressive for the money. It is based around the "Poulsbo" Intel System Controller Hub US15W. Itself and the atom Z520 CPU should take around 4.5W of power.
On the Joggler there are 512MB of DDR2 (4 x 1 Gbit chips). The wifi is simply a wifi dongle without a case plugged in to the USB port. Anyways enjoy the pictures.