Posts Tagged ‘ion’

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

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!