Meego Wiki
Views
From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(How to install latest MeeGo Snapshot)
(Connecting Qt Creator to the Device: - fixed missing character)
Line 33: Line 33:
   chmod 440 /etc/sudoers.d/su-meego
   chmod 440 /etc/sudoers.d/su-meego
-
   sed -i -e's/##includedir/#includedir/ /etc/sudoers
+
   sed -i -e's/##includedir/#includedir/' /etc/sudoers
Also, for some reason, /usr/local and /usr/local/bin end up as root:root, mode 770. Fix this with:
Also, for some reason, /usr/local and /usr/local/bin end up as root:root, mode 770. Fix this with:
Line 39: Line 39:
   sudo chmod 755 /usr/local/bin
   sudo chmod 755 /usr/local/bin
This looks like it's due to Qt Creator packaging
This looks like it's due to Qt Creator packaging
 +
== Old Installation Notes ==
== Old Installation Notes ==

Revision as of 16:22, 28 May 2011

ExoPCs were given out at the Mobile World Congress 2011 and MeeGo Summit.fi in Apr 2011.

Contents

How to install latest MeeGo Snapshot

  • Download img from http://download.meego.com/snapshots/latest/images/meego-tablet-ia32-pinetrail/
  • Write to your usb stick with dd in=meego.img of=/dev/sdb bs=4M
  • Put usb stick in tablet and boot up, press bs, select usb stick, now you need a usb keyboard to select install only option
    • You can go through the bootloader using the button in the top left corner of the screen, short press to move to the next entry, long press to boot it. USB keyboard is optional.

Mobile World Congress 2011 / MeeGo Summit.fi Machines : Update Repos

These machines were pre-installed with MeeGo 1.1 using a trunk-daily build of 1.1.90.2.20110209.4 (see /etc/zypp/repos/core.repo on the device); this is no longer available.

In the absence of a more stable repo an alternative is to track the latest package set by setting

 baseurl=http://download.meego.com/trunk-daily/builds/trunk/latest/repos/oss/ia32/packages/

in the core.repo file.

Then:

 zypper ref

(If anyone is brave enough to run zypper up and potentially need to reinstall then please say how this works.)

I tried that against the latest weekly repo at that time (http://repo.meego.com/MeeGo/builds/1.1.90/1.1.99.2.20110412.6/repos/oss/ia32/packages/) and first it hung on updating libc. After a reboot it ran through, but after one more reboot the Tablet UX didn't come back up anymore. Didn't investigate it further. I'll most likely use these instructions: http://meego.com/downloads/releases/1.2/meego-tablet-developer-preview and the image for aforementioned weekly.

--Dm8tbr 04:30, 18 April 2011 (UTC)

Connecting Qt Creator to the Device

Go to Tools->Options; then Projects section, MeeGo Device Configurations tab.

Note that the meego user seems to need sudo rights to be able to run the remote execution:

 cat <<EOF > /etc/sudoers.d/su-meego
 meego        ALL=(ALL)       NOPASSWD: ALL
 EOF
 chmod 440 /etc/sudoers.d/su-meego
 sed -i -e's/##includedir/#includedir/' /etc/sudoers

Also, for some reason, /usr/local and /usr/local/bin end up as root:root, mode 770. Fix this with:

 sudo chmod 755 /usr/local
 sudo chmod 755 /usr/local/bin

This looks like it's due to Qt Creator packaging

Old Installation Notes

Warning: both the handset and netbook images running on the ExoPC have some problems as of 1/30/2011. See below. Warning: as with any other device, if you incorrectly reflash the bootloader and/or kernel, you may brick your system.

Sometimes the unit won't boot when a USB mouse is plugged in. An external keyboard doesn't cause the same problems. A mouse can be attached as soon as the MeeGo splashscreen appears. This might be a power problem that would be resolved by a USB hub with an external supply.

Installing the Handset image before the Netbook saves a bit of trouble if both are desired.

The version of parted that is invoked by the MeeGo installers will not resize an NTFS partition, so if you want to preserve Windows, use another partitioning tool before booting the MeeGo USB stick. systemrescuecd worked fine.

The installation described here shrank the Windows partition to the (recommended minimum) 20 GB, then created an extended (logical) partition in the remaining space with a 2 GB swap partition and two primary (Is this right?) partitions of equal size in the remaining space.

Windows may come up and say that the partition table has been corrupted and that it will repair it ;-). The result is that the boot flag is set for the Win System partition, which prevents the extlinux bootloader from starting. To fix the problem, boot once more from the handy systemrescuecd stick and clear the duplicate boot flag from the System partition. Presto: your MeeGo install is again accessible.

