So, I made a few decisions to make a few changes in the way I was developing the kernel:
Firstly, I have changed the versioning. The kernel version will be the additional digits at the end from now on. This will be incremented every time I make a release. I didn’t want to start at 1, so I counted up the number of releases so far, added a couple for good measure and started at that number. I will also be tagging the git repo before every release, test also as I will need to rebase more often due to the next decision I have made. The zip filenames will also change and will be based on the git describe output.
Secondly, I have decided to completely change the kernel base. Instead of using the (basically abandoned) AOSP Samsung S5PC110 kernel as a base and merging mainline stable updates into that, I have rebased it against AOSP common 3.0, which will bring in the improvements the Android team has made recently. It also brings the added benefit that there is much less mainline code to merge, as the common repo is much closer to current mainline. This should also make the kernel more stable and result in less fuckage, of which there has been more than enough lately.
Thirdly, I dumped the compiler optimisations which I applied last time, they really don’t make any measurable difference.
Fourthly, for the next stable release, I plan to build as modules any drivers / filesystems etc that are not essential to Android so they can be loaded as required. I will place them in such a place that modprobe will work correctly to load them without having to mess about with insmod. It seems somewhat counter intuitive to have a load of stuff built in to the image that not many people use, and it could theoretically be harming performance. The leaner the better eh?
- Rebased against AOSP common and merged up to 3.0.36 from mainline
- Dumped compiler optimisations
- Voodoo Sound v10 is still here, don’t worry :p
- Same Newlib based bare metal toolchain as previous release
- None currently