Documentation about the Hardware
Many pieces of information have been collected on the kwaak wiki. Some important entry points are collected below.
In the 2.6 kernel code, the keyboard driver is found in the
drivers/input/keyboard/jz_keypad.c file. It uses a timer to repeatedly scan the keyboard, tracking the previous state and comparing it with the current state to produce key events.
The driver also tracks the state of the Num Lock and Caps Lock keys, translating key presses when the Num Lock has been enabled. It also toggles the keyboard LEDs.
Boot Modifier Keys
To boot from SD card, the Letux 400 U-Boot checks that Fn + Left-Shift are pressed on power up.
The kernel recognizes additional modifiers to switch the root file system. You can press these keys right before pressing the power button but must hold them at least 5 seconds. They are not checked immediately after power on when the penguin appears but with more delay.
If you see the "INIT: version 2.86 booting" message on the screen, you can release the button.
- F1: boot from first SD partition (/dev/mmcblk0p1, ext3)
- F2: boot from second SD partition (/dev/mmcblk0p2, ext3)
- F3: boot minifs from internal partition (/dev/mtdblock3, jffs2)
- F4: boot from internal partition (/dev/mtdblock4, yaffs2)
- Fn: boot from second SD partition (/dev/mmcblk0p2, ext3) (kernel was booted from SD on Fn+Ctrl+LeftShift)
- none: boot from internal partition (/dev/mtdblock4, yaffs2)
WARNING: Don't press Fn + Left-Shift + Ctrl to boot! This will copy the 2.6 kernel into the NAND flash and afterwards, you can't boot from NAND to the original system. To recover from such a mistake, please refer to http://download.goldelico.com/letux-400-jtag/