Friday, August 14, 2009

New Dualboot and Kernel

Booboo has released a new kernel and system, with a workaround for the SD write corruption bug!

New release of dualboot and system

Get it all from here. You are urged to update at least zImage/rootfs to fix the data corruption on SD/MMC write.
Dualboot now supports partitionless cards (those in which filesystem starts at sector 0). Besides that, the only change is that now u-boot cannot be stopped (which was useful anyway only for those with a serial console installed). Noise in the RX line when undriven was causing garbage chars to be read as input and u-boot stopped boot and waited (forever) for further commands. This is most likely relevant only for people like me with a serial console installed, and even if you are one of those, you may have not noticed it, since it only happens if the RX pin is undriven and the USB cable is connected (noise probably comes from the USB circuitry).
If you have already a working system (which means your card is partitioned) and have never experienced spurious lockups during dingux boot, probably you don't need to update your dualboot, but I would advise to do so anyway.
The kernel has some minor fixes (likely unnecessary, just happened to notice them while hunting the miniSD data corruption on write bug) and the miniSD interface configuation set to 1-bit. Consider this a workaround, because it seems to fix the data corruption but kills throughput. You better have a slow interface than one that can kill your filesystem, no matter how low is the probability.
Regarding the rootfs, the changes are:

  • Updated initramfs to allow to specify several alternate "boot=" and"root=" arguments. This is required to support both partitionless and normal cards.
  • Added option "utf8" in initramfs when mounting boot partition, so foreign language characters are properly handled (thanks Rookie1).
  • Changed MMC controller to 1-BIT mode. Clobbers performance but data corruption on writes seems to be fixed. Workaround until the real problem is identified and fixed.
  • Added patch set for timidity in SDL_mixer (/etc/timidity.cfg and /usr/share/midi/instruments/*).
  • Upgraded to busybox-1.14.3.
REMEMBER: ethernet-over-USB and SD/MMC are as of this release suboptimally configured as a workaround for known bugs. I am working on these issues, please be patient.
Developers are encouraged to read README-A320.
And now for something completely different, I'm in touch with the Qi Hardware team. They are a group of former OpenMoko employees now working on both open hardware and software devices. Their first device is also based on an Ingenic SoC and they are making great efforts to improve kernel support. Most important is that they are in touch with Ingenic and are trying to get them to open more documentation and code (yesterday a newer 2.6.27.x kernel was released!). This is very promising and we will be working together.

Posted by booboo at 4:23 AM


  1. That's an awesome job you are doing! I can't wait until I will receive my dingoo :)

  2. How is the speed?