DoudouLinux dev's blog

To content | To menu | To search

Wednesday 15 April 2015

Nightly builds for translation packages

One of the issues our translation team has been facing for a while, was the long delay between the moment at which translations of messages are recorded on Transifex and the moment at which they are available in a stable release of DoudouLinux. This issue was highlighted more than one year ago as a potential cause for motivation loss of our translators (now more than 200 people working on 50 languages!). One of the proposed solution was to automatically fetch translation updates from Transifex every night in order to build nightly updates of all the translations, using the standard Debian package system (“apt-get upgrade”). This solution is now active: new translations should be available to every one the day after they are recorded on Transifex :). Instructions can be found on our website.

To achieve this, we set up a dedicated repository for our nightly Debian packages, that we called “DoudouLinux volatile”. It provides 2 types of packages: doudoulinux-l10n for applications, doudoulinux-icons for icons on the desktop of the most advanced activities. Around 00:30 GMT every night, a script is launched on our build server. It will offer newer updates packages two hours later whenever a message has been detected as changed or new on Transifex. Of course this assumes we can get all the modified files from Transifex without being blocked by their anti-DOS attack system (which already happened during our tests). May this happen, we would have one day or more of additional delay before publishing translations updates.

How does it work? The server owns a local copy of several branches from our SVN code repository and is able to query Transifex servers using their Python client application (CLI client). The process of building package updates is the following:

  1. SVN files are re-synchronized with the HEAD version.
  2. If SVN updates cause translation files to be updated (PO/TS files), any previous local change in these files is first reverted.
  3. All the PO/TS files get updated from Transifex[1].
  4. A Python script determines if there are really changes in message translations[2]. Insignificant changes are reverted.
  5. If there were real changes in message translations, doudoulinux-l10n packages are rebuilt with a package name containing nightly and the date of the day.
  6. If translations of icons have been changed, doudoulinux-icons packages are rebuilt too.
  7. New packages are registered into a Debian repository structure using reprepro, with key signing.
  8. The repository is made available through an Apache web server.

The main build script is on our SVN server: server/build/l10n-updates. It relies on several other scripts that have been adapted or rewritten:


[1] 77 resources × 50 languages = 3850 files, at least!!!

[2] Transifex may just change metadata like author or date

Wednesday 20 February 2013

Booting a DoudouLinux ISO from an USB key

The current stable version of DoudouLinux, Gondwana 1.x, requires to download a different file if you want to burn a CD or to write an USB key. Since Grub2 is now able to boot the kernel image that is contained into an ISO file, it is possible to boot a Live ISO written onto an USB key and then to only use the ISO file whatever the target support. This is of course very practical but doesn't work on Debian Squeeze Live images without a dedicated patch called findiso. We have included this patch in the latest development release, 2013-02, that will be turned into the next stable release Hyperborea 2.0 around April/May. Doing so provides several advantages:

  • Only one file to be downloaded, per language.
  • Easy system update on the USB key: just replace the ISO file with the newer one! (and update Grub parameters)
  • A single FAT partition can be preserved on the USB key, allowing the normal use of an USB key, especially on capricious systems that can only read FAT :p (do you really keep using these old-fashion systems???).
  • Ability to have several flavors of DoudouLinux on the same key, for example the stable release and the development one, or several languages.
  • Does not require to reformat the USB key and then should lead to better R/W access performances by preserving factory settings.

Of course it is better for DoudouLinux developers too since we don't need to test the USB image anymore. This also solves the issue we had with isohybrid images that don't run on every computer and also broke our persistence activation tool… So now let's see how to take benefit of this new feature :). Beware: the process to turn an ISO file into an USB live system is done from the command line! Ready?

Installing Grub2

NB: Here we are using Grub2 from a Debian system but, if you don't care about copying the kernel image and its ramdisk onto the USB key too, this should also be possible to use any other bootloader (no test ever achieved though).

You need to have Grub2 installed in your system. If not, install the corresponding package. A particularity of Grub2 is that it doesn't fit anymore on the very small 512 first bytes of a disk. It has then 2 alternatives:

  • If the first partition starts at the cylinder number 1 instead of number 0, there may be enough space after the first 512 bytes for Grub to copy all its files. As they are outside any partition, they should be preserved from any modification.
  • If there is not enough space before the first partition, Grub uses sectors in the first partition and records their position in the first 512 bytes. Of course the file system in the first partition may move these sectors without Grub knowing, this is then not 100% reliable.

If you are in the second situation and want to change to the first one, you have no other choice but reformatiing your USB disk. Grub displays a message during its installation when you are in the second situation.

So now let's install grub onto the USB key. We need to mount it and launch the Grub installation command:

$ sudo mount /dev/sdx1 /mnt/
$ sudo grub-install --force --no-floppy --root-directory=/mnt/ /dev/sdx

That's it! Take care of replacing the USB device path /dev/sdx by the actual path of your key ;).

Making the USB key bootable

(update of 2013/02/21)

Your USB key will probably not boot if you don't set its partition as active, the so-called boot flag. This operation can be quickly achieved with fdisk. First start fdisk onto your USB key:

$ sudo fdisk /dev/sdx

You should get a prompt. Type p to display information about your disk partitions:

Command (m for help): p

Disk /dev/sdh: 2 GB, 2070216704 bytes
64 heads, 62 sectors/track, 1019 cylinders
Units = cylinders of 3968 * 512 = 2031616 bytes

   Device Boot      Start         End      Blocks   Id  System 
