A collection of useful information for MID and Moblin developers
Gathered from the [Moblin Dev] mailing list by Dale Taylor
Last updated: 09Oct2008
Keywords: FAQ, Moblin, MID, USB, Live. Bootable
To sign up directly to receive mail sent to this list, go to http://www.moblin.org/community
You can search the public mailing list here: http://www.moblin.org/community/mailing-lists
> I would like to configure a "Live USB" image to boot without asking for the user to press enter.
At this point I believe all platforms are using syslinux as the bootloader for LiveUSB images.
It's just a matter of setting the correct arguments in the syslinux.cfg file that sits on the USB key. IIRC there is a timeout argument, but the full details are available at:
http://syslinux.zytor.com/wiki/index.php/SYSLINUX
> What is Moblin 2.0?
Moblin in 2007-2008 was for MID and used by RedFlag (midinux) and Ubuntu (UME). The next generation of devices (2nd half of 2008 and beyond) are using Moblin v2. The exact definition of libraries that make up the Moblin v2 stack will be available in the next few months but will probably be somewhat LSB-like with additional requirements for features that highlight the capabilities of the new generation of hardware.
> How to create a Moblin 2.0 MIC project?
A couple of comments. Moblin v1 and v2 both have GTK and Clutter (see http://clutter-project.org/). Moblin v1 used Hildon application framework. Moblin v2 will not use Hildon. Although Moblin v2 is not fully specified, you can create applications that will work for both Moblin v1 and Moblin v2 based devices by using GTK with Clutter for animations and other 2D/3D visual effects.
For development, you can just write applications on your PC using your favorite tools and IDE. To run this within a Moblin v2 environment, do the following:
1) Install MIC and create a Target:
http://www.moblin.org/documentation/creating-projects-and-targets
2) Add your application and any development libraries you want in the target to debug your application:
http://www.moblin.org/documentation/customizing-your-target
A brief explanation is necessary here. Moblin is an open source project, not a product. There are several commercial Linux distributors that create products based on technology that comes from the Moblin project. Midinux from Red Flag is one of them, Ubuntu Mobile from Canonical is another for MIDs - there are other vendors working in different market segments such as
netbooks and in-vehicle infotainment systems.
In the process of creating a product, the operating system vendor (OSV) will typically add components on top of the Moblin stack. A good example of this is in the area of applications - there are many more applications bundled with Midinux than if you did a vanilla build of Moblin using Moblin Image Creator.
In addition, the OSVs may replace components that do not effect application compatibility. An example of this is the web browser. Moblin provides a Mozilla-based browser called MID Browser. Midinix includes a different Mozilla-based browser called Coolfox.
So, the term we use for Linux distributions that are based on Moblin technology is Moblin compatible. Applications that are designed for use on one Moblin compatible distribution should be able to be run on another – at most, a simple re-compile or repacking is all that is necessary. At best, no changes are required at all.
If you want to, you can build an image using Moblin Image Creator and blow away the OS that ships on the device but you probably don't need to do so.
> - I don't require it to use Moblin or Clutter - but can I do 3D on Midinux?
I believe that Midinux includes OpenGL but someone from RedFlag would be in a better position to answer this question. The underlying hardware in the Poulsbo chipset supports full OpenGL.
> - Is Midinux a Moblin distro? It's referred to as 'Moblin core' in various places.
Yes, Midinux is based on Moblin.
> - This is Menlow, not McCaslin, right? MIC docs suggest McCaslin for Jax10*
The Gigabyte and JAX10 are Menlow based platforms.
> - Does the chipset come with a fully wired-in PowerVR/SGX535?
The Poulsbo chipset has hardware acceleration for 3D. It supports full OpenGL, not the OpenGL ES subset.
> - Are there OpenGL|ES 2.0 drivers for the PowerVR/SGX535?
I believe that Midinux includes the OpenGL 3D accelerated drivers for the Poulsbo chipset.
> - Can I get APIs (*.h/lib), not just for GL, but phone/SIM/texting, camera, GPS?
Many of these APIs are currently outside the scope of the Moblin definition. RedFlag probably has their own APIs for accessing these functions so I recommend you touch base with them. Since these APIs are not part of the Moblin definition, it is likely that use of them will not
be portable to other devices that are running Midinux.
> - How do you publish your applications for users to download?
There is current no formal program for publishing applications but I am sure subscribers to this list would be anxious to hear about any cool apps you create.
> - Is there an application signing process to go through?
The decision on whether or not to allow additional packages to be installed on a device is made on an OEM by OEM basis - some devices will be completely open so you can "apt get" or "yum install" to your heart's content; others will be more restricted in what they will allow end users
to do.
This is an OEM and service provider decision. Some devices will be completely open, some will be more restrictive. You need to check with your service provider or device manufacturer to know for sure.
> I spotted this rather sad recent post from Alexander Lopatin of Intel:
>
> RE: Compal JAX10 MIC images don't work?
> http://v1.moblin.org/pipermail/dev/2008-August/002516.html
>
> Which suggests that all the drivers are closed or unavailable, or just don't work:
> Touch screen, Wifi, 3D, cameras, 3G, GPS, sound, brightness
Alexander's comments should be taken in the context of Moblin, not in the context of a specific product. Because Moblin is an open source project, we want to provide fully open source drivers.
As a data point, on the Compal JAX10 I have running Midinux, the touch screen, WiFi, camera, sound and brightness work fine - my device does not have GPS or 3G so I can't speak to those from personal experience. I'm not sure about the 3D because I don't think any of the apps on the platform are 3D enabled but I would expect the 3D HW acceleration is enabled.

Comments
Are applications developed by one OSV compatible accross all other OSVs? If not, what are tweaks in general that one should engage in to make it work?
Agustin
Hi All,
I need help from you regarding integrating applications ( developed in Brew) in MIDINUX.
Where can I get details of midinux SDK( in English language) and the MIDINUX Framework ?
Can you please provide me some link to get the details of all the APIs implemented in this framework.
ajay