I'm trying to build a kernel for my Psion 5 PDA, i am well aware of existing kernels but they don't seem to work, i've still got to do some testing there but i need a working build method to give me some choices.
My problem is i'm trying to build kernel 2.4.30 and i'm getting this error from make bzImage. I'm attempting to cross-compile a Linux 2.4.30 kernel for my ARM Psion Windermere Psion 5 PDA which should work perfectly.
I've used make dep ARCH=arm CROSS_COMPILE=arm-unknown-linux-gnu- to successfully make dependencies and make menuconfig is happy.
keyboard.c: In function `kbd_processkeycode':
keyboard.c:422: error: label at end of compound statement
I've looked in keyboard.c and where its talking about seems to be
on line 421 of drivers/char/keyboard.c.
keyboard.c is one of the files patched by RMK patches for the ARM architecture... i'm confused about whether this is completely necessary, probably is for all ARMs even though the Windermere has psion_keyboard.c and .h files of its own.
I'm not using the vanilla Linux kernel, i am using the latest kernel sources from
svn co http://svn.exactcode.de/linux24-psionw/ linux24-psionw
- the openpsion project.
These kernel sources have been patched with rmk patches - not by me but obviously they are able to build because a 2.4.27 kernel has been released built from these sources patched with rmk2 and 5mx2 and possibly other patches.
I don't have the patches specifically available to me.
Does anyone have an ideas why this is failing to build? My toolchain was setup using http://www.schnozzle.org/~coldwell/toolchain/
although i tried GCC-3.4.2 as well with no success.
I'm using crosstool now in the hope that it will find a way to make this work but i'm assuming its a problem with the kernel sources rather than anything else.
Perhaps the RMK patch for ARM on the Linux 2.4.27 kernel is broken, but then how did the openpsion project manage to build successful kernels for the Psion Windermere systems? I'm using their sources. All the keyboard.h files are the same for all the kernel sources they have in their repository so it doesn't seem to be a change between kernel versions in 2.4 and RMK is used to get any of these working at all so i can't see how its a problem with the rmk patches.
I attempted using the 2.4.19 kernel available from https://sourceforge.net/projects/linux-7110/
but it fails to compile no matter what GCC i use, something is wrong with scripts/mkdep in that source as far as i can tell.
This problem is identical to mine: http://www.kwikbyte.com/phpBB2/viewt...e7458895f4b0fd
Should i just attempt to patch a vanilla 2.4 kernel with one of the RMK patches and then see if i can find the 5mx2 patches somewhere to support windermere? I have no idea what may have changed in different kernel versions which might affect 5mx2 patches. Also it seems difficult to find 2.4 changelogs - i might be thinking of 2.2, i'll have another look.
If someone knows where there's a 2.2 kernel source for psions available with a working URL that would help too. I had no success with 2.2 because i could not find a 5mx2 patch to apply (i still can't for any of them!)
Perhaps i should copy the Psion windermere files from the openpsion kernel sources and try adding them to a vanilla 2.4 source tree this would include the psion serial and other windermere drivers for Psion series 5 and 5mx and revo, diamond mako, mc218... Then if i patch that vanilla tree with the RMK patch it might work i guess..
I don't know if i've mentioned before but include/asm-arm/keyboard.h is used somewhere along the line... the psion and standard keyboard.c are in drivers/char
Diffing the openpsion 2.4.19-rmk2-5mx2-something kernel against the current 2.4.30 openpsion sources shows that the psion keyboard driver keyboard_psion.c has not changed at all.
So maybe i'll have some luck if i just take a copy of all the headers and c files and configs and stuff for the psionw MARCH.
Any help as to why keyboard.c is stopping this kernel building would be really useful as its going to take ages to copy everything to a vanilla kernel and patch it and then build it (if it will build)