/dev/sdh1               1        1019     2021665    b  FAT32
Command (m for help): 

As you can see, the boot flag (second column of the partition information table) is not set since there is no * sign in this column. So in the fdisk prompt, type a to activate the partition. fdisk will ask you to enter the partition number (ie. 1). You then just need to write the partition table by pressing w:

Command (m for help): a                                                   
Partition number (1-1): 1                                                 
Command (m for help): w                                                   

Copying files

You can now copy the ISO file – it takes few minutes, the Unicode font and the Grub background image:

$ sudo cp doudoulinux-2013-02-fr.iso /mnt/boot/
$ sudo cp /usr/share/grub/unicode.pf2 /mnt/boot/grub/
$ sudo mkdir /mnt/boot/grub/splash
$ wget
$ sudo mv witch-knight-grub.png /mnt/boot/grub/splash/background.png
$ sudo sync

We have chosen to put all the files into the /boot directory that Grub made, but you can choose any other directory on your USB key. The Unicode font is required if you want translated messages in the Grub splash screen. So now everything is ready to get DoudouLinux boot, except that Grub hasn't been configured…

Setting Grub2, quickly

The Grub configuration must be placed in the file “/mnt/boot/grub/grub.cfg” that does not exist yet. A very basic setting of Grub2, to start the ISO, is the following:

set timeout=5
set default=0

menuentry "DoudouLinux testing 2013-02" {
  set isofile=doudoulinux-2013-02-fr.iso
  loopback loop /boot/$isofile

  linux (loop)/live/vmlinuz findiso=boot/$isofile boot=live config locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-variant=oss keyboard-options=grp:alt_shift_toggle,terminate:ctrl_alt_bksp utc=yes timezone=Europe/Paris nox11autologin quiet splash nomodeset video=uvesafb:mode_option=640x480-16,mtrr=3,scroll=ywrap persistent persistent-subtext=doudoulinux username=tux hostname=doudoulinux
  initrd (loop)/live/initrd.img

Of course isofile is the name of the ISO you want to boot, change it to fit your needs! In these settings we tell Grub to mount the ISO file so that he can access the kernel image and the ramdisk image file into it. This feature is only needed to launch the kernel with the minimalistic system in the ramdisk. This minimalistic system will then use the boot parameter findiso to find the ISO file and mount it into the final Linux system, DoudouLinux.

If you wonder how we could have written so long a boot parameter line, well, that's just the LiveCD boot line with few arguments removed or added :). To retrieve it, mount the DoudouLinux CD and look in the file “isolinux/live.cfg”. Note that you may have to change the localization parameters of this boot command for your particular use:

  • locales → your language settings
  • keyboard-layouts → your keyboard layout
  • keyboard-variant → your keyboard variant
  • keyboard-options → your keyboard options
  • utc → whether your computer clock is UTC or local time
  • timezone → your timezone

Don't forget to unmount your key:

$ sudo sync
$ sudo umount /mnt/

So now you should have a booting USB key that launches DoudouLinux, except that the Grub screen is not very nice. Let's see how to improve this.

(update of 2013/02/21) NB: once you've launched DoudouLinux on your USB key, you can use its persistence tool to make a persistence file on the USB key so that your DoudouLinux system won't loose user's work :).

Setting Grub2 for real

In the following Grub configuration file we have added:

  • language settings, to get translated Grub messages
  • video modules to show the background image
  • colors and background image
  • classes to the DoudouLinux system entry, in case you want to graphically customize this entry

This is a bit more complicated but the result is as expected: a graphical boot as early as Grub! You now have no reason to not have DoudouLinux everywhere with you since it can also be on your USB stick of everyday use :).

set lang=fr

set timeout=5
set default=0

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
  insmod png

if loadfont /boot/grub/unicode.pf2 ; then
  set gfxmode=640x480
  insmod gfxterm
terminal_output gfxterm

set locale_dir=/boot/grub/locale
insmod gettext

if background_image /boot/grub/splash/background.png; then
  set color_normal=black/black
  set color_highlight=black/white

menuentry "DoudouLinux testing 2013-02" --class doudoulinux --class gnu-linux --class gnu --class os {
  set isofile=doudoulinux-2013-02-fr.iso
  loopback loop /boot/$isofile

  linux (loop)/live/vmlinuz findiso=boot/$isofile noeject boot=live config locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-variant=oss keyboard-options=grp:alt_shift_toggle,terminate:ctrl_alt_bksp utc=yes timezone=Europe/Paris nox11autologin quiet splash nomodeset video=uvesafb:mode_option=640x480-16,mtrr=3,scroll=ywrap persistent persistent-subtext=doudoulinux username=tux hostname=doudoulinux
  initrd (loop)/live/initrd.img

Monday 18 February 2013

A new installer for DoudouLinux

The latest development release 2013-02 is shipping with a totally new installer that can perform a real installation of DoudouLinux onto disk, USB disks included. This was a feature really wanted since the current stable release 1.x can only perform a copy of the Live system onto disk while wiping its entire content. Our new installer can do repartitioning and multi-boot, it is indeed a fork of the Linux Mint installer (thanks Mint!) with many improvements to fit our needs. Of course it will be part of the next stable release 2.0 due to April/May. In the meanwhile, we propose you to give it a try[1]. and tell us your feelings :).

What the installer does

