EmbeddedUbuntu

Revision 2 as of 2005-10-31 23:05:31

Clear message

Summary

Create an Ubuntu derivative suitable for use on embedded systems.

Rationale

There are over 1 billion mobile phone users worldwide and over 2 billion connections. Such mobile devices, PDAs and new ones such as Internet Tablet could be of more use to a wider population, mostly to those who cannot afford paying high prices to have multimedia application on their hands. Since Ubuntu principle is to have Linux for human beings, to embed Ubuntu into such mobile devices is the fundamental basis to have not only people connected but humanly connected.

Use cases

  • Maria and her class mates of a primary school in Itaunas, a fisher village in the Southeast of Brazil, need to make up their report on how to protect the environment of dolphins to other children in Sao Paulo who never saw a dolphin in their lives. They've just being awarded a set of Internet Tablets to build their content, to be recorded in a digital camera,but it came with WindowsCE and they don't have the proper license to do this. Jeff arrives in the village for some days vacation of his Ubuntu World evangelist tasks. He heard in the local community about this problem. Then he grabs his "Ubuntu evangelist kit" and goes to the school, teaches about Ubuntu and install it on their devices through an USB port and a DVD portable driver. The kids use *Mobile EduUbuntu* (a light version of EduUbuntu) and through WiFi connection they send their content (5 minutes video) to a 3G mobile phone of their teacher who sends the content to the school in Sao Paulo.

  • Medicins Sans Frontier (MSF) will run mobile clinics in Karbi and Dimasi (eastern part of India) as MSF have a good relationship with both sites that are under a violent ethnic conflict. A powerful company have distributed PDAs to both sides to connect their students and help the process of learning respect for each other. However, license issues come as an obstacle and only those few, which are a minority, who can upgrade their software will be able to communicate, although they are connected. Jeff learns about this problem from a friend of him, who works for MSF. He teaches his friend about Ubuntu principles and its tools[$B!G[(B wider possibilities of making better user of technology. His friend receives a DVD from Jeff, installs Ubuntu and EduUbuntu in the PDAs so that children can start talking to each other and share their knowledge about different ethnics, religions etc.

  • Miriam is a family practice physician who works on a remote village in Ghana, West Africa. She is the only physician available to all the population in that area. She has only being there for a year and still lacks the experience of many years working on another country and dealing with Tropical diseases. One day she gets a young patient and after examining him she can only narrow down his malady to three possibilities. But she is unable to find definite information on her few medicine dermatology books to help her make the diagnostic. However, she knows she can find help if she could contact a specialist, a dermatologist she knows in Accra, Ghana's capital city. She installed Ubuntu on her PDA to access his office and discuss online with him about the three possibilities. The dermatologist makes the differential diagnostic in a few minutes and Miriam can already start the correct treatment. One more life, much less suffering, because of it was possible to reach someone who had the knowledge to help.

Scope

EmbeddedUbuntu will initially cover only ARM-based platforms, preferibly with a LCD display. This includes, for instance, PDA's and Internet Tablets.

Design

Implementation

  • Minimal System
    • Create a minimal seed, using GPE as graphical environment and select some user applications (e.g. EduUbuntu).

    • Use the seed above to generate the list of packages to be imported from Debian ARM distribution
    • Implement a cross-installation system:
      • - Create a package that contains a statically linked version of QEMU ARM user emulator (qemu-arm-static) - Use dpkg-cross to install the ARM libc6 package on the host (usually not ARM-based). - Use the binfmt_misc kernel module to support running ARM binaries on non-ARM platforms, using QEMU as interpreter - Modify debootstrap to properly work for cross-bootstrapping, allowing us to create a minimal bootstrap system
    • Implement dpkg hooks that strip documentation and other files not necessary for running applications to reduce the final image size
    • Investigate a method to create system images to be flashed on the mobile device.
    • Package the rest of GPE modules not yet on universe.
  • Cross-Compile Linux kernel and bootloader to specific platforms
  • Distribution Mechanism: Create installation CD with tools needed to flash the generated system images on mobile devices
  • Integrate **lightweight EduUbuntu** applications

Code

Data preservation and migration

Outstanding issues

QEMU should be intensively tested for full system installation.

BoF agenda and discussion