Meego Wiki
Views

MeeGo 1.0 Netbook VirtualBox

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Created page with ''''Installation steps:''' #Download [http://download3.meego.com/meego-netbook-chromium-ia32-1.0-20100524.1.img MeeGo v1.0 for netbooks] image and change its extension (simple ren…')
(Installing VirtualBox guest additions for OpenGL acceleration: Adding differences on MeeGo 1.2)
 
(45 intermediate revisions not shown)
Line 1: Line 1:
 +
== Preparation ==
 +
#Install [http://www.virtualbox.org/wiki/Downloads VirtualBox PUEL or VirtualBox OSE]. In this wiki, the VirtualBox OSE 3.2.6 OSE built from source codes (without modification) is used.
 +
#Download [[Media:Libglx.so.gz|Libglx.so.gz]]
 +
#*<pre>cd ~/Downloads</pre>
 +
#*<pre>gunzip Libglx.so.gz</pre>
 +
#*<pre>mv Libglx.so libglx.so</pre>
 +
#Download [[Media:Clutter-xvisual-patch.txt|Clutter-xvisual-patch.txt]]
 +
 +
== Installation ==
 +
'''Installation steps:'''
'''Installation steps:'''
-
#Download [http://download3.meego.com/meego-netbook-chromium-ia32-1.0-20100524.1.img MeeGo v1.0 for netbooks] image and change its extension (simple rename) to ISO.
+
#Download the [http://download3.meego.com/meego-netbook-chromium-ia32-1.0-20100524.1.img MeeGo v1.0 for netbooks] image and change its extension (simple rename) to ISO.
#Create VirtualBox virtual machine
#Create VirtualBox virtual machine
#*Select virtual machine type Linux/Fedora.
#*Select virtual machine type Linux/Fedora.
#*Create 8 GB virtual hard drive.
#*Create 8 GB virtual hard drive.
#*Enable PAE.
#*Enable PAE.
-
#*Enable 3D acceleration.
 
#*Set CD-image to the downloaded MeeGo image.
#*Set CD-image to the downloaded MeeGo image.
#Boot the virtual machine for the first time. Choose ''Installation only'' from the boot menu.
#Boot the virtual machine for the first time. Choose ''Installation only'' from the boot menu.
-
#Follow the installation wizard and install MeeGo to the virtual hard drive.
+
#Follow the installation wizard and install MeeGo on the virtual hard drive.
#After you are back in the boot menu, turn off the virtual machine.
#After you are back in the boot menu, turn off the virtual machine.
-
#Set virtual machines CD-image to ''Empty''.
+
#Set virtual machine's CD-image to ''Empty''.
#Boot your MeeGo system for the second time.
#Boot your MeeGo system for the second time.
-
MeeGo does not seem to go anywhere except showing background image. It is however possible to get X11 with TWM running easily. This is enough for development work.
+
MeeGo does not seem to go anywhere except showing background image.  
'''Workaround:'''
'''Workaround:'''
-
#Press '''ESC''' when the boot begins in order to get into GRUB boot menu.
+
#Press '''ESC''' when the boot begins to get into GRUB boot menu.
-
#Press '''TAB''' in order to edit boot line.
+
#Press '''TAB''' to edit boot line.
-
#Remove ''quiet'' from boot line and then boot.
+
#Remove ''quiet'' from boot line and append s to start with a shell and then boot:<pre>vmlinuz-2.6.33.3-11.1-netbook ro root=/dev/sda2 vga=current s</pre>
-
#After boot is complete, press '''ALT-F1''' in order to get into console and login without your user account.
+
#Add suid for Xorg:<pre>chmod +s /usr/bin/Xorg</pre>
-
#Type <tt>sudo telinit 3</tt> to disable autospawning of the UX.
+
#Replace <code>libglx.so</code> for an X issue, this <code>libglx.so</code> will put glx version to 1.2, instead of 1.4. (skip this step for MeeGo 1.1):<pre>scp user@host:~/Downloads/libglx.so /usr/lib/xorg/modules/extensions</pre>
-
#Type <tt>sudo startx</tt> to start X11 with TWM :)
+
#Reboot and continue MeeGo installation
 +
#If the boot continues to hang, try the following
 +
#* boot without the 'quiet' and 's' options (ie, vmlinuz-2.6.33.3-11.1-netbook ro root=/dev/sda2 vga=current)
 +
#* If you get "INIT: Id 'x' respawning" too fast, See this [http://forum.meego.com/showthread.php?t=447 forum post]
 +
