DoudouLinux dev's blog

To content | To menu | To search

Tag - ARM™

Entries feed - Comments feed

Saturday 30 June 2012

Summertime and new builds

“Summertime, and the livin' is easy” (G. Gershwin), especially with DoudouLinux as you now know since this is our main goal ;). We've just uploaded several new dailybuilds to let you test our new features with your children during the long summer break. Here are some screenshots and screencasts:

New interface (2012-04)

MIDI piano keyboard + USB loudspeakers

Fichier vidéo intégré

(download in OGG format, 1.5MB)

You can download the dailybuilds from our Dailybuild download section. The file names follow the pattern doudoulinux-2012-06-*, LiveCD and LiveUSB images are available. We provide these builds in English, French, Italian, Russian and Spanish. An ARM™ version for Genesi Efika is available as well, in English and French only:

  • FR Image : Azerty (Belgian) and French language default configuration.
  • EN Image : Qwerty (US) and English language default configuration.

NB: root password is still efika in ARM™ builds ;-).

Our development version is still under intense work. The main new features are the following:

  • new application Piano Booster, to teach playing the piano
  • audio output selector can now identify HDMI audio outputs
  • automatically connects MIDI piano keyboards to Timidity at hotplug
  • automatically changes the audio output when an USB audio card is (un)plugged
  • automatically changes the monitor/screen when (un)plugged
  • automatically manages removable disks (the file manager is simply shown)
  • updated application icons translation
  • now sends DBus notifications when applications are started/quited

And the main bug fixes are the following:

  • fixed charge_full can be named energy_full on laptops
  • fixed screen brightness changed twice when keys are already mapped in hardware
  • fixed OSD not shown in GDM
  • fixed unable to quit session if the exit button is removed from launcher
  • fixed Timidity not restarted when audio output is changed
  • fixed GHelp issue (solves #462)

Although we still haven't brought all the feature we would like, we are getting closer to the final release that will replace our current stable release named Gondwana. The feature we are really lacking is a real and easy installer that doesn't require to be already installed on the LiveCD. You can help if you want to :). For this reason, the development version will not be turned into the next stable release before September, instead of June as planned initially.

Enjoy :]

Thursday 12 January 2012

DoudouLinux environment on Genesi Efika: we did it!

We're very glad to announce that our work to have DoudouLinux running on ARM™ devices has much progressed during the past few weeks. As shown on the photo below, we're now able to run the full DoudouLinux environment on the Efika MX smartbooks that Genesi graciously offered our project. Although not everything is perfect right now, this is an important step forward on our way to ARM™. We're now planning to upload a first Genesi/Efika disk image quite soon, to let enthusiastic people test and hopefully enjoy :).

DoudouLinux on Genesi/Efika

This work has been achieved by DrEagle for the Debian ARM™ base image and Jean-Michel (me) for the packaging of DoudouLinux tricks that turn a light installation of Debian Squeeze armel into a DoudouLinux environment. DrEagle has worked on writing a generic disk image generation process in order to be able to address any ARM™ hardware in the future. He first focused on producing a standard Debian image and he's now moving on to producing an armel DoudouLinux image directly. In the meanwhile I focused on splitting the DoudouLinux environment tricks into generic tricks and live-specific tricks[1], then put them into standard Debian packages. As a result, installing our latest custom packages should be enough to turn any Debian or Debian-like machine into a DoudouLinux computer, whatever the target architecture (no real test has been performed though ;) ). A dedicated post will be written soon.

Now next steps are the following:

  1. Setup a buildd package server in order to ease our work of releasing binary packages for 4 architectures and 3 distribution code names.
  2. Move from the slow armel port to the faster armhf port[2].
  3. Terminate the migration of the live environment tricks into Debian packages.
  4. Build images for other ARM™ hardware, especially the new Genesi hardware to come.
  5. Prepare our next official, stable release that will be the base for a first official ARM™ release.
  6. Test and debug – not too much we hope!

As you can see there is still quite a long way to go but we've shown that this is not wishes only but rather a matter of perseverance and hardware availability. Of course we're very thankful to Genesi to have supported us in our early ARM™ development stages. We're now eager to test DoudouLinux on the very latest ARM™ hardware available :). Stay tuned!


[1] Recall that DoudouLinux was basically designed to be a LiveCD, not a standard Linux system.

[2] We have to confess that currently the armel port combined with the quite low graphic performances of the old generation of ARM™ smartbooks doesn't allow all the DoudouLinux applications to run smoothly. While there is still uncertainty for real 3D games like SuperTuxKart, we believe that armhf on the latest generation of hardware should lead to a really attractive environment for children and… parents!

Saturday 17 December 2011

New architectures armel and armhf in our repository

Thanks to Genesi who graciously donated smartbooks to our project, porting DoudouLinux to ARM™ has started. It is then time to host new architectures in our Debian package repository: armel for both squeeze and wheezy, armhf for wheezy only.

