Hackable:1 Kernel
Freerunner
We've been using FSO/debian's kernel package in Hackable:1 till mid-september.
There is now a Linux kernel for the Neo Freerunner packaged in hackable:1
developper information
You should already know our build system, if not, take a look at :)
As of september, 25, 09:
- Kernel sources come from http://git.openmoko.org/git/kernel.git/
although GTA02 is now supported in the mainstream kernel 2.6.31, the support of gta02 hardware is uncomplete.
- The kernel config can be found in the debian/ directory after patching with trunk/packages/linux-image-gta02/linux-image-gta02.diff
It was copied from pkg-fso and modified a bit, mostly in order to disable debugging features.
- As it uses git, you cane asily build your patched kernel, using another git repository and another commit tag. (you only have to modify debian/changelog a bit)
Custom kernel config
To build a package of the Linux kernel for the Freerunner with a custom configuration (for example, enabling a special module):
- ./package.sh linux-image-gta02 (fails because it needs to be crosscompiled)
- cd linux-image-gta02/linux-image-gta02-VERSION/
- vim config-gta02-hackable1 : configure the kernel
- dpkg-buildpackage -us -uc -aarmel
maybe...
- mkdiff.sh
- commit
general informations
Three packages are created:
- linux-image-gta02: Linux kernel plus the basic kernel modules that are necessary for the Openmoko Freerunner to run correctly
- linux-modules-gta02: common kernel modules you may need, when pluging a peripheral for example
- linux-moremodules-gta02: other modules, that are built for a few people who may need them (not for everybody end-user)
[temporary] call for module sorting
Please let me know in which package should modules go... :)
Howto package a kernel for another machine
To package a Linux kernel for another machine, take a look at that patch: trunk/packages/linux-image-gta02/linux-image-gta02.diff
You should keep debian/rules that comes with, which is crosscompilation ready. Modify the other files (debian/changelog && debian/control, etc)
