Meego Wiki
Views
From MeeGo wiki
< Devices
Revision as of 12:46, 10 May 2011 by Elliot (Talk | contribs)
Jump to: navigation, search

ExoPCs were given out at the MeeGo Summit.fi in Apr 2011.

Contents

How to install latest MeeGo Snapshot


MeeGo Summit.fi Machines : Update Repos

The MeeGo Summit.fi 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:

  • 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.
  • Once you've booted successfully, you'll probably need to use the Terminal application to do stuff.
  • 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
  • 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.
  • 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.
    • Install lsb:
      sudo zypper in lsb
    • Download a developer build of Chrome (to replace Chromium) from
      http://www.google.com/chrome/intl/en/eula_dev.html?dl=unstable_i386_rpm
    • Install the RPM:
      sudo rpm -i google-chrome-unstable_current_i386.rpm
    • 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).
  • 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.
  • 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.

Acknowledgements

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

Personal tools