#Finish MeeGo installation, now MeeGo UX could be shown with GL software rendering, the performance is very slow.
 +
 
 +
'''Result:'''
 +
 
 +
[[Image:MeeGo0524-VirtualBoxOSE-SoftwareRendering.png]]
 +
 
 +
== Installing VirtualBox guest additions for OpenGL acceleration ==
 +
 
 +
#Press '''ESC''' when the boot begins to get into GRUB boot menu.
 +
#Press '''TAB''' to edit boot line.
 +
#Remove ''quiet'' from boot line and append s to start with a shell and then boot:<pre>vmlinuz-2.6.33.3-11.1-netbook ro root=/dev/sda2 vga=current s</pre>
 +
#Modify the <code>extlinux.conf</code> at <code>/boot/extlinux/extlinux.conf</code> from:<pre>append ro root=/dev/sda2 quiet vga=current</pre> to:<pre>append ro root=/dev/sda2 vga=current 3</pre>
 +
#Install dependencies (MeeGo 1.2: the kernel development package name is kernel-devel):<pre>sudo zypper install gcc make kernel-netbook-devel patch</pre>
 +
#Change password:<pre>passwd</pre>
 +
#Reboot to activate potential kernel updates (running kernel needs to match the <code>kernel-devel</code> package)
 +
#Having instructed VirtualBox to Install Guest Additions, mount CD-drive and build guest additions (MeeGo 1.2: the image is mounted automatically under /media and the launcher is VBoxLinuxAdditions.run):<pre>sudo mount /dev/sr0 /mnt && cd /mnt && sudo ./VBoxLinuxAdditions-x86.run</pre>
 +
#Inside the MeeGo VM, download the clutter source code with:<pre>yumdownloader --source clutter</pre>
 +
#Extract the clutter tarball from the RPM:<pre>rpm2cpio clutter-1.2.6-2.2.src.rpm|cpio -id</pre>
 +
#Extract the clutter source code from the tarball:<pre>tar jvxf clutter-1.2.6.tar.bz2</pre>
 +
#Install build dependencies:<pre>sudo yum-builddep clutter</pre>
 +
#Patch clutter:<pre>cd clutter-1.2.6 && scp user@host:~/Downloads/Clutter-xvisual-patch.txt && patch -p1 < ./Clutter-xvisual-patch.txt</pre>
 +
#Build clutter:<pre>./configure --prefix=/usr && make && make install</pre>
 +
#Shutdown, enable 3D Acceleration and Reboot
 +
#Start MeeGo UX, now MeeGo UX could be shown with GL acceleration, while there are drawing order problems. The difference between this screen shot with the above is that the label "People" is hidden by a MeeGo panel.<pre>uxlaunch</pre>
 +
 
 +
'''Result:'''
 +
[[File:MeeGo0524-VirtualBoxOSE-GLA.png]]
 +
 
 +
== Current Development Status ==
 +
* The problem of running MeeGo netbook UX inside VirtualBox with GL acceleration has been root caused. Please refer to http://vbox.innotek.de/pipermail/vbox-dev/2010-August/003198.html for detailed information.
 +
* I have fixed the above problem by applying the same technique used for [[MeeGo SDK with Xephyr|Xephyr]], that is, using an off-screen to render the OpenGL and reading the window contents back when necessary. The performance is acceptable for development work, while not fast enough to run OpenGL games.
 +
* I have started talking with VirtualBox 3D acceleration developer Leonid Lobachev on this issue.
 +
 
 +
== Future ==
 +
# I expect MeeGo netbook UX could be run correctly and smoothly (with GL acceleration) inside VirtualBox.
 +
# I expect MeeGo handset UX could be run correctly and smoothly (with GL acceleration) inside VirtualBox.
 +
 
 +
[[Category:Tutorial]]

Latest revision as of 19:49, 30 June 2011

Contents

Preparation

  1. Install VirtualBox PUEL or VirtualBox OSE. In this wiki, the VirtualBox OSE 3.2.6 OSE built from source codes (without modification) is used.
  2. Download Libglx.so.gz
    • cd ~/Downloads
    • gunzip Libglx.so.gz
    • mv Libglx.so libglx.so
  3. Download Clutter-xvisual-patch.txt

Installation