Although we haven't started to generate ARM™-specific packages, we can first copy our architecture independent packages. The tool reprepro that we're using to make our own repository provides a convenient function flood that copies all the packages of architecture all from one architecture to another, in the same distribution codename. The following command is copying existing squeeze packages of architecture all to armel:

$ reprepro -V --basedir debian/ flood squeeze armel

As the previous command is not talkative at all, let's check it worked well:

$ reprepro -V --basedir debian/ --architecture armel list squeeze
squeeze|main|armel: childsplay-session 1.1-1
squeeze|main|armel: dansguardian-squid 1.0-2
squeeze|main|armel: doudou-hwreport 1.1-1
squeeze|main|armel: doudou-icons-extra 1.0-1
squeeze|main|armel: doudou-installer 1.0-3
squeeze|main|armel: doudoulinux-base 1.0-2
squeeze|main|armel: doudoulinux-desktop-environment 1.0-2
squeeze|main|armel: doudoulinux-dev-artists 1.0-1
squeeze|main|armel: doudoulinux-dev-build 1.0-1
squeeze|main|armel: doudoulinux-dev-l10n 1.0-1
squeeze|main|armel: doudoulinux-dev-system 1.0-1
squeeze|main|armel: doudoulinux-games 1.0-1
squeeze|main|armel: doudoulinux-keyring 2011.01.10
squeeze|main|armel: doudoulinux-kids 1.0-2
squeeze|main|armel: doudoulinux-mouse 2.1-1
squeeze|main|armel: doudoulinux-multimedia 1.0-2
squeeze|main|armel: doudoulinux-sessions 1.1-1
squeeze|main|armel: doudoulinux-sound 2.1-1
squeeze|main|armel: doudoulinux-splashimages 1.0-4
squeeze|main|armel: doudoulinux-timezone 1.0-2
squeeze|main|armel: doudoulinux-utils 1.4-1
squeeze|main|armel: doudoulinux-work 1.0-2
squeeze|main|armel: empathy-salut-nickname 1.0-3
squeeze|main|armel: epiphany-adblock-lists 1.0-1~20111122
squeeze|main|armel: gamine-session 1.0-3
squeeze|main|armel: gcompris-session 1.0-3
squeeze|main|armel: gdm-theme-doudoulinux 1.2-1
squeeze|main|armel: gnome-backgrounds-doudoulinux 1.0-3
squeeze|main|armel: grub-splashimages-doudoulinux 2.0-1
squeeze|main|armel: kde-l10n-doudou-es 4:4.4.5-1
squeeze|main|armel: kde-l10n-doudou-fr 4:4.4.5-1
squeeze|main|armel: kde-l10n-doudou-it 4:4.4.5-1
squeeze|main|armel: kde-l10n-doudou-ru 4:4.4.5-1
squeeze|main|armel: live-boot 2.0.15-1doudou1
squeeze|main|armel: live-boot-initramfs-tools 2.0.15-1doudou1
squeeze|main|armel: live-persistence 1.0-7
squeeze|main|armel: liveusb-write 1.0-14
squeeze|main|armel: lxlauncher-session 1.8-2
squeeze|main|armel: plymouth-themes-all 0.8.3-20doudou1
squeeze|main|armel: plymouth-themes-doudoulinux 1.0-1
squeeze|main|armel: plymouth-themes-fade-in 0.8.3-20doudou1
squeeze|main|armel: plymouth-themes-glow 0.8.3-20doudou1
squeeze|main|armel: plymouth-themes-script 0.8.3-20doudou1
squeeze|main|armel: plymouth-themes-solar 0.8.3-20doudou1
squeeze|main|armel: plymouth-themes-spinfinity 0.8.3-20doudou1
squeeze|main|armel: pysycache-session 1.0-4
squeeze|main|armel: python-editobj2 0.3-1.1
squeeze|main|armel: songwrite2 0.4.1-1+0.4.2
squeeze|main|armel: soundsetting-session 1.0-1
squeeze|main|armel: tbo-common-data 0.98~git20110321-0doudou2
squeeze|main|armel: tbo-data-doodle-accesories 0.98~git20110321-0doudou2
squeeze|main|armel: tbo-data-doodle-all 0.98~git20110321-0doudou2
squeeze|main|armel: tbo-data-doodle-arcadia 0.98~git20110321-0doudou2
squeeze|main|armel: tbo-data-doodle-bubble 0.98~git20110321-0doudou2
squeeze|main|armel: tbo-data-doodle-dgm 0.98~git20110321-0doudou2
squeeze|main|armel: tbo-data-doodle-doodle1 0.98~git20110321-0doudou2
squeeze|main|armel: tbo-data-doodle-facilware 0.98~git20110321-0doudou2
squeeze|main|armel: tbo-data-doodle-guadalinex 0.98~git20110321-0doudou2
squeeze|main|armel: tbo-data-doodle-linuxhispano 0.98~git20110321-0doudou2
squeeze|main|armel: tbo-data-doodle-political 0.98~git20110321-0doudou2
squeeze|main|armel: tbo-data-doodle-southpark 0.98~git20110321-0doudou2
squeeze|main|armel: tbo-data-doodle-tbo 0.98~git20110321-0doudou2
squeeze|main|armel: ttf-lohit-font 2.4.6-1
squeeze|main|armel: tuxpaint-session 1.1-1

