Kernel Sprint
- Date: Saturday 31st July, 9pm UTC/10pm BST/2pm PDT/4pm CST
- Location: #linwizard or #wing-linux
- Purpose: To bring board support files from candidate and wing-linux to the latest upstream kernel.
So, I (ali1234) think this would be a good way to kickstart the project once more. A lot of work has gone upstream including even a board file for herald/wing. We should aim to at least get a proper board done for Wizard. Also, if we could get upstream booting "out of the box" on a wider range of devices it would really lower the barrier to the hackers who can then fix their keymaps and other fiddly bits that are hard for us to do without hardware to test on.
Everyone who wants to participate is welcome. You will need to:
- Get the device and all cables and test rigs out of that cupboard.
- Make sure to have a SD card with enough space for haret, kernel, and initrd. 20mb is plenty for testing purposes.
- If you only have Windows, get a Linux boot disk or a VirtualBox? install.
- Get familiar with how to use haret if you are not already (eg try to install wing-linux 0.4.2 or an older linwizard build.)
- Developers, make sure your git repo is up to date and accessible.
The idea is if we pick a date when as many people as possible are available, we can get everything ready in advance. We also need to decide how long we want to spend on it. Hopefully it will not take longer than 3-4 hours for the basic goal?
Developers
The idea is that we will port all the board-htc* to the latest kernel and then (since we don't have most of the hardware) ask people to test for us (assuming they show up.)
The priority should be to get as many devices as possible booting to working USB networking and sshd. After that the other things we want working are display, backlight, and at least one button. This maximises debugging options for getting everything else working. It would be nice if we can get SD card working too, and it should not be too difficult.
To reiterate: USB networking and sshd is the number one priority. We want to get this working on as many devices as possible as it is pretty impossible to do anything else without it. It doesn't require device specific code so it should be easily achievable as long as the kernel boots.
Another thing to look at is the proposed changes to defconfig. Hopefully a solution is found for this soon, and we can fix up all our boards for the new system during the sprint. This is important for upstreaming. This is high importance but should be easy to do.
Testers
Even if you're not a developer you can still help us if you have some hardware that we don't. We need testers with the following phones:
- elf/elfin
- artemis
- gene
- prophet
- opal
- excalibur
- pharos
- charmer
- startrek
- vox
How to test a kernel:
(Basic instructions, need to elaborate here)
- download the wing 0.4.2 cabs (url goes here)
- swap out the kernel
- edit default.txt and set runlevel 3 and also mtype (MtypeList)
- run haret, click "run"
The screen may or may not work at this point, no worries if it doesn't... just wait a while and then:
- install avahi-daemon on PC
- plug in on usb
- you get a new usb0 network device
- http://al.robotfuzz.com/~al/htc/Screenshot-6.png
- reboot phone and re-run haret
- telnet linwizard-tb.local
Now please report success/failure along with machine type. Sending us the output from dmesg can be useful too.
Advanced Tests
LCD Screen
You should see the kernel log scrolling past when booting. Maybe the backlight doesn't work, the LCD may still work though. Try holding device under a bright light if you don't see anything.
Keyboard
QWERTY keys should let you log in if the screen works (same l/p as on ssh.) We need some tool to load keymaps in the image to get the alt key working, eg sys-apps/kbd
Backlight
echo 1/0 > /sys/class/backlight/???
SD card
Look for /dev/mmcblk0p1 in dev
Bluetooth
(no bluetooth tools in initrd, can't do this one.) hciattach /dev/ttyS0 115200 texas hcitool scan (you should see any nearby and visible bluetooth devices now)
Testing initrd
Would be useful if we had an initramfs prepared specifically for testing. Things it should contain:
- keymap loader (kbd)
- bluetooth utils (hciattach, hcitool, hciconfig)
- something to talk with tty/serial ports (microcom, picocom, or cu - and setserial or similar)
- useful busybox applets (devmem, netcat, hexdump, strings, grep)
- i2c-utils
- devmem3 - http://al.robotfuzz.com/~al/htc/wizard/devmem3.c
- an editor that works (vi)
Things it should NOT contains:
- Anything that will make it huge :)
Let's make it a RAMFS rather than initrd since we avoid having to select cramfs/squashfs3/squashfs4 support into the kernels. Also, we can make haret dump the LCD params to a file; wing-linux already does both these things.