This how-to describes steps involved in getting new chipset support to the MeeGo kernel. Below, the new chipset is assumed to come from an imaginary chipset company, Imagchip.
There is only a single kernel source package in MeeGo OBS named as kernel which generates various binaries for different hardware like N900 (kernel-n900), Netbook (kernel-netbook) and Moorestown (kernel-mrst). The aim here is to create a new kernel-imagchip binary package.
The kernel package in OBS is mirrored on MeeGo gitorious as kernel-source with some additional scripts for applying patches locally.
Normally these two (OBS package and gitorious project) are in sync but sometimes kernel-source in gitorious is behind the kernel package in OBS.
Kernel workflow in OBS: kernel package in home:<yourname> => kernel package in devel:kernel => kernel package in Trunk:Testing => kernel package in Trunk.
Steps to create a new kernel-imagchip package:
We will now try to create a Imagchip specific patch set in kernel-source (since you can easily build that on your host machine and test it out on the final hardware). Switch to directory where you have cloned kernel-source from gitorious.
Now you can compile and test your kernel on hardware and fine tune the "config-imagchip" to get the desired functionality. Once you are happy with the generated kernel, its time to push all these changes to kernel package in your home project on OBS. You need to copy all the modified files + patches to directory where you did "osc co ...." in step 2. You can then execute following commands to add new files and check the overall status: "osc status" and "osc addremove".
Once you are sure about everything, you can commit all the changes to the OBS server using "osc commit" and check new kernel building in your home project.
For information about pushing your patches to the "official" MeeGo kernel, see Contribution Guidelines, Hardware Enabling Process (especially section How Do Patches Get Integrated and Accepted?) and Kernel workflow. For a glimpse of current patches in the MeeGo kernel, see Kernel patches.