Thursday, August 06, 2009

Touchscreen = fail?

Do you have a touchscreen that isn't working in Ubuntu? We need your help!

We are trying to get as many touchscreens working as possible for Karmic.
Bug #317094 is attempting to collect hardware information about these them. As a first step, we'd like to enable the ones that can use the in-kernel usbtouchscreen driver.
  • Do you have a touchscreen?
  • Is it connected over USB? (lsusb is your friend)
  • Get the vendor and product id of the USB touchscreen (lsub)
  • Load the usbtouchscreen module and add the new id to it through sysfs
A made-up example follows (I don't have a touchscreen handy, sorry!)
  • example output from lsusb
Bus 005 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
  • 0483 is the vendor id, 2016 is the product id
  • sudo modprobe usbtouchscreen
  • sudo sh -c "echo 0483 2016 > /sys/bus/usb/drivers/usbtouchscreen/new_id"
Replace the vendor and product id with what you found from lsusb.

If this makes your touchscreen work in Karmic, please reply on the bug with the ids and name of the touchscreen.

Wednesday, June 24, 2009

Speeding up boot on an upgraded system

So I have a laptop that I've been upgrading since Hardy (currently on Karmic Alpha) that I would like to boot faster. It has probably accumulated a lot of crufty daemons along the way that probably aren't being pre-loaded into memory. I picked up this tidbit from the fast boot expert. Add profile to your kernel command-line (at the grub prompt, press Esc e and then edit the line). This will update your system's readahead file list after a lot of disk churn. On my machine, it sped up boot by only about 5 seconds, but YMMV.

Also, if you have a machine or netbook with SSD (flash) disks, sreadahead might give you a boost. Again, apt-get install sreadahread is your friend
. sreadahead also schedules profiling of the system every month-or-so, so it keeps those boot-essential programs in the readahead cache always.

Friday, February 13, 2009

Ubuntu kernels, vanilla kernels, kerneloops

First, go read Pete's summary about the going-ons in Jaunty kernel-land.

The only bit I would like to add is to install the kerneloops package. This nifty little application will scan your logs for any crashes/warnings in the kernel and report them upstream as well as to Launchpad. This helps upstream and Ubuntu developers get an idea of what bugs a vast majority of their users sees and allows them to prioritize their time.

We are working toward getting it installed by default for beta, but for those of you that upgrade and keep a tight rein on what's installed please consider installing kerneloops.

sudo apt-get install kerneloops

Friday, January 23, 2009

Recipe of the day: Cross-compiling armel kernels

ARM kernels can be very slow to bake because:
  1. ARM HW can be memory constrained so Native compilation is slow
  2. Setting up Native compilation for several boards is rather painful, if you, like me, have to compile several flavours everyday.
  3. Compiling under QEMU is mind-numbingly slow
Here, we bake all the Ubuntu ARM kernels using a single command on you x86 PC using a cross-compiler.

  1. A x86 machine running Ubuntu
  2. A ready-to-use cross-compilation toolchain
  3. Something software to compile, say, a kernel
  • Get an ARM toolchain and set it up
I was too lazy to compile mine and got one from CodeSorcery. I used the 2008q3-72 tarball.

Untar it someplace in your $HOME, say $HOME/work/toolchains. You should now have a directory $HOME/work/toolchains/2008q3-72/bin with your cross-toolchain binaries.
  • Download the Ubuntu kernel
cd $HOME/work
git clone git://
cd ubuntu-jaunty

  • Compile the kernel
debuild -eCROSS_COMPILE=arm-none-linux-gnueabi- --prepend-path=$HOME/work/toolchains/arm-2008q3/bin -b -aarmel
  • Bake it
Let it bake for an hour or two, depending upon the speed of you oven^Wprocessor. If everything goes according to plan, you should have several .deb cookies for the various ARMel flavours of the Ubuntu kernel. Enjoy and share with friends and family.