Browser for XBMC

March 6th, 2010

Many are longing for an integrated browser in XBMC. For whatever reason. For me it's to check my mail in the morning so I don't have to start my workstation.... My revo is always on but it can't check my mail. The problem is XBMC runs in standalone form and so nothing else can be displayed.

My fix isn't brilliant. It requires a mouse (which isn't great) - at least if you want easy navigation) and requires openbox. (you could probably find more lightweight but I have a little working knowledge of it's configuration so it was easier that way)

Basically we start openbox, then autostart xbmc on top with the launcher plugin. I run Arch linux but all of this is very much transferable

Start by install openbox on the system and a browser (I recommend chromium because it has it's own titlebars and it's really fast...) :

pacman -S openbox chromium

wget http://xbmc-launcher.googlecode.com/files/Launcher1.02.zip
cd .xbmc/plugins/programs
unzip unzip Launcher1.02.zip
rm unzip Launcher1.02.zip

Then open ~/.config/openbox/rc.xml
Delete the demo applications block (make sure you get the comment tags) - and then put in something like this.

<applications>
          <application name="xterm">
                <decor>yes</decor>
          </application>
          <application name="xbmc.bin">
                <decor>no</decor>
          </application>
          <application name="chromium">
                <decor>no</decor>
          </application>
</applications>

Notice that xbmc is xbmc.bin. xbmc* will work as well. By default apps will have decor and it's not a problem. just make sure xbmc doesn't otherwise it wont come back to the foreground properly.

To autostart xbmc wipe this file /etc/xdg/openbox/autostart.sh. I'm assuming you wont use openbox for anything else or have multiple users here... It's a HTPC setup here ;-) . Replace with this:

#!/bin/bash
(sleep 1 && xbmc) &

We don't want to load anything else than xbmc right??

Now for the last bit, the ~/.xinitrc file :

exec /usr/bin/ck-launch-session openbox-session

If you don't use openbox-session and just openbox the autostart file wont be loaded.

To autologin to openbox I use slim. Look in /etc/slim.conf and add it in /etc/inittab. This is a slightly nicer way than forcing autologin through the inittab.

now symlink all apps you want to autolaunch to somewhere within your home dir. This is because xbmc is silly and doesn't let you go back. So

ln -s /usr/bin/chromium /home/brendan/apps/chromium

Once XBMC has started go to program -> plugins -> launcher and add the applications you want as standalone apps. You can even add them as favorites to make it easier and so you can remove the program menu entry from confluence.

For xterm look at the -geom option to change the size of the terminal. if on a HDTV you may want to make the font bigger too!

How to build Meego images (a.k.a moblin 2.2)

February 19th, 2010

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/:

[MoblinTools]
name=Moblin fc10 tools
failovermethod=priority
baseurl=http://repo.moblin.org/moblin/tools/fc10/
enabled=1
gpgcheck=0

Now we install mic2. (and all it's dependancies...). Load the squashfs module just to make sure

sudo yum install mic2
sudo modprobe squashfs

Part 2 : making the image!
The Intel/Nokia people very kindly hide away some premade images :

http://repo.meego.com/trunk/repo/ia32/os/image-config/

You can either use their default.ks image or my brendan.ks image with the time and keyboard fixed so that it works in the uk ;-)

moblin-image-creator -c brendan.ks -f liveusb

To burn it to a USB stick use:

dd bs=4096 if=moblin-brendan-201002191551.usbimg of=/dev/sdx

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.

First look at Meego – a.k.a Moblin 2.2 (and where is maemo??)

February 19th, 2010

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.

Intel X25-M Gen2 on linux – migrating to btrfs on kernel 2.6.33

February 17th, 2010

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

packer -S mkinitcpio-btrfs btrfs-progs
mkinitcpio -p kernel26-rc

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...
Notice we copy over /boot twice and remove it. it's not like it will take any time to copy a few MBs

