Posts Tagged ‘moblin’

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

Friday, 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??)

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

XBMC (9.11 camelot or trunk) on Moblin 2.1

Thursday, 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

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

Thursday, 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 in 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

Moblin on Samsung NC10 (Non destructively for other OS’s)

Tuesday, November 17th, 2009

This guide is a howto install Moblin V2.1 on a system with a pre-existing OS. In this case Arch Linux on a Samsung NC10.

Use the simple instructions to download the USB image and then use dd to put it on an empty usb stick. Bare in mind that /dev/sdb1 is not a valid device so you must use /dev/sdb. And yes it will wipe the whole usb stick. You'll need a 1GB minimum stick. I did it with a spare 2GB stick but the image is ~750MB so I don't think there's any point trying it with a 512MB stick.

Boot from the stick and select language/keyboard/timezone. Next choose Custom partition layout.

I always recommend this kind of partition layout :

MBR - Any old GRUB on here. Chainloads the other 3 grubs
/dev/sda1 /boot ext2 - 200MB - For Moblin - Grub for Moblin here
/dev/sda2 /boot_nix ext2 - 200MB - For Another OS - Grub for Nix1
/dev/sda3 /boot_nix2 ext2 - 200MB - For Another OS - Grub for Nix2
/dev/sda4 EXTENDED REST OF DISK
/dev/sda5 /home ext3 - you work out how much you want for the other partitions, I like xfs but moblin only uses ext3
/dev/sda6 / ext3 - I put 20GB, but anything higher than 10GB will be fine, you can go alot lower but that's inviting trouble.
/dev/sda7 /nix xfs
/dev/sda8 /nix2 xfs

/dev/sda1 to /dev/sda3 will be primary in this case. You may find the use of ext2 strange but do you really want journalling on /boot partitions? Waste of space in my opinion so there is no need. /home can be shared between OSs so I recommend something standard like ext3.

Choose username/password (the monkey is a very nice touch from the moblin team I have to say)

All you need now is to edit your grub/menu.lst file on your grub installed on the MBR of the drive you boot on and add something similar to this (my /boot for moblin is /dev/sda1) :

title Moblin
root (hd0,0)
makeactive
chainloader +1

Backlight
Upgrade the BIOS to 11CA -

http://www.samsungpc.com/08/products/nc10/firmware.html

You need to grab one of the DOS executables. I used 11CA07D0.EXE under the title 'NC10 11CA / N110 07DO - DOS Executable'
Get the DOS exe file and just run it from DOS using a USB stick (DOS on USB stick guide)
Carefull the BIOS update it starts straight away as soon as the .exe runs. It's also really noisy ;-)
Note : ONLY on bios 11CA
Bug : There is no brightness slider see bug
Just use this to display backlight level (0-255) and the second to set it to somethign reasonable. I like 50/40.

cat /sys/class/backlight/samsung/backlight
echo 50 > /sys/class/backlight/samsung/backlight

Hibernate/Sleep
This actually works straight out of the box. Moblin just doesn't show it. Something to do with not being in the philosophy - Names should be obvious...

pm-hibernate
pm-suspend

SSH server
There is nothing difficult about this but thought I'd mention it
Note : Starting it the first time takes a little while, it's normal

sudo yum install openssh-server
/etc/init.d/sshd start