Everything is fine :). So now we can copy the squeeze packages to wheezy, still for the architecture all. The tool reprepro provides another convenient function copy that performs copies across different distribution code names. As we want to copy the architecture all only, we'll feed this copy command with the list of packages from the newly created armel architecture in squeeze:

$ reprepro -V --basedir debian/ copy wheezy squeeze \
    $(reprepro -V --basedir debian/ --architecture armel list squeeze | cut -d ' ' -f 2)

Finally, as wheezy has armhf while squeeze doesn't, we need to use flood again to populate armhf in wheezy:

$ reprepro -V --basedir debian/ flood wheezy armhf
$ reprepro --basedir debian/ list wheezy tuxpaint-session
wheezy|main|i386: tuxpaint-session 1.1-1
wheezy|main|amd64: tuxpaint-session 1.1-1
wheezy|main|armel: tuxpaint-session 1.1-1
wheezy|main|armhf: tuxpaint-session 1.1-1
wheezy|main|any: tuxpaint-session 1.1-1
wheezy|main|source: tuxpaint-session 1.1-1

That's it! Our first ARM™ repository is online and can be tested. Note however that all the wheezy packages may not be relevant (eg. Plymouth packages or KDE language packages). The objective is to start to play with packages that are really DoudouLinux-specific. Later we'll work on refining our ARM™ repository. We also plan to move it to a custom buildd server to avoid all the manual operations that reprepro is currently needing.

Saturday 19 November 2011

Efika MX SmartBook

Here they are,

3 Genesi Efika MX SMARTBOOK for the DouDouLinux Dev Team.


Thanks again to Genesi for supporting us in this challenge.


Just needed some work now from the dev team to make the first DouDouLinux release available on ARM.

Sunday 13 November 2011

Source package repository now online

We've been providing a DoudouLinux Debian repository for binary packages since the beginning of the project but no source package repository. As we're now part of Debian Derivatives and as we're also moving to ARM™ architecture, we needed to setup a source repository too. For Debian Derivatives, this will allow our father project Debian to automatically fetch all our patches of standard Debian packages. For our ARM™ port, this will ease the compilation of binary packages targeting either the armel or armhf flavor.

Our source package is now online, although it is not complete yet. It can be fetched using the standard way to add source repositories, in /etc/apt/sources.list or /etc/apt/sources.list.d/:

deb-src lenny main
deb-src squeeze main

The source repository is completed for the stable version of DoudouLinux, based on Debian Lenny. The development branch, based on Squeeze is not completed yet, due to difficulties to deal with the new package format Quilt 3. Most of packages have their sources for the development version however :). Finally we now have to set up an experimental branch based on Wheezy to be able to build armhf packages (only armel can be built upon Squeeze).

The way we built the source repository consisted in changing first our package build script to make it automatically generate and collect source packages, then our repository build script to make it handle source packages too. To build the Debian repository, we're using reprepro, an official Debian tool which is quite simple to use:

  1. Create a directory for your Debian repository, say debian/.
  2. Create a file debian/conf/distributions that sets your repository parameters (name, architectures, codename, etc.).
  3. Invoke reprepro for each package to be added, with the options matching your package.

For a binary package:

reprepro -V --basedir debian/ --architecture <arch> includedeb <codename> <debfile>

where <arch> is i386, amd64, armel, etc., <codename> is your distribution codename and <debfile> the binary package to be added.

For a source package the command is slightly different:

reprepro -V --basedir debian/ --type dsc includedsc <codename> <dscfile>

where <dscfile> the DSC file of your source package. It will copy the corresponding .tar.gz file and .diff.gz file (whenever available) that are used to restore the patched source code.

In the future we intend to setup a buildd or buildd-like server that will build all our packages transparently, automatically from source code, whatever the target architecture and the distribution flavor. This way we won't have to do manual operations to update our repository any more.

Saturday 5 November 2011

Genesi supports DoudouLinux ARM™ port

Genesi logo We are very glad to announce that Genesi, which makes computing products using ARM™ and Power Architecture™ technology, has accepted our project DoudouLinux in its latest sponsorship program around the i.MX53 chip from Freescale. The team will benefit from Genesi hardware, graciously donated to help us port DoudouLinux on ARM™. Moreover, as Genesi is already running Debian on its ARM™ devices, this collaboration will undoubtedly speedup our work :).

This first partnership is just the beginning of our move to ARM™ architecture. As this platform is quickly increasing in popularity, we have understood during the early stages of the project that we could not miss this opportunity to provide children all around the world with adapted, efficient, easy, pleasant and… free software. Of course any volunteer willing to help the project is welcome! We are impatient to have DoudouLinux on ARM™: the more developers we are, the faster it will occur.

Stay tuned!