find / -xdev | cpio -pm /mnt/slash
rm -rf /mnt/slash/boot
find /boot -xdev | cpio -pm /mnt/boot

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 straigh 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 ;-)

Finished, Enjoy the speed!

XBMC (9.11 camelot or trunk) on Moblin 2.1

February 11th, 2010

Download either the latest SVN build (the SVN build used during this howto was 27627) or the latest stable (9.11 Camelot)

(For information 9.11 Camelot is revision 26018 - list of tags is here http://xbmc.svn.sourceforge.net/viewvc/xbmc/tags/)
Run only one of the below ;-)

svn co http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk xbmc
svn co -r 26018 http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk xbmc

Follow the "Preparing the system" (Part 1) section for Boxee on moblin.

install libflac, libsmblient and libtiff

sudo yum install flac flac-devel libsmbclient-devel libtiff-devel

install libfaad and libmpeg2

wget ftp://fr2.rpmfind.net/linux/rpmfusion/free/fedora/releases/10/Everything/i386/os/faad2-libs-2.6.1-6.fc10.i386.rpm
wget ftp://ftp.ntua.gr/pub/linux/rpmfusion/free/fedora/releases/10/Everything/x86_64/os/faad2-devel-2.6.1-6.fc10.i386.rpm
wget ftp://ftp.ntua.gr/pub/linux/rpmfusion/free/fedora/releases/10/Everything/x86_64/os/libmpeg2-0.5.1-3.fc10.i386.rpm
wget ftp://ftp.ntua.gr/pub/linux/rpmfusion/free/fedora/releases/10/Everything/x86_64/os/libmpeg2-devel-0.5.1-3.fc10.i386.rpm
sudo rpm -ivh faad2* libmpeg*

For camelot, you will need to apply a patch in order to get past an SSL error. The bug is here http://trac.xbmc.org/ticket/8137

wget http://trac.xbmc.org/raw-attachment/ticket/8137/libbdnav-remove-openssl.patch
patch < libbdnav-remove-openssl.patch

choose xbmc/cores/dvdplayer/Codecs/libbdnav/configure.ac

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

Compiling Boxee under Moblin 2.1 (working VDPAU)

February 11th, 2010

Part 1 - Preparing the system for compilation - Missing dependancies

wget http://91.190.227.59/xbmc_builddeps.tar.gz
tar xvfz xbmc_builddeps.tar.gz
cd xbmc_builddeps
sudo rpm -ivh --force glew-*
sudo rpm -ivh libmms* libcdio-* libmp4v2-1.5.0.1-8.moblin2.i586.rpm enca-* faac* mysql-*
sudo yum install -y SDL-devel SDL_image-devel SDL_gfx-devel SDL_mixer-devel libogg-devel libvorbis-devel boost boost-devel bzip2-devel fribidi-devel lzo-devel jasper-devel libpng-devel hal-devel cmake gperf libtool zip nasm libXtst-devel libXi-devel libXmu-devel fontconfig-devel freetype-devel libXinerama-devel pcre-devel gcc gcc-c++ sqlite-devel curl-devel openssl-devel avahi-devel libsamplerate-devel pulseaudio-devel patch diffutils make binutils pixman-devel glibc-devel libpciaccess-devel libgomp43 mpfr autoconf quilt cmake unzip automake mesa-libgl mesa-libgl-devel mesa-libGLU-devel mesa-libGLU libjpeg-devel libmad-devel libjpeg-devel libsamplerate-devel svn tcp_wrappers-devel tcp_wrappers-libs libvdpau libmikmod

in /etc/yum.conf add the following repo:

[fedora10]
name=fedora10
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/updates/10/i386
enabled=1
gpgcheck=0

Now we use the newly added repo to install some dependencies:

sudo yum install SDL alsa-lib enca faac glew libmp4v2 mysql-libs nss openssl tre libvorbis xmms-libs wavpack wavpack-devel

remove the added repo from /etc/yum.conf

Next, install libmad (it's possible you only need libmad-devel, but I'm not sure):

