Free software, open source, copyleft, technology, art, knowledge. Freedom.
2009-06-12
This release has some fixes and helpful changes for debugging. But remember that it is experimental and unsupported code, so be careful. Source code and binaries are here:
http://zenvoid.org/software/qi-smartq
The kernel is also updated. It is recommended to use the kernel and modules included in that directory as it has been modified to show Linux console messages on the screen (very useful for locating and fixing problems). To install the bootloader, follow the instructions of the previous release.
When booting, it shows a very short red light, followed by a short yellow, followed by green light. If green light is reached, it means that the bootloader has finished its job and Linux is booting. If you are using my modified kernel, you should see the boot messages from this point. This is the meaning of the LED lights:
Blinking red LED should mean that the battery is too low, but it is not implemented yet.
Photos of the boot messages and Mer distribution running from SD card:
If you are interested in cooperating with the Mer project please join to the #mer channel at irc.freenode.net.
2009-06-04
Groklaw – TomTom Settlement Aftermath: Get the FAT Out
It was widely known that FAT is patented by Microsoft, but unlike other patented algorithms, Microsoft was apparently not making active use of the patent against Linux so nobody was worried. Not anymore. TomTom gets the dubious honor of being the first manufacturer that is the target of a patent lawsuit that covers its embedded Linux with FAT support. Much like MP3, plans to remove FAT from Linux products are starting to emerge:
“The Linux Foundation is here to assist interested parties in the technical coordination of removing the FAT filesystem from products that make use of it today.”
Mer is a community project, free and open source. Initially seems much difficult that a project like this become an attractive target for a lawsuit (at least under my subjective point of view), but manufacturers can distribute Mer with their products, and they are encouraged to do that. Those manufactures are much more attractive.
Now what? Ignore patent threats? Put FAT packages and modules in a separate repository? Kill FAT forever?
The only thing that I’m sure is that reading Donald Knuth texts is always an enlightening activity:
Groklaw – Donald Knuth: Mathematical Ideas, or Algorithms, Should Not Be Patented
2009-06-03
Update: This information is old, please read a more recent post on this topic.
I made a modified Qi bootloader for the SmartQ 5 MID that can boot from the
external SD card, as a convenient way of developping or testing OS, or for system rescue purposes in case of internal flash corruption. This is the bootloader operation:
The SmartQ Qi bootloader is written to the end of the SD card. Create partitions to suit your preferences, make at least one ext2/ext3 partition to install the root filesystem and optionally a swap partition, but always remember to reserve 1 MiB of free, unpartitioned space at the end of the SD card. To be precise, at least the latest 1042 blocks (512 bytes each) must be reserved.
The precompiled bootloader and a kernel, installation script and source code are here:
http://zenvoid.org/software/qi-smartq
Look at the script install-smartq-qi.sh in order to make a bootable SD card:
./install-smartq-qi.sh /dev/SD_CARD_DEVICE qi-smartq-20090603.bin
To boot from the SD card, keep the “move” (also known as fullscreen) button pressed and then press the “power” button.
There is no battery check at the moment, look for the next release, I’m working in that.
2009-05-08
The SmartQ5 MID is an ARM tablet device made by a chinese company. Based on S3C6410 processor, it can run Linux, modified Qi and U-Boot bootloaders, and low cost. An interesting platform for hacking. I could not resist the temptation to open it and take some photos of its inner beauty.
Photos taken by me and, as usual, published under a Creative Commons Attribution 3.0 license.
2009-03-06
I’ve made a custom cross-compilation toolchain for ARM processors. It works either
as a standalone toolchain or within Scratchbox2.
http://zenvoid.org/software/cross-compiler/
Most precompiled toolchains were not suitable for my own purposes since I needed a very specific version of binutils and glibc, and trying to build CodeSourcery’s toolchains with their included script was too much masochistic.
The source code and build script is included, and unlike the build script
in CodeSourcery toolchains, this one actually works. It is meant to be
hacked, built from source code to create toolchains with custom patches
or with different tool and library versions.
2009-02-09
I was thinking about an automated method for rebuilding a subset of Ubuntu‘s packages. There are reasons for this, like optimized compiler flags for a particular software device or porting to alternative architectures. In particular, it would be interesting to provide a wider hardware support to Mer linux distribution.
So, my experiment started with a flexible script in Ruby that can be used to do the folowing:
At this point, with the help of reprepro, all required source packages can be automatically fetched and uploaded to a custom repository. It should be theoretically possible to compile everything by doing the following:
Manual interaction is expected to fix dependency loops and packages that need to be compiled within the real (not emulated) architecture. That’s the theory, and this is practice and conclusions:
Before starting the massive compilation, it would be better to wait until Jaunty is released. Jaunty is in development in this moment and its repository is broken, there are dependencies that can’t be compiled because the sources do not exist or the version in the repository is not compatible.
A dependency hell was somewhat expected, but I have to admit that I was surprised. In order to compile a minimal system, there are 43 required source packages. Including their dependencies, 626 source packages need to be compiled; among them, several different versions of the programming languages python, tcl, openjdk, mono, ruby; apache, emacs, kde 4, gnome and xorg, just to be able to boot and login into a shell. Not funny. Debian will probably have the same issue.
I suddently became interested in the base system used in fremantle, some packages could be imported into Mer to override some componentes of Ubuntu base system, but it should be done with care, nobody wants to bring back Maemo reduced funcionality. Very hard work ahead.

Unless otherwise stated, articles and their accompanying pictures are licensed under a Creative Commons Attribution 3.0 Spain License.
roberto@zenvoid.org