Installation

Result of successful partitioning for triple-boot.    Booting Windows may cause it to set the "boot" flag on its System partition as shown here and prevent extlinux from loading.    Boot again with the systemrescuecd stick to clear the duplicate flag.

The ExoPC has an unlocked bootloader, so installation is relatively simple. First prepare a USB stick with the image of your choice. After holding the power button for 4 seconds to start the boot process, touch the "Setup" soft button in the upper-righthand corner of the screen and disable "Quiet Boot." Boot again and touch the "BBS" soft button to manually select your USB drive as the boot device.

The netbook image does not create a useful /boot/extlinux/extlinux.conf file. One way of solving the problem is to install the handset image first, mount the handset image from the netbook image and just copy over the extlinux.conf file. Copy the entry for the handset image over to the end of the extlinux.conf file and change the details in order to create a file that works for all the images, then copy back to the handset image.

Don't forget to run "zypper update" from a terminal window as soon as your image is installed.

Warning: always unmount the USB filesystem before pulling the Flash drive out of the slot.


Handset-specific notes

Touchscreen works great in the as-installed image. WiFi does not. A symptom of the problem is that both the ath9k (correct) and ath3K (wrong) kernel modules are autoloaded at boot time. Edit /etc/modprobe.d/blacklist.conf and add "blacklist ath3k" and then reboot. Unfortunately, WiFi still doesn't come up even though "lsmod" shows the same drivers as on netbook image, whose WiFi works great. "dmesg" says "ADDRCONF(NETDEV_UP): wlan0: link is not ready.

Before WiFi is working the easiest ways to get files onto the handset images are either from a mounted USB stick filesystem or by mounting the MeeGo netbook filesystem read-only and copying. In order to accomplish the latter, type "fdisk -l" to list the existing partitions. Create the directory where the netbook filesystem will be mounted, e.g. "mkdir -p /netbook". Then, assuming your netbook partition is /dev/sdaX and the filesystem type is ext3, enter "mount -t ext3 -o ro /dev/sdaX /netbook". Then "ls /netbook" will display the files on the netbook partition.

Netbook-specific notes

WiFi works great with the as-installed netbook image.

As installed, the netbook image does not have a working touchscreen. The system responds to a screen touch by darkening slightly and moving the cursor to the upper-lefthand corner. The needed driver, hid_egalax, is not autoloaded. Manually loading the driver with "modprobe -i hid_egalax" makes the touchscreen fully functional about half the time. Other times the behavior seems to be unaffected by the driver load.

Netbook trunk (1.2)