Hostname
By default your machine will be called username-desktop. To change it edit /etc/hosts with your favourite Text editor
Replace the line like below (should be the last one and replace it with your chosen hostname

127.0.1.1 name.localdomain name

How to compile Nvidia proprietary drivers on Moblin 2.1 final (Acer Revo)

Tuesday, November 17th, 2009

For fully working revo on moblin 2.1 go here

Todo : understand and fix the issue in Clutter to get it to work with Nvidia drivers (as previously with Moblin 2.0)

Thanks to :

  • Dominique Le Foll - dominig@fridu.net - for testing all this on Moblin 2.1
  • Li Peng - peng.li@intel.com - for his help on recompiling x11-server in a clean way
  • - Install Moblin
    It should work from the USB stick (on Acer Revo F12 during Bios test will let you slect to boot on the USB stick)

    - Boot in Text Mode (init 3)
    enter Esc during Grub initialisation (easier is to enter Esc every second during boot) to access Grub Menu
    press e to go to Edit mode press arrow down to get to the second line press e to go in Line Edit mode replace "quiet vga=current" by the digit 3 press b to boot

    log with the user and password you entered during installation

    Become root (note type "su -" the space and the "-" are important)
    sudo su -

    Installing ssh - (just to make it easier - not neccessary)

    yum install openssh-server
    service sshd start
    ifconfig

    # Become root (note type "su -" the space and the "-" are important)

    sudo su -

    # enter your user password

    cd /root

    - Install packages required to build x11-server.

    Note next line is very very LONG because escaping with "\" seems to create trouble with yum.

    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 kernel-netbook-devel

    you will need to enter y for Yes twice ??

    Download the source code of x11-server and install it

    curl -o xorg-x11-server-1.6.4.901-7.8.moblin2.src.rpm http://repo.moblin.org/moblin/releases/2.1/source/xorg-x11-server-1.6.4.901-7.8.moblin2.src.rpm
    rpm -i xorg-x11-server-1.6.4.901-7.8.moblin2.src.rpm

    edit the spec file /root/rpmbuild/SPECS/xorg-x11-server.spec and replace
    --disable-xinerama by --enable-xinerama

    build the target

    rpmbuild --target=i586 -bb /root/rpmbuild/SPECS/xorg-x11-server.spec

    install the newly built x11-server (-i uses only one hyphen and --force two)

    rpm -iv --force rpmbuild/RPMS/i586/xorg-x11-server-*

    download the nvidia drivers

    curl -o NVIDIA-Linux-x86-190.42-pkg1.run http://uk.download.nvidia.com/XFree86/Linux-x86/190.42/NVIDIA-Linux-x86-190.42-pkg1.run

    make the script executable

    chmod +x ./NVIDIA-Linux-x86-190.42-pkg1.run

    Run the Nvidia script

    ./NVIDIA-Linux-x86-190.42-pkg1.run

    accept Nvidia license, it will compile the kernel module and install what is needed ask Nvidia installation script to create a new xorg.conf file

    reboot!

    After a few extra second of boot you will see the Nvidia logo Any clutter application will fail to start (including Mutter) after a few restart of X you will get the Moblin 2.1 top bar.

    Hope someone will find a fix for Clutter!

    Moblin 2.0 on Acer Revo (pt1) – Nvidia Ethernet (forcedeth)

    Tuesday, June 23rd, 2009

    For fully working revo on moblin 2.1 go here

    This howto will serve as how you can easily add a driver that is in the linux kernel but isnt in moblin inside a custom moblin kernel.
    In this case we are going to add the forcedeth driver for the MC79 chipset than is the in the Acer Revo.

    1. Download the kernel source rpm and install it

    2. go to /rpmbuild/SOURCES/ and add these lines in config-netbook (doesnt really matter where but I put it after the ATH5K line)
    CONFIG_FORCEDETH=y
    CONFIG_FORCEDETH_NAPI=y

    if you want the drivers built as modules replace the y by m but it will mean that the kernel is a little slower to boot etc..

    3. go to ../SPECS and execute rpmbuild --target=i586 -bb kernel.spec

    rpm -ivh --force kernel-netbook-2.6.29.4-9.1.moblin2.i586.rpm

    and there you go, you know have forcedeth working in your kernel.

    Moblin on Acer Revo (pt2) – Nvidia Graphics

    Tuesday, June 23rd, 2009

    For fully working revo on moblin 2.1 go here

    So you just bought a Acer revo and put moblin and it's so slow that it makes you cringe? Well here is how to fix it.

    So first we need to install Nvidia's proprietary "nvidia" module. In order to do this we have to recompile xorg-x11-server to have xinerama support. Then we need to install it and after that install the nvidia modules. Below are some dumb proof instructions. Feel free to mail in or comment some changed.

    1. yum install make gcc binutils glproto libX11-devel mesa-libGL-devel mesa-libGL xf86driproto randrproto renderproto fixesproto damageproto xcmiscproto xextproto bigreqsproto resourceproto fontsproto inputproto videoproto compositeproto scrnsaverproto resourceproto xineramaproto openssl xorg-x11-xtrans-devel openssl-devel libfontenc-devel libfontenc pixman-devel pixman libXau-devel libXau libxkbfile-devel libxkbfile libXfont libXfont-devel libXinerama libXinerama-devel xorg-x11-xtrans-devel libpciaccess-devel libdrm-devel rpm-build flex byaccxorg-x11-util-macros dbus-1 hal xv xvfixes raw7 xpm xi xrender xmuu dmx xt xdmcp xext xres xf86vidmodeproto xf86dgaproto evieproto dri2proto hal-devel libtool-ltdl-devel libXv libXv-devel libXres-devel libXext-devel libXt-devel libXdmcp-devel libdmx-devel libXmu-devel libXrender-devel libXpm-devel libXfixes-devel xorg-x11-proto-evieext libXaw-devel libXi-devel byacc

    2. Download the nvidia drivers (I used 185.18.14)

    3. download moblin xorg-x11-server source rpm. (I used 1.6.1-6.2)

    4. install the src.rpm package with "rpm -i"

    5. Go to /root/rpmbuild/SPECS/ and open the file xorg-x11-server.spec, find the line that says --disable-xinerama and change to --xinerama-enable

    6. in the same dir, execute rpmbuild --target=i586 -bb xorg-x11-server.spec

    7. reboot and add a lone 3 at the end of the grub line by pressing e and then e again.
    DJA metions that "vga=0 3" instead of "vga=current" might be needed in newer versions

    8. log in as root and execute yum remove xorg-x11-server. Go to /etc/yum/yum.conf and tell yum not to bothere with GPG checks by setting gpg_checks to 0

    9. go to /root/rpmbuild/RPMS/i586/ and install all packages in there with yum install xorg*. If you cant get your network up in command mode then download the missing packages by hand and install them at the same time with yum.

    10. Install the Nvidia driver by executing it. Dont bother going on their ftp site. Let the installer make you an xorg.conf

    11. reboot normally. Remove the quiet and vga=current lines could help.

    credit goes to people in this thread who helped : http://lists.moblin.org/pipermail/dev/2009-June/005210.html