wget ftp://ftp.ntua.gr/pub/linux/rpmfusion/free/fedora/releases/10/Everything/x86_64/os/libmad-0.15.1b-8.fc10.i386.rpm
wget ftp://ftp.ntua.gr/pub/linux/rpmfusion/free/fedora/releases/10/Everything/x86_64/os/libmad-devel-0.15.1b-8.fc10.i386.rpm
sudo rpm -ivh libmad-0.15.1b-8.fc10.i386.rpm libmad-devel-0.15.1b-8.fc10.i386.rpm

Symlink libmysqlclient where boxee expects it
sudo ln -s /usr/lib/mysql/libmysqlclient.so.16.0.0 /usr/lib/libmysqlclient.so

Only if you want VDPAU acceleration (only with Nvidia GPUs)

wget ftp://mirror.switch.ch/pool/2/mirror/fedora/linux/updates/10/i386/libvdpau-0.2-1.fc10.i386.rpm
rpm -ivh libvdpau-0.2-1.fc10.i386.rpm

Part 2 - Compiling and installing

Download sources 0.9.14 from boxee.tv

wget http://dl.boxee.tv/boxee-0.9.14.6992-sources.tar.bz2
tar xjvf boxee-0.9.14.6992-sources.tar.bz2

Next we get a newer version of xbmc Linux/Tools

svn co https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk/tools/Linux
cp --no-dereference --preserve=all -R -v ~/Linux ~/boxee-0.9.14.6992-sources/tools/

Next we apply this patch made for ubuntu.

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

./configure --prefix=/home/brendan/boxee
cp xbmc/lib/cximage-6.0/jpeg/jpegint.h /usr/include/

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.

Optional - replacing mutter/clutter with boxee

sudo mv /etc/xdg/moblin/xinitrc /etc/xdg/moblin/xinitrc.old

and add this as the new /etc/xdg/moblin/xinitrc

#!/bin/bash
cd /home/brendan/boxee/bin
./xbmc

Credits for patch go to "jdb2" from http://forum.boxee.tv/showthread.php?t=13206

Compiling and using MHEG Engine Redbutton

February 3rd, 2010

Warning : This only works on 32bit linux. See here for a patch to make it work on mandriva 64bit - probably will work on other distros

Downloading and compiling redbutton
Download redbutton-download and redbutton-browser from http://sourceforge.net/projects/redbutton/files/.

I used version 20090727 of redbutton-download and version 20091202 redbutton-browser.

You will need gcc,make and the usual. On my arch system it compiled without needing anything, so I can't be of much help with dependancies, but on ubuntu karmic koala (9.10) I had to install all of these to get it running!

sudo aptitude install expat libxslt-dev libxslt1.1 libxslt1-dev freetype2 ffmpeg libpng libexpat1-dev libpng12-dev libavdevice-dev libavfilter-dev libavformat-dev libavifile-0.7-dev libavutil-dev libxt-dev libasound2-dev libswscale-dev x11proto-xext-dev libxext-dev

Untar both packages with tar xzvf and then in both new directories type make.

redbutton-download is the server, it needs to be run on a pc with a DVB card. redbutton-browser can be run on any other pc (it will need a pretty fast cpu if you don't want to drop frames and a good network connection goes without saying).

Installing DVB card - on Arch Linux (should be very similar on Ubuntu)
This is for my Asus Eee-pc My Cinema U3100 Mini DVB-T USB stick
tail -f /var/log/messages
plug the device in and check what driver it wants. Find that driver and install it. For my stick I needed dvb-usb-dib0700-1.20.fw which you can install from the AUR using this package in Arch Linux - dib0700-firmware
pacman -S linuxtv-dvb-apps
packer -S dib0700-firmware
Once installed unplug and replug the device. Watching your /var/log/messages file should show the firmware being loaded
Have a look at here and you should see something like this :

[brendan@baldwin ~]$ ls -la /dev/dvb/adapter0/
total 0
drwxr-xr-x 2 root root 120 Feb 2 17:05 .
drwxr-xr-x 3 root root 60 Feb 2 17:05 ..
crw-rw----+ 1 root video 212, 4 Feb 2 17:05 demux0
crw-rw----+ 1 root video 212, 5 Feb 2 17:05 dvr0
crw-rw----+ 1 root video 212, 3 Feb 2 17:05 frontend0
crw-rw----+ 1 root video 212, 7 Feb 2 17:05 net0

Making the channels.conf file
By default, redbutton will look in ~/.tzap for dvb-t and in /etc

Choose your nearest transmitter and make the config file.

scan /usr/share/dvb/dvb-t/uk-MyClosestTransmitter | tee ~/.tzap/channels.conf

Starting the program

On the server pc, you will need to install dvbtune if you don't allready have it (ubuntu has its own package for it). Notice my dvbtune arguments come from my channels.conf settings and are solely because my card is not too bright. Yours may only need the -f argument.
Find a channel that you want to start with (it won't start without one). So I did cat channels.conf | grep NEWS and found bbc news was on 4415.

sudo aptitude install dvbtune
dvbtune -f 641833330 -qam 16 -cr 3_4 && ./rb-download 4415

On the client pc (no need for a different pc, if not then forget the -r argument) run
At default the program runs on port 10101 but it can be changed on launch of rb-download

./rb-browser -r ip_of_client_machine

Note: 'r' seems to bring up the EPG on bbc :-)

See redbutton.sourceforge.net for a full controls listing of rb-browser and all the options of rb-download


Sources:

http://redbutton.sourceforge.net/

http://www.mail-archive.com/linux-dvb@linuxtv.org/msg21443.html


Acer Revo R3600 (ION) on Moblin 2.1 (working 100%, mutter fixed)

January 28th, 2010

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.

sudo yum install rpm-build diffutils moblin-rpm-config patch binutils cpp cpp43 gcc gcc-c++ gcc43 gcc43-c++ glibc-devel glibc-headers kernel-headers libgomp43 libstdc++43-devel make mpfr mpfr-devel binutils-devel elfutils-libelf-devel elfutils-libelf-devel-static perf

Now you will be able to install the kernel.

rpm -ivh kernel-2.6.31.5-10.1.moblin2.src.rpm
cd ~/rpmbuild/SOURCES

Edit the file config-generic and add the following lines to the file

CONFIG_FORCEDETH=y
CONFIG_FORCEDETH_NAPI=y

Now we build the kernel

cd ~/rpmbuild/SPECS
rpmbuild --target=i586 -bb kernel.spec
cd ../RPMS

You now have the kernel rpms. For this job, I recommend just using kernel-netbook so :

rpm -ivh --force kernel-netbook-2.6.31.5-10.1.moblin2.i586.rpm kernel-netbook-devel-2.6.31.5-10.1.moblin2.i586.rpm perf-2.6.31.5-10.1.moblin2.i586.rpm

If you're not difficult the kernel_moblin2.6.31.tar.gz package will do just fine. Links are at the start of the post.

Part 3 - Recompiling Xorg

sudo yum install "pkgconfig(scrnsaverproto)" "pkgconfig(xtrans)" "pkgconfig(libdrm)" "pkgconfig(randrproto)" "pkgconfig(renderproto)" "pkgconfig(kbproto)" "pkgconfig(glproto)" "pkgconfig(fixesproto)" "pkgconfig(dri2proto)" "pkgconfig(damageproto)" "pkgconfig(xf86driproto)" "pkgconfig(xcmiscproto)" "pkgconfig(bigreqsproto)" "pkgconfig(resourceproto)" "pkgconfig(compositeproto)" "pkgconfig(resourceproto)" "pkgconfig(evieproto)" "pkgconfig(xf86dgaproto)" "pkgconfig(xf86vidmodeproto)" "pkgconfig(xkbfile)" "pkgconfig(xres)" "pkgconfig(xau)" "pkgconfig(xext)" "pkgconfig(xfont)" "pkgconfig(fontenc)" "pkgconfig(xdmcp)" "pkgconfig(xt)" "pkgconfig(dmx)" "pkgconfig(xmuu)" "pkgconfig(xrender)" "pkgconfig(xi)" "pkgconfig(xpm)" "pkgconfig(xaw7)" "pkgconfig(xfixes)" "pkgconfig(xv)" "pkgconfig(pixman-1)" "pkgconfig(gl)" "pkgconfig(x11)" "pkgconfig(openssl)" "pkgconfig(pciaccess)" "pkgconfig(hal)" "pkgconfig(dbus-1)" byacc flex autoconf automake gcc gcc-c++ rpm-build make xineramaproto
wget http://repo.moblin.org/moblin/releases/2.1/source/xorg-x11-server-1.6.4.901-7.8.moblin2.src.rpm
rpm -ivh xorg-x11-server-1.6.4.901-7.8.moblin2.src.rpm
cd ~/rpmbuild/SPECS

edit the spec file xorg-x11-server.spec and replace
--disable-xinerama by --enable-xinerama
build the target and install it

rpmbuild --target=i586 -bb xorg-x11-server.spec
cd ../RPMS/i586/
sudo rpm -ivh --force xorg-x11-server-1.6.4.901-7.8.moblin2.i586.rpm xorg-x11-server-common-1.6.4.901-7.8.moblin2.i586 xorg-x11-server-Xorg-1.6.4.901-7.8.moblin2.i586.rpm

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....

sudo yum install -y openssh-server wget && /etc/init.d/sshd restart

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.

wget http://us.download.nvidia.com/XFree86/Linux-x86/190.42/NVIDIA-Linux-x86-190.42-pkg1.run

yum install -y make gcc nbtk nbtk-devel gnome-common libtool intltool gettext-devel glib2-devel intltool gtk-doc gconf-editor gnome-doc-utils avahi-gobject-devel.i586 pygobject2.i586 pygobject2-devel.i586 mx mx-devel mx-doc pkgconfig\(mutter-plugins\) pkgconfig\(libstartup-notification-1.0\) pkgconfig\(gconf-2.0\)

sh NVIDIA-Linux-x86-195.30-pkg1.run

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 :

options nvidia NVreg_DeviceFileUID=0
options nvidia NVreg_DeviceFileGID=62
options nvidia NVreg_DeviceFileMode=0660

Make sure group 62 is the video group and that your user is int it!
Finish off by adding the s bit to Xorg :

chmod 4755 /usr/bin/Xorg

Done!

- If you are failing to start mutter try add a sleep before executing mutter in /etc/xdg/moblin/xinitrc

About Moblin

About Moblin

Inside the O2 Joggler

January 13th, 2010

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 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.

FreeDOS on usb stick on Linux – for BIOS update

November 18th, 2009

To cut a long story short I managed to get Windows98 dos on a USB stick. I have no idea how to do it again. So i went and found another way - incidentally this is nicer because it doesn't require a license!

Note : This will work on any OS that has dd, so pretty much all of them, but in *nix it's usually allready there!

So take a USB stick bigger than 31MB (unformatted), and then just download, uncompress and write the FreeDOS img like this :
Note : here my usb key is in /dev/sde. It will be wiped entirely. Then /dev/xxx1 will be the DOS partition. After the 31MB the rest of the space can still be used just format it! - Windows won't be able to see it.

wget http://www.madeo.co.uk/FreeDOS-1.0-USB-Boot.img.bz2
bzip2 -d FreeDOS-1.0-USB-Boot.img.bz2
dd bs=512 if=FreeDOS-1.0-USB-Boot.img of=/dev/sde
mount /dev/sde1 /mnt
cp biosfiles /mnt
umount /mnt

Thanks to derek @ http://derek.chezmarcotte.ca/ for the FreeDOS image!