Unlike the fake installer of 1.x, this installer will create a real Linux system, fully modifiable and with the Live stuffs removed. As a result, it requires a bit more space than the 1.x version to be installed, around 3 GB instead of 1.1 GB, the size of the development version DVD. The installer lets you set the following parameters:

  • System language
  • Timezone
  • Keyboard layout and model
  • Main user, with sudo privileges
  • Selection of disk to install onto
  • Selection of disk partitions or automatic partitioning
  • Manual repartitioning if needed
  • Hardware clock set to UTC or not
  • Grub2 bootloader installation

All of that is performed from within a nice graphic interface as you'll see below on the screenshots. One of the improvements we brought is a wizard mode for people who want to entirely wipe their disk but don't want to bother with partitions. In this case, once the disk is selected, it is automatically repartitioned into 3 partitions: root, home and swap. Unlike many automatic partitioning tools (or mainstream OS'es :p), we want users to be able to reinstall their system without loosing their data!

The installation process itself consists in copying the files from the Live system to the target partitions. It lasts about 5 minutes on a quite old laptop (2005), running DoudouLinux from a Live USB key. After files have been copied, the installer chroots into the new system to perform final adjustments (applying settings, creating the user, removing the installer, setting the network configuration, etc.). The system is then ready to be restarted. No network connection is required during the installation, this was a requirement for countries in which Internet is quite rare.

Using the installer

So now let's use this new installer :). First of all you need the development version 2013-02 of DoudouLinux. It is very stable but may be still lacking of translations. As DoudouLinux is intended for children while providing as much safety as possible for parents, the installer is not easily accessible with the mouse or at boot. It is then not available as an icon or a menu entry, you have to start the console in the most advanced activity “Whole DoudouLinux” and type:

$ sudo live-installer

After few seconds, the first screen is displayed, this is the system language setting:

Installer – language settings

Just choose your country and go to next screen, the timezone setting:

Installer – timezone selection

You can either click on the map or select your timezone in the dropping menu, so quite easy too. Once you're done, next screen will let you set your keyboard:

Installer – keyboard settings

This is a bit more complicated since there are many possible keyboard variants. First choose your country, this will change the list of keyboard variants on the other side of the selection box. Then select a variant, this will update the keyboard keys on the graphical keyboard representation. Some variants don't change the main key associations (lowercase and uppercase letters, drawn in white and green) but just the alternate keys (in blue), obtained while pressing the AltGr key. In this case you have to choose the layout that looks the most practical for you.

Finally you may also want to select a particular keyboard model in the list on the bottom of the screen. While choosing a wrong model should not prevent you from using your keyboard, choosing the correct one may let you access particular features of your keyboard. Let the default choice if you don't want to bother with this parameter.

Once you're done, go to next step, the user information:

Installer – user information

The installer will remove administrative rights from the DoudouLinux activities (except for settings like the audio output or printers). As a result, a user has to be created to be given these rights, this is the purpose of this screen. Although the user's photo and full name are not really used in DoudouLinux, you should probably use information related to you! You can then change the user name for a shorter nickname if the computed one is not of your taste. It is indeed the name that you will use to login and get the sudo administrative rights. You also have to type a password twice; there is no complexity check for the password so try to use a password that is not too much trivial! Finally you may want to change the computer name, especially if you already have several computers on your (local) network. This is not mandatory however.

Now the installer has most of the required information, it's time to choose the disk onto which DoudouLinux will be installed:

Installer – disk selection

The installer knows how much minimal space is required for DoudouLinux (around 4 GB), so if you're willing to install it onto too small an USB key, the key will simply not be displayed in the list! We have added as much disk information as possible to let you precisely identify your disks in case several ones are available. Once you're done, it's time to decide whether you want to perform an automatic partitioning or if you want to do it by yourself:

Installer – partitioning mode

Note that the installer is designed to be also able to use the remaining free space on disk for new partitions, but we suspect this feature to not work in many case because extended partitions are not managed yet (yes, we haven't tested this feature!). Unless you really want to help us improve the installer, you should probably select either the first entry (wiping the entire disk) or the latest one (manual partitioning). Anyway the second entry is not selectable if the installer hasn't detected enough free space on your disk, which should be the most frequent case.

If you choose to entirely wipe out your disk with automatic partitioning, moving to next step will require the deletion of all the existing partitions, which also means destroying all your data. As there is no backup tool, confirmation is asked twice, here is the first confirmation dialog:

Installer – repartitioning confirmation

If you confirm a second time, the disk partitions are immediately modified and you are lead to the advanced settings screen described later. If you finally choose manual partitioning, the disk partitions will be displayed:

Installer – manual partitioning

As the help text tells, you should probably select at least 3 partitions: the system root, the user's data /home and a swap partition. If you need to reorganize your partitions, click the button “Edit partitions”, this will launch GParted, a partition editor that is able to create, remove, copy, move, shrink or extend partitions. Once you're done, close GParted and click the button “Update” so that the installer rebuilds your partition map. Please note that editing partitions may lead to data loss, you may want to backup your data before, which the installer cannot do.

So now let's go to the latest settings screen, the advanced settings that is also displayed just after automatic partitioning has been confirmed twice:

Installer – advanced settings

The first parameter is the hardware clock that can use UTC or local time. As it depends on a system that could be already (or have ever been) installed on the computer, we have chosen to let users decide. The effect of switching to UTC or not is seen in the text below the checkbox, this should then be easy to find the correct value. The second parameter is the bootloader installation. As this is quite technical, we've added a long explanation text. However the default choice is to install the bootloader onto the disk onto which DoudouLinux is to be installed. This should be the best choice in most cases, as long as you're not willing to have several Linux systems installed.

Now it's time to start the installation process. A summary of your choices is displayed before confirmation:

Installer – installation summary

If you agree with it, installation will start. When it is done, a dialog box will propose you to restart your computer and enjoy your newly installed DoudouLinux :).

So now try it by yourself and tell us more about it!


[1] If the 2013-02 is not out yet, check the dailybuild page.

Saturday 19 January 2013

DoudouLinux ISO relocalization

One issue we have with the DoudouLinux ISO images is that, since it is designed to start without any user interaction, localization parameters are preset inside the ISO and cannot be easily changed. While this can be acceptable for most language variations (eg. French from Canada and French from France do not differ that much), this can be a real issue for the keyboard layout and the timezone. Indeed, if you try to teach children the keyboard and that it outputs an Azerty layout while you only have Qwerty ones in your country, this is rather annoying… This is however the case between France (Azerty), Canada (Qwerty) and Switzerland (Qwertz) in which French is spoken. Currently the only official solution is to play with combinations of Left Alt+Shift to change between predefined CD keyboard layouts[1].

So, as we can't propose an ISO for each country and each timezone, we have created a ticket quite a long time ago about this issue[2]. The problem to solve is that localization parameters are computed at each CD boot. It is then not possible to make changes persistent without patching the Debian live tools we're using for DoudouLinux. The only solution right now is then to unpack an ISO, change whatever needed, then repack a new ISO. We are indeed lucky enough to not have to unpack the whole CD filesystem because the CD localization parameters need to be accessed during the early boot process and then are contained in the CD boot parameters. Our relocalization process is then simply the following:

  1. Unpack the ISO image
  2. Change the boot configuration file
  3. Repack the ISO image

To achieve this, we will use rsync and genisoimage from the Debian packages of the same name. So first let's “loop” mount the ISO then copy its content into an empty directory:

$ sudo mount -o loop doudoulinux-2012-10-fr.iso /mnt/
$ mkdir isofs
$ rsync -at --del /mnt/ isofs/

File copying just takes few seconds. Now we can directly edit the boot configuration file:

$ sudo nano isofs/isolinux/live.cfg

You will find inside two boot lines of the following form (it's a very long line):

append initrd=/live/initrd.img boot=live config locales=fr_FR.UTF-8 keyboard-layouts=fr,us,de keyboard-variant=oss,, keyboard-options=grp:alt_shift_toggle,lv3:ralt_switch,compose:menu,terminate:ctrl_alt_bksp notimezone nox11autologin quiet splash nomodeset video=uvesafb:mode_option=640x480-16,mtrr=3,scroll=ywrap live-media=removable  persistent persistent-subtext=doudoulinux username=tux hostname=doudoulinux  quiet

The first line is the default boot entry, the second one allows to disable any live persistence that would have been set formerly. You can change or add the following parameters:

  • locales, this is the interface language, eg. fr_FR.UTF-8
  • keyboard-layouts, self-explanatory, it can be a single layout, eg. fr, or a series, eg. fr,us,de
  • keyboard-variant if you need to use a particular variant, eg. the French variant in Canada fr-legacy
  • keyboard-options if you don't need all the stuff we added to DoudouLinux like Left Shift+Alt
  • notimezone can be replaced with a particular timezone, eg. timezone=America/Montreal
  • utc=yes sets the hardware clock to UTC, utc=no sets it to the local time

Note that if your machine is unluckily running Windows :p, you have to set the hardware clock to local time. If it runs Linux, you probably have to set it to UTC. On the other hand, if the hardware clock is the local time, preserving the setting no timezone should automatically get the correct date and time. A list of timezones can be found on Wikipedia. Concerning keyboard layouts, the answer is at the bottom of one of our README files. Finally language codes and country codes can be found on Wikipedia too.

So, for a Canadian/Québec setting, we might use the following parameters:


Now we have to recompute the MD5 checksum of the modified file since the ISO integrity can be checked using it:

$ MD5=$(md5sum isofs/isolinux/live.cfg | grep -o '^[^ ]*')
$ sudo sed -ri 's|^[^ ]+(\s+./isolinux/live.cfg)|'$MD5'\1|' isofs/md5sum.txt

And we now just have to repack the ISO:

$ TITLE=$(file doudoulinux-2012-10-fr.iso | grep -o "'[^']*'" | sed "s/'//g")
$ sudo genisoimage -o doudoulinux-2012-10-fr_CA.iso -b isolinux/isolinux.bin -c isolinux/ -no-emul-boot -boot-load-size 4 -boot-info-table -V "$TITLE" -cache-inodes -r -J -l isofs/

Of course, once the job is done, cleaning useless files is a good idea:

$ sudo rm -fr isofs/
$ sudo umount /mnt/

Here is a screenshot of the resulting environment that you can't currently get out of one of our CD's without modification:

DoudouLinux fr relocalized into fr_CA

That's it!

What we are now dreaming of is a simple set of web pages that would allow to queue such ISO customization online. Our web server would do the job of unpacking/setting/repacking using its own set of CD's and would then send an email to users for them to download the resulting ISO before it is removed to make room for other users :). Any volunteer?

PS: credits to the Linux Mint ISO relocalization tool for the source of the command lines.


[1] DoudouLinux CD's are often configured with Azerty, Qwerty and Qwertz keyboards

[2] Unfortunately our project management software is temporarily down…

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 :]

Sunday 13 May 2012

The ANIS Association about DoudouLinux

At the REWICS 2012 (fr), the DoudouLinux association met people from the region of Lille (France) and more specifically the ANIS association (fr).

This one, active in development and promotion about citizens and uses for new information technologies (including the open source, free software and responsible web) but also in the re-use of equipment in the Northern Pas-de-Calais Department, published an article on DoudouLinux.

So ANIS talks about Doudoulinux (fr) ; the article has also been taken on Facebook (fr) (dated 08/05/2012) and Twitter (fr).

Various refurbishers have also been informed by the ANIS association.

Doudoulinux association thanks especially Julie Bailleul ((139 rue des Arts 59100 Roubaix - 03 20 28 48 68 - and her current staff at the REWICS for their initiative.

Tuesday 1 May 2012

Unique-launch: launch each application once, no more

A current issue with young children is that they often click application launchers several times until the application shows. Depending on the overall system speed, this may lead to 3, 4 or 5 instances of the same application launched in the end… Although desktop environments usually change the mouse cursor while an application is being launched, this is not the case of LXDE sessions, from which advanced DoudouLinux sessions derive, and this may not be sufficient anyway because the meaning of such change is not so obvious for someone who discovers computers.

For these reasons we wanted for DoudouLinux a tool that:

  • avoids applications to be launched more than one time
  • clearly shows that the application is being launched using a notification message
  • brings focus to a previously launched application when it is launched once more, may the application be iconified or wound

To achieve this, we developed a dedicated tool named unique-launch. You can install it using its Debian package.

The result is shown in the screencast below. The user clicks several times to launch an application, but only one instance is actually launched. Later he toggles the window to its wound status (only the title bar is drawn). Clicking the application icon unwinds the application and brings focus to it. This avoids the user doesn't understand why clicking the launch icon doesn't do anything if he forgot the application has been wound.

Fichier vidéo intégré

(download in OGG format, 1.5MB)

All these improvements will be made available in our future stable release, the successor of Gondwana. In the meanwhile, dailybuilds are available for evaluation, their names are of the form doudoulinux-yyyy-mm-dd-ll.iso. We invite everyone to test and give feedback!

Sunday 22 April 2012

UI improvements: new panel design

We are still working on improving the DoudouLinux user interface (UI). The previous work has been focusing on the desktop, made of the LxLauncher tabs. Now we're focusing on the panel LxPanel for a better integration and a better user experience. Several improvements have been achieved:

  • look & feel integrated with the desktop
  • redesign of many network-manager icons because they couldn't be enlarged
  • code backported from the volume plugin to the alsavolume plugin to get a changing volume icon, depending on the volume value
  • nicer icons for the volume icon
  • fixed font size in clock, not correctly following the panel size
  • improved battery look & feel, it still requires some work though
  • the panel can now be covered by application windows

A dailybuild will be soon available in several languages to get feedback from our community. The result of this work is as follows:

New interface (2012-04)

If you're wondering what is the role of the country flag in the panel: this is the keyboard layout. Finally another screenshot with an application window:

New interface, with calculator (2012-04)

Other UI improvements are on the go and will be soon detailed in new posts :). Stay tuned!

Monday 9 April 2012

New DouDouLinux for ARM™ Released

It's time to make a new pre-release of DoudouLinux for ARM™.

Our builds are now available in Efika MX Community Software.

Some news are :

  • a new boot splash screen.
  • a new desktop
  • a new auto maximize feature
  • bug fixes

Still under heavy development you may get some bugs, please report them on our site DoudouLinux project life

And if you still want to contribute, you're welcome to join our community, read more on DoudouLinux - The computer they prefer!


Soon available in couple of hours at the Daily Builds Download page.


Tuesday 27 March 2012

Some news in preview

The new stable version of DoudouLinux is not completely achieved yet but we are happy to present some changes that will be brought to the next stable version of DoudouLinux, which is expected for mid 2012.


The DoudouLinux project wants to be as open and free (freedom) as possible. He also wants to propose a computing experience that is free of advertisement and spywares, may they come from installed software or from visited web pages. But it is sometimes difficult to get rid of few habits… or companies.

Therefore, we are very proud to announce that the Google Co. won't be able to collect and resell our children data anymore! Indeed, the growing spying practices of this great company should be soon bypassed by the use of DuckDuckGo as the default DoudouLinux search engine.

Its speed, its simplicity and its image have been noticed by the project manager who proposed it to the team for integration into the project.

New presentation

The menu LxLauncher (it is the main menu in “Whole DoudouLinux” and “Mini DoudouLinux”) has been reworked. The goal is the accessibility for young children who can't read, plus aesthetic. Henceforth, they will recognize the icons more easily and intuitively: icons have been changed and enlarged.

Look at the screenshot below to see how this new look & feel will be.

New LXLauncher

A new name

Gondwana is the name of the current stable version but… what will be the name of the next stable version? After the letter “G” is the letter “H” and (perhaps) should Hyperborea be a good name for the next DoudouLinux?

Any other idea? Feel free to submit them in comments or on our mailing lists.

Saturday 24 March 2012

Doudoulinux in Linux Pratique Essentiel

Some times ago, we, Xavier, Jean-Michel and Elisa had the idea to make DoudouLinux known to a larger number of people, Boeotian or neophytes of the free and open source world, thanks to Linux-related paper magazines. We have chosen a FLOSS magazine, not technically-oriented and speaking about accessible topics. Our choice has then set on the Diamonds Editions magazines and more particularly on their magazine Linux Pratique Essentiel.

So we started a text document editable by several people simultaneously on and carried out the task and the work. After several days of collaboration we got an article that sounds correct.

The "draft" has then been sent to the magazine editor and was accepted after some minor modifications (mainly screenshots). Today we are very happy to announce that it has been published, with 4 full pages dedicated to Doudoulinux. You can see an overview of the magazine at the following address: Diamonds Editions.

The article is paid and all the collected funds will be given back to our association!

The magazine is distributed in several French-speaking countries (France, Belgium, etc.) and can be ordered in other European countries. It will be available in bookshops in April, we hope that you will enjoy reading it :). Feel free to send us feedback.

Monday 12 March 2012

Using Debian to install DoudouLinux

Many people are trying to install DoudouLinux definitively on hard disk, because they're found of it ;) and have a quite old computer sleeping on a shelf. Some other ones are also willing to install DoudouLinux in schools, which is a great initiative :). Until now we've been only providing a “Live-like” installation which is identical to a Live USB key but on an internal hard disk. This is practical and very easy for users but has several drawbacks:

  • System updates don't replace the Live system files but consume extra space
  • Our installation tool wipes out the entire hard disk
  • Updating to a new version of DoudouLinux is not managed

For these reasons we've started to work on several ways to really install DoudouLinux onto hard disk. In this post we're using a minimal Debian install as a start point to seed DoudouLinux on the computer, which may last up to one hour per computer. This technique can also be used to create a “Live” USB key that is indeed a real system, not a Live system, or derived into a chroot installation process. The first case, real system on USB key, has been successfully tested.

NB: Currently only the development version can be installed as explained in this post.

Installing Debian

We assume that you're perfectly mastering the Debian installation process, so we won't tell too much about this. As we're performing a minimal Debian installation, you shouldn't be afraid of ending with a console-only system. We also recommend to use a wired network connection if you don't want to bother with WiFi credentials from the command line!

To install DoudouLinux, using 3 partitions (system root, home and swap) should be sufficient. However we recommend to select manual partitioning even if you don't want to make a multi-boot system nor install onto an USB key. This way you'll be able to set a root partition that matches your needs or to use an ext4 filesystem. Your root partition should be able to host all the packages downloaded from the Internet (in /var), which requires around 1 GB, and a DoudouLinux system alone requires 3 GB of free disk space. If you want to install additional applications, you should set a larger root partition up to 10 GB.

Install using Debian – disk partionning

When the Debian installer will ask you what kind of system you want to install, deselect “Desktop environment” to avoid installing many applications that are not in DoudouLinux. This will lead to a Debian console-only system.

Install using Debian – selected tasks

Bootloader or not bootloader

Near the end of the Debian installation process, you'll be asked if you want to install the bootloader on the first drive. You need to do this only if you're installing on the internal hard drive of your computer (and don't have a bootloader already installed of course!). If you're installing onto an USB key, answering yes to this question will not install the bootloader on your key but on your internal hard disk instead!

Install using Debian – Grub or not Grub?

In the case of an USB key, you can install the bootloader afterwards by restarting the Debian installation CD but choosing the rescue mode at bootup. When the rescue system will ask you if you want to start a console in a chroot environment, answer yes then choose your USB key root partition as system root. Doing this, the rescue system will be able to install Grub2 onto your USB key with the simple following command:

# grub-install /dev/sdx

where /dev/sdx is the path to your USB key device. As you may understand, you have to write down the path of your USB key during the previous installation process of Debian in order not to make mistakes :).

First reboot

As said above, rebooting your newly installed system should lead you to a minimal command-line system, so log in it as root.

Install using Debian – first reboot

Note that if you hadn't networking or have discarded it during the Debian install process, you'll need to edit /etc/apt/sources.list to add the Debian repositories, and to bring up your networking interface manually:

# dhclient eth0

Of course change the interface number eth0 if needed.

If you don't want to bother with inserting the Debian installation CD/DVD while installing DoudouLinux, also comment or even remove the corresponding lines in /etc/apt/sources.list. Now let's add the DoudouLinux repositories:

# echo "deb squeeze main" > /etc/apt/sources.list.d/doudoulinux.list

You now have to install the repository key:

# apt-get update
# apt-get install --force-yes -y doudoulinux-keyring
# apt-get update

Finally we recommend to disable the installation of recommended packages, which avoids the use of 1.3 GB extra space in our tests. You need to create the file /etc/apt/apt.conf.d/90recommends-suggests and type:

  Install-Recommends "false";
  Install-Suggests "false";

Your system is now ready to install DoudouLinux! Note that you can reactivate recommendations afterwards if you prefer not to bother with missing optional components when installing applications.

Install DoudouLinux

Thanks to all the work done for the migration of DoudouLinux to ARM™, DoudouLinux is more and more a standard system with its own installation packages. Although using the packages is still not leading to an exact copy of the Live system, it is now really very close to it and few details are missing only. Installing the full DoudouLinux environment is now as simple as:

# apt-get install doudoulinux-desktop-environment openbox

That's it! Note that, as of writing, openbox is only needed in this line because of a missing dependency :). This will be fixed soon. During the installation process, Samba will ask you the domain name, just press enter. After a couple of minutes or tens of minutes (depending on your computer and your Internet connection), the job will be done. You can now install packages that are specific to the x86 architecture, among those Plymouth:

# apt-get install doudoulinux-x86

Alternatively, if your system requires additional dirvers and firmware, for network devices for example, you may want to install our meta-package doudoulinux-live-drivers. It depends at least on the non-free section of the Debian repositories:

# sed -i 's/ main/ main contrib non-free/' /etc/apt/sources.list
# apt-get update
# apt-get install doudoulinux-live-drivers

Finally we recommend to add several useful tools:

# apt-get install less bash-completion ntpdate

You'll have to edit /etc/default/ntpdate to tell it not to use the NTPD parameters, since this package is not installed. Finally you may want to manage packages using synaptic and remove orphan packages using gtkorphan:

# apt-get install synaptic gtkorphan libgnome2-perl rarian-compat apt-xapian-index

Now it's time to configure the boot splash. Change the default Plymouth theme to the DoudouLinux one:

# plymouth-set-default-theme doudou-witch

To show Plymouth at boot, you have to add splash to the boot command line. To do this, edit /etc/default/grub and replace “quiet” by “quiet splash”. You'll also need to add modules to your RAM disk image, refer to the Debian wiki page for that since this depends on your hardware. Alternatively, if your video chipset is not recent enough, you might prefer make Plymouth use the framebuffer mode.

You can now regenerate the RAM disk image and the Grub menu:

# update-initramfs -u
# update-grub2

Unfortunately we haven't got a theme packaged for Grub2 yet, the very early boot will then be text only.

Finally you can edit /etc/xdg/user-dirs.defaults to avoid it to create unneeded directories in user's homes, for example Desktop, Template and Share.

Cleaning the system

You may need to remove extra packages that your minimal Debian installation has installed:

# apt-get purge exim4* at cron portmap rpcbind openssh-client

You can then purge the packages that are not necessary to DoudouLinux and clean the package cache directory:

# apt-get autoremove --purge
# apt-get clean
# reboot

GtkOrphan may also help you find additional and uneeded libraries. Your DoudouLinux system is now totally ready for use by children! The final total disk space used on my test machine is 3.1 GB while the maximum disk space needed during the installation was 3.9 GB. And the system boots in 12 seconds in VirtualBox without any special trick!

Have a good DoudouLinux!

Sunday 11 March 2012

New development version available for testing

We are glad to announce that our next development version, number 2012-02, is available for testing from our dailybuild section. Note that you'll also find in this dailybuild section several 486 builds of the stable release, for the oldest computers (our official builds target the 686 architecture). The changes in version 2012-02 are detailed in a recent post on our mailing list. Here is the summary:

  • Deep code refactoring under the skin due to the ARM™ port. As a result installing DoudouLinux on a computer is now just a matter of installing our ultimate meta-package doudoulinux-desktop-environment (blog post to come soon on this topic).
  • Lots of new applications and games, see the updated page New applications. This is not the final application set that will end in our next stable release planned for mid 2012.
  • Improved look & feel compared to the previous development version (window decorations, theme, icons, cursor, buttons, panel layout, etc.). The position of all buttons on window title bars have moved to the left on LTR languages since many OS'es now do this.
  • Size of icons in advanced activities is now computed at boot to occupy around half the screen area (see the related post on this blog).
  • Graphical layout is now adapted to LTR/RTL languages at boot and session start. This is required for ARM™ and a future multi-language DVD.
  • Added playlists for online music and videos using contents from (browse directories in activity Whole DoudouLinux).
  • Improved system security: now only DoudouLinux activities don't require a password to be started, instead of all users!
  • Several fixes, among those Network-manager unable to store Wifi passphrases and system tools requiring admin password to work, eg. new printer.

We invite everyone to test this version then report issues and suggestions, so download and enjoy!

NB: the development release should be officially published within a week.

Thursday 9 February 2012


Despite the efforts of the team to be present at the FOSDEM (Free Open Source Developers European Meeting) we have not succeeded this difficult last minute task.

Fortunately thanks to our drawers, we put up twenty colored A4 posters in the 4 buildings of the FOSDEM. This helped make our project known.

Poster FOSDEM (Fred version)
The poster put in the FOSDEM building (by Fred)

Thanks to this, more than 4000 visitors, contributors, volunteers and developers have directly or indirectly received information about the project.

Poster DoudouLinux at the Mozilla stand
A poster of DoudouLinux put in background of one of the most visited stands in the FOSDEM : the Mozilla stand. (Credits : C. Gesché -

We hope our group is going to grow. Therefore we are recruiting volunteers, developers, graphic designers and other “FLOSS people”. Come and help us too !

Wednesday 25 January 2012

DoudouLinux demo in a Belgian school

The 16th January took place in Brussels the first presentation of DoudouLinux in a Belgian school, at the public school number 13.

A particularity of this school is its exceptional architecture which can welcome more than 1000 pupils with a nursery school division of 100 children. At Belgium level, it is a large capacity institution with high cultural mix, mostly coming from the European Union.

Taking the opportunity of the teachers lunch break, two local representatives of the newly created DoudouLinux association (known as Xavier and Frédéric) presented DoudouLinux to a targeted audience: 7 teachers of the nursery school and its director.

Xavier is presenting DoudouLinux

Equipped with three computers (two of them for demonstration, the latest one running the slide show), bringing improvised “Welcome packs” for each teacher, Xavier and Frédéric began by giving a maximum of information about the spirit of the project and its technical details. The packs contain the French Wikipedia article printed, a non-official leaflet and a CD-ROM of the latest version of DoudouLinux Gondwana.

We have to confess that the audience was a bit cold at first, showing few interest into the small technical details and free culture.

After this brief introduction, putting technical topics aside regained the attention of the teachers. Xavier and Frédéric went on with a question-answer play. They had to improvise primarily on DoudouLinux components: games, educational suites but also the various components, customization of the operating system and emphasis on security (“live-CD” among other things)…

DoudouLinux, a teacher on the computer

The demonstration ended after 45 minutes with a “live demo” of Gondwana. Teachers tried out the DoudouLinux environment by taking place in front of both computers. Finally they all seemed pretty convinced (personal impressions of Frédéric and Xavier).

What’s up next? The future is not waiting to see: an appointment is to be set in order to “deliver” 3 computers with DoudouLinux (installation on hard disk) and we are looking forward to getting feedback from teachers who received the “Welcome pack”.

This, of course, will be the topic of another post.

Tuesday 17 January 2012

First “ready to use” DouDouLinux ARM™ images

Here it is, the promised DoudouLinux for Genesi Efika SmartBooks! It's a 4GB SD card image, ready to boot a DoudouLinux system built on top of Debian ARM™ Squeeze (armel flavour). This is a multi-language version of DoudouLinux (US English/French):

  • For Genesi/Efika SmartBook (armel)
  • Preconfigured for en_US/Qwerty keyboard
  • With iMX video driver
  • With GPU activated

Hare are some additional technical information:

  • root password efika
  • Genesi's Freescale source code
    • from Genesi's GIT
    • compiled by DrEagle
    • license Freescale “accepted”
  • non-free Freescale code (binary)
    • libz160 (GPU)
  • base distribution: Debian Squeeze, with the following sources
    • official Debian repositories
    • additional Debian-multimedia repository
    • custom DoudouLinux repository

You can get it from our official download pages:

If you wish to check the SHA1 sum, just issue the following command:

$ sha1sum efika-ddl-armel-ENU-gpu-4Go_20120116.img.xz
4630401386747fb2c46ef33e663795fd106bde45  efika-ddl-armel-ENU-gpu-4Go_20120116.img.xz

To build your LiveSD disk, you'll need a 4GB SD card. Then use this command:

$ xzcat efika-ddl-armel-ENU-gpu-4Go_20120116.img.xz | pv | sudo dd of=/dev/mmcblk0 bs=8192

Don't forget to replace /dev/mmcblk0 with the actual SD card device path (and please double check you're not using your internal HD!!!).

Sunday 15 January 2012

LxLauncher: automatic icon size for a nicer interface

One issue we had in mind for a while is the fixed size of icons in LxLauncher. Depending on screen resolution, this size can be fitting well (small resolutions) or really too small (large resolutions). In the later case, the interface of advanced activities like “Whole DoudouLinux” and “Mini DoudouLinux” can look very empty, just as the screenshot that is unfortunately available on our DistroWatch page.

With automatic icon size computation, we are now able to get a similar rendering on various screen resolutions as shown on the photo composition below. In this case, screen resolutions are 1280×800 (HP), 1280×1024 (CRT display), 1024×768 (Dell) and 1024×600 (Genesi), leading to screen size ratios 5÷4, 4÷3 or between 16÷10 and 16÷9. If you want to give it a try, just download one of our recent dailybuilds, in English or French only.

Automatic icon size for LxLauncher

We hope then to not see this kind of screenshot anymore:

LxLauncher without automatic icon size

Now few words about the way we achieved it.

In Debian Squeeze, the LxLauncher version, v0.2.1, features icon size tuning in a configuration file, /etc/xdg/lxlauncher/settings.conf. This is an easy way to change the icon size but, of course, requires user action. This is why we've developed a shell script that is called during GDM initialization to adapt the icon size to the actual screen resolution. The algorithm is the following:

  1. compute screen surface in pixels-square
  2. compute the width of icons to have a given number of them in a given portion of the screen (45% in our script)
  3. compute the rounded number of icons per row using the previous width
  4. compute the final icon width using screen width and number of icons per row

This script is available on our SVN server. Its algorithm is designed to be independent of screen orientation since it does not uses the screen width to compute the icon size but the screen surface. We hope then to be able to run DoudouLinux on any device in the future, from the smallest handheld devices to the largest TV screens :).

Finally, what about the stable DoudouLinux release Gondwana? Well it is shipping with LxLauncher v0.2.0 which does not allow to set icon size (it is hard-coded). Nevertheless trials have been performed to backport icon size setting from 0.2.1 and it seems to work! We should then release the latest update of Gondwana, v1.2, with this new feature :).

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.

Wednesday 30 November 2011

Custom Cross Debian Squeeze on Efika

The POC is here, all cross compilate; our first custom armel Debian Squeeze 6.0.3 with Gnome 2.30.2, Genesi 2.6.31 kernel and iMX Video Driver.

Debian Squeeze ARMEL

Linux (none) #1 Sun Nov 27 10:44:17 CET 2011 armv7l GNU/Linux
Processor	: ARMv7 Processor rev 5 (v7l)
BogoMIPS	: 799.53
Features	: swp half thumb fastmult vfp edsp thumbee neon vfpv3 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x2
CPU part	: 0xc08
CPU revision	: 5

Hardware	: Genesi Efika MX (Smartbook)
Revision	: 51030
Serial		: 0000000000000000

This is a SDCard boot ready system...

Stay Tuned !

- page 1 of 3