Installation steps:

  1. Download the MeeGo v1.0 for netbooks image and change its extension (simple rename) to ISO.
  2. Create VirtualBox virtual machine
    • Select virtual machine type Linux/Fedora.
    • Create 8 GB virtual hard drive.
    • Enable PAE.
    • Set CD-image to the downloaded MeeGo image.
  3. Boot the virtual machine for the first time. Choose Installation only from the boot menu.
  4. Follow the installation wizard and install MeeGo on the virtual hard drive.
  5. After you are back in the boot menu, turn off the virtual machine.
  6. Set virtual machine's CD-image to Empty.
  7. Boot your MeeGo system for the second time.

MeeGo does not seem to go anywhere except showing background image.

Workaround:

  1. Press ESC when the boot begins to get into GRUB boot menu.
  2. Press TAB to edit boot line.
  3. Remove quiet from boot line and append s to start with a shell and then boot:
    vmlinuz-2.6.33.3-11.1-netbook ro root=/dev/sda2 vga=current s
  4. Add suid for Xorg:
    chmod +s /usr/bin/Xorg
  5. Replace libglx.so for an X issue, this libglx.so will put glx version to 1.2, instead of 1.4. (skip this step for MeeGo 1.1):
    scp user@host:~/Downloads/libglx.so /usr/lib/xorg/modules/extensions
  6. Reboot and continue MeeGo installation
  7. If the boot continues to hang, try the following
    • boot without the 'quiet' and 's' options (ie, vmlinuz-2.6.33.3-11.1-netbook ro root=/dev/sda2 vga=current)
    • If you get "INIT: Id 'x' respawning" too fast, See this forum post
  8. Finish MeeGo installation, now MeeGo UX could be shown with GL software rendering, the performance is very slow.

Result:

MeeGo0524-VirtualBoxOSE-SoftwareRendering.png

Installing VirtualBox guest additions for OpenGL acceleration

  1. Press ESC when the boot begins to get into GRUB boot menu.
  2. Press TAB to edit boot line.
  3. Remove quiet from boot line and append s to start with a shell and then boot:
    vmlinuz-2.6.33.3-11.1-netbook ro root=/dev/sda2 vga=current s
  4. Modify the extlinux.conf at /boot/extlinux/extlinux.conf from:
    append ro root=/dev/sda2 quiet vga=current
    to:
    append ro root=/dev/sda2 vga=current 3
  5. Install dependencies (MeeGo 1.2: the kernel development package name is kernel-devel):
    sudo zypper install gcc make kernel-netbook-devel patch
  6. Change password:
    passwd
  7. Reboot to activate potential kernel updates (running kernel needs to match the kernel-devel package)
  8. Having instructed VirtualBox to Install Guest Additions, mount CD-drive and build guest additions (MeeGo 1.2: the image is mounted automatically under /media and the launcher is VBoxLinuxAdditions.run):
    sudo mount /dev/sr0 /mnt && cd /mnt && sudo ./VBoxLinuxAdditions-x86.run
  9. Inside the MeeGo VM, download the clutter source code with:
    yumdownloader --source clutter
  10. Extract the clutter tarball from the RPM:
    rpm2cpio clutter-1.2.6-2.2.src.rpm|cpio -id
  11. Extract the clutter source code from the tarball:
    tar jvxf clutter-1.2.6.tar.bz2
  12. Install build dependencies:
    sudo yum-builddep clutter
  13. Patch clutter:
    cd clutter-1.2.6 && scp user@host:~/Downloads/Clutter-xvisual-patch.txt && patch -p1 < ./Clutter-xvisual-patch.txt
  14. Build clutter:
    ./configure --prefix=/usr && make && make install
  15. Shutdown, enable 3D Acceleration and Reboot
  16. Start MeeGo UX, now MeeGo UX could be shown with GL acceleration, while there are drawing order problems. The difference between this screen shot with the above is that the label "People" is hidden by a MeeGo panel.
    uxlaunch

Result: MeeGo0524-VirtualBoxOSE-GLA.png

Current Development Status

  • The problem of running MeeGo netbook UX inside VirtualBox with GL acceleration has been root caused. Please refer to http://vbox.innotek.de/pipermail/vbox-dev/2010-August/003198.html for detailed information.
  • I have fixed the above problem by applying the same technique used for Xephyr, that is, using an off-screen to render the OpenGL and reading the window contents back when necessary. The performance is acceptable for development work, while not fast enough to run OpenGL games.
  • I have started talking with VirtualBox 3D acceleration developer Leonid Lobachev on this issue.

Future

  1. I expect MeeGo netbook UX could be run correctly and smoothly (with GL acceleration) inside VirtualBox.
  2. I expect MeeGo handset UX could be run correctly and smoothly (with GL acceleration) inside VirtualBox.
Personal tools