[Gta04-owner] hw-validation/production images restructured on server - universal kernel/config for Letux 2804/3704/7004
Dr. H. Nikolaus Schaller
hns at goldelico.com
Tue Jul 16 11:01:11 CEST 2013
we have restructured the server archive a little, but not heavily.
All (current and historical) hw-validation images (including makesd scripts + sd-image.dd + complete sources matching the binaries) are still found here:
It has been changed how the b2 and b3 display board variants (aka Letux 3704 and Letux 7004) are handled.
Previously they have been in completely separate b2 and b3 subdirectories, since they did have their own u-boot, kernel and config images.
Now, we have an universal kernel and universal config approach. Therefore we can share kernels and config for the GTA04/Letux 2804, Letux 3704 and Letux 7004.
We still need different U-Boot images since the display boards differ in some pinmux settings (mainly for handling the backlight and display enable). But the kernel and the config now can detect which board variant they are running on, by inspecting the 'mux=' boot argument, which is set differently by the different U-Boot variants. When the correct U-Boot is flashed to NAND, we can use the same kernel image on all devices.
In kernel code this is done by this patch:
Most notably is that there remains only one gta04_defconfig, and the kernel is now configured for all three DSS panel drivers. The board file examines the 'mux=' boot argument and chooses the right DSS panel driver (and tweaks some touch screen parameters).
User space also needs to be adjusted depending on the display. Some part is done automatically by GUI frameworks through the frame buffer size, but not everything. E.g. we need to specify the absolute dimensions of a panel in the xorg.conf. And the touch screens need different (pre-)calibration values. This is done by a second patch:
This modifies /etc/X11/xinit/xserverrc to detect the board variant and choose between different xorg.conf templates.
The main benefit of this approach is that we can now put a single uImage variant on a SD card, combined with some (mux= aware) rootfs and the SD card (without boot loader!) can now be simply swapped between all three device variants.
Before we did make all this universal, using the wrong SD card uImage did make the device show a white (or black) display because wrong backlight control and display refresh rates.
Now, only U-Boot needs to match the specific device. The different U-Boot images are available in e.g.
<http://download.goldelico.com/gta04/20130716-GTA04-Production-Universal/b2> or <http://download.goldelico.com/gta04/20130716-GTA04-Production-Universal/b3>
The makesd scripts have also been modified to install the same uImage, rootfs and MLO but differentiate in u-boot.
How to install (replace $version by the date/version, e.g. 20130716-GTA04-Production-Universal):
for a Letux 2804: <http://download.goldelico.com/gta04/$version/makesd>
for a Letux 3704: <http://download.goldelico.com/gta04/$version/b2/makesd>
for a Letux 7004: <http://download.goldelico.com/gta04/$version/b3/makesd>
* the makesd scripts are intended for creating a SD card *that installs a new U-Boot*. Therefore a SD card created by the default makesd is *not* universal! You must remove (or not install) boot.scr, MLO and u-boot, u-boot.flash but keep uImage (or store as /boot/uImage on an ext2 partition) to make a universal SD card.
* you should use such a bootable/u-boot flashing SD card only for upgrading/repairing the boot system and not for daily use
* to use the universal kernel you must upgrade u-boot once (so that mux= is set correctly)
* universal SD cards should just contain /boot/uImage and /boot/bootargs.scr and a rootfs (in 1-4 partitions)
What else is new:
there is a blanviewd.c to automatically dim the backlight of the Letux 3704 device if exposed to sunlight.
PS: we are working on a patch for Replicant-2.3 to allow the same sharing/exchange of the SD card between the device variants
PPS: we have some Letux 3704 in stock
More information about the Gta04-owner