Some notes about installing a more recent MeeGo netbook image (I used meego-netbook-ia32-1.2.80.0.20110503.2.img) on ExoPC hardware:

  1. Installation needs an external keyboard, but went smoothly. However, on first boot (where you have to enter default user/password etc.), the external keyboard seemed to cause some power issue (even with the tablet plugged into its adapter), where X respawns too quickly.
    To work around this, I followed these instructions, summarised here:
    1. Plug in USB keyboard.
    2. Boot and start bashing the space key on the external keyboard (to interrupt grub).
    3. In the grub menu, press Tab so you can edit the kernel boot options.
    4. Append ' s' (space then 's', no quotation marks). This will mean you can boot into single user mode before X starts (and the keyboard causes X to continually respawn).
    5. Once you have a console available, run startx to get a minimal X environment.
    6. In the terminal window, run /usr/bin/firstboot. This starts the normal firstboot environment with the keyboard plugged in. Fill in the necessary.
    7. Once you're done with firstboot, back in the terminal, use the halt command to shut down.
    8. You should now be able to boot the tablet with the keyboard plugged in.
  2. Once you've booted successfully, you'll probably need to use the Terminal application to do stuff.
  3. With more recent images, hid_egalax does appear to be autoloaded (see the previous section). However, the pointer behaviour is still a little skittish. I found that installing evtouch stabilised it a bit:
    zypper in xorg-x11-drv-evtouch
  4. To hide the pointer, edit /etc/sysconfig/uxlaunch and add a line like this to the end of the file:
    xopts=-nocursor
    But, once the pointer is gone, it is tricky to put the pointer to the top of the screen to see the toolbar (with links to MyZone etc.). However, if you've got an external keyboard plugged in, you can press the Windows key on the external keyboard to get there.
  5. This one is for those of you interested in running HTML5/JS web apps on netbook: The version of Chromium installed by default on the netbook image is quite old, and behaves pretty poorly for frameworks like Sencha Touch. You can instead install a developer build of Chrome, which works much better.
    1. Install lsb:
      sudo zypper in lsb
    2. Download a developer build of Chrome (to replace Chromium) from
      http://www.google.com/chrome/intl/en/eula_dev.html?dl=unstable_i386_rpm
    3. Install the RPM:
      sudo rpm -i google-chrome-unstable_current_i386.rpm
    4. Run it:
      google-chrome
      NB on first run, it asks you to select a search engine; I chose Yahoo!, as selecting Google didn't work (ironically).
  6. On the other hand, if you're happy with the version of Chromium on the netbook image, and just want to be able to use it with touch, the chromeTouch extension works pretty well. However, this mucks up touch tracking in Sencha Touch.
  7. I had pretty much zero luck getting a decent virtual keyboard to work. I tried matchbox-keyboard, the meegotouch keyboard (Maliit), and fvkbd. matchbox-keyboard and fvkbd at least appeared onscreen; I had no luck with the meegotouch keyboard at all.
    I ended up keeping fvkbd with the following small edits:
    • I changed its .desktop file (/usr/share/applications/fvkbd.desktop) to run the keyboard docked to the bottom of the screen, by changing the Exec line to:
      Exec=fvkbd-gtk -d -l keyboard-s.xml
      (note the extra -d to dock to the bottom of the screen)
    • I also edited the keyboard-s.xml file (/usr/share/fvkbd/keyboard-s.xml) and set the width to 1366 and height to 330 (attributes on the outermost XML element). This makes the keyboard properly span the screen without being truncated (though I didn't work out how to centre the keys on the background)
    To use the keyboard, start the fvkbd application first (from the Applications zone), then the application you want to use. The keyboard then sits on top of the application. This can be useful for emergencies, but it's not really adequate for full, everyday use.
  8. For some reason I couldn't discover, the screen dims when the power lead is unplugged. I was unable to figure out how to prevent this from happening (I tried looking through the BIOS, using xset, looking at upower, tried to turn off acpi etc. to no avail). However, there is a utility for setting the backlight brightness called xbacklight which at least helps you reset the screen brightness (the netbook image has no software control for this, and the tablet has no hardware keys for it).
    Install it with:
    sudo zypper in xbacklight
    Then, to set the backlight brightness to 100%, do:
    xbacklight -set 100
    (Obviously, this is less than ideal. If anyone knows how to permanently prevent the screen from dimming when the power is unplugged, please let me know.)
  9. The ExoPC has a light sensor (tiny rectangle next to the power LEDs in the top left). When it's on, a reduction in the ambient light causes the screen to dim. This can be quite annoying in a British spring as bright sunlight rapidly alternates with storm clouds.
    You can turn off the light sensor temporarily with:
    sudo echo 0 > /sys/devices/platform/asus_laptop/ls_switch
    However, you have to do this manually on each boot. There's probably some way to switch it off permanently, but no one on the internet has written it down. So the easiest thing for me to do was write a script in /etc/init.d/ls_switch to run on each boot (see below).
    Make sure you sudo chmod +x /etc/init.d/ls_switch too.
    With this script in place, set it to run on each boot with:
    chkconfig --add ls_switch
    When you reboot, the light sensor should be off.
# script to go in /etc/init.d/ls_switch
#!/bin/sh
#
# ls_switch	Turn light sensor off
#
# chkconfig: 2345 08 92
# description:	Turns light sensor off on boot
#
#
### BEGIN INIT INFO
# Provides: ls_switch
# Default-Start:  2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: turn off light sensor
# Description: turn off light sensor
### END INIT INFO

# Source function library.
. /etc/init.d/functions

case "$1" in
  start)
	  echo "disabling light sensor"
    echo 0 > /sys/devices/platform/asus_laptop/ls_switch
	  RETVAL=$?
	  ;;
  stop)
    RETVAL=0
    ;;
  *)
    echo "Usage: ls_switch {start|stop}"
    RETVAL=2
    ;;
esac

exit $RETVAL

Acknowledgements

Hat-tip to Bill Pearson of Intel for recommending the ExoPC.

Personal tools