Custom Kernel Development: Devs only

Search This thread

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
---[ UPDATED: July 26, 2011 16:30 GMT ]---


\\--[ ANNOUNCEMENT ]--//

[Added] FreeKernel-mod350-Th#28 by ThJap

//--[ ANNOUNCEMENT ]--\\


I have started this thread based on zdzihu's suggestion...


This thread is intended for Developers ONLY...


A method of booting custom kernels (using kexec) has been developed. Thanks Bin4ry, zdzihu, jerpelea, MrHassell, blagus, and all other devs who are working hard to make this stable. (i am sorry if i missed any names)

hope the devs can use this thread to discuss on custom kernel dev....




please keep this thread clean for the devs to discuss the kernel development aspects...

for general discussions please use the following thread:
http://xdaforums.com/showthread.php?t=1018391


i will also keep updating this regularly with the information like relevant posts; features, limitations & links to custom kernels currently available...


*** [IMP]: before flashing custom update.zips read this: how to find the version/type of recovery on ur current ROM ***




>>> How-To for testing custom kernel <<<


>>> How to build a Linux kernel and flash it to the phone {from SE Dev Blog} <<<



Custom kernel sources released:


Current list of custom kernels:


Additional Info:
  1. the following files are required in the /system/kernel/ folder:
    • splboot.ko (some devs move this file to /system/lib/modules/splboot.ko)
    • miniloader
    • boot.img (this is the actual custom kernel)
  2. for booting the OS using custom kernel some modifications are required to the /system/bin/chargemon file
  3. also some modified/updated modules (e.g. wifi.ko) are provided for compatibility with the custom kernel


Bootloader Bypass files:
There seems to be some issues face by some users, where in using a different version of miniloader helped them sort out the issues. So I will provide all those versions.
Flashable update.zip via recovery, contains miniloader & splboot.ko:
  1. bootloader_bypass_files_v1.zip [slightly older miniloader] {came with older FreeXperiaKernels}
  2. bootloader_bypass_files_v2.zip [older miniloader] (testing only) {came with FreeKernel by zdzihu}
  3. bootloader_bypass_files_v3.zip [older miniloader] (testing only) {came with Flashtool v0.2.9.1}
  4. bootloader_bypass_files_v4.zip [newest miniloader] {comes with newer FreeXperiaKernels (from CM7 J022 K011 onwards)} (recommended)
[IMP] for v4 miniloader: u need to be on the baseband from the baseband package provided in CM7 J022 for the v4 miniloader to work properly... even if u already have baseband 2.0.52 please reflash using the baseband package provided in CM7 J022... even if u are on a different ROM u will need to use the baseband from the above package to get custom kernel to work properly
 
Last edited:

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
FreeKernel-alpha1 by zdzihu


Linux Kernel Version:
  • 2.6.29


Kernel features:
  • removed 32 fps cap
  • implemented netfilter (Droid wall, native USB/wifi tethering etc.)
  • undervolted to 0.950mV to save battery
  • don't remember what else I did, I bet something nasty
  • super ugly boot logo!


Requirements:
  • baseband .52 + the relevant kernel
  • clean 2.1 ROM, compatibile with .52 baseband (e.g. .504)
  • working xRecovery


Known Issues:


Tested On:
  • Stock SE Firmware 2.0.A.0.504


Link to download boot.img (flashable via recovery):

http://www.mediafire.com/?1gesziiz4pbvcr6


MD5 hash of boot.img:

Code:
d8e98b647641bc55270ccb73729f007f


Additional file(s) provided with kernel:
  • wifi.ko module
 
Last edited:

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
FreeKernel-alpha1 in-call volume fix by zdzihu


Linux Kernel Version:
  • 2.6.29


Kernel features:
  • possible in-call volume fix
  • removed 32 fps cap
  • implemented netfilter (Droid wall, native USB/wifi tethering etc.)
  • undervolted to 0.950mV to save battery
  • don't remember what else I did, I bet something nasty
  • super ugly boot logo!


Requirements:
  • baseband .52 + the relevant kernel
  • clean 2.1 ROM, compatibile with .52 baseband (e.g. .504)
  • working xRecovery


Known Issues:


Tested On:
  • Stock SE Firmware 2.0.A.0.504


Link to download boot.img (flashable via recovery):

http://www.mediafire.com/?jx4lbhfioquw4sk


MD5 hash of boot.img:

Code:
5de24423ad2ccce80bbd5ac9aae3079a


Additional file(s) provided with kernel:
  • wifi.ko module
 
Last edited:

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
FreeXperia Kernel-001 by jerpelea (from CM7.0 RC4 v014 k001 PREVIEW)


Linux Kernel Version:
  • 2.6.29


Kernel features:
  • tun/tap
  • dmmod
  • dmcrypt
  • 1.1 ghz frequency
  • undervolt
  • ondemand cpu scaller (default)
  • camera debug messages
  • netfilter


Requirements:
  • baseband 2.0.52


Known Issues:
  • wifi doesnt work. enabling/activating wifi causes WLOD (white LED of Death) and then reboot


Tested On:


Link to download boot.img (flashable via recovery):

http://www.mediafire.com/?8uzo3nudxh89x67


MD5 hash of boot.img:

Code:
fcacdb0189ca25b7c834a4a855f1776e


Additional file(s) provided with kernel:
  • kernel part of custom ROM



Bootloader bypass file(s) required to test custom kernel:

There seems to be some issues face by some users, where in using an older version of miniloader helped them sort out the issues. So I will provide here both versions.
Flashable update.zip via recovery, contains miniloader & splboot.ko:
  1. bootloader_bypass_files_v1.zip [newest miniloader] (recommended)
  2. bootloader_bypass_files_v2.zip [older miniloader] (testing only)
 
Last edited:

Blagus

Inactive Recognized Developer
Jun 10, 2010
1,324
1,048
One question for bypass-method developers: is it necessary to have stock SE's ROM for better chances of succeeding in porting splboot/miniloader to X8?
 

MrHassell

Senior Member
Dec 10, 2010
393
249
Melbourne
innertech.com.au
2.1update1 - base anyone can restore with SEUS, demonstrated work from this point, with the FreeX10, FreeXperia, Wolfbreak, rendeiro2005 and others without many problems. It might be a case of, which has the least issues, what are they and how do we eliminate them.

The most common baseband with development is 52. FreeXperia - CM7 GingerBread - entirely developed for 52 - there are two groups.

Original Baseband series: 48-49-50-51-52 (52 = last of first generation)
Current Baseband series: 53-54-55-56-57-58 (59 - not released)

Baseband is a multiplexer. The core C files are - vendor/qcom-proprietary-qsd8k/data/qmi/qmuxd/../src/qmi_qmux.c and is compiled for ARM with* vendor/qcom-proprietary-qsd8k/data/qmi/qmuxd/../platform/qmi_platform_qmux_io.c and the core interface to the Linux kernel - vendor/qcom-proprietary-qsd8k/data/qmi/qmuxd/../platform/linux_qmi_qmux_if_server.c requires several SO - (ELF binaries) - be present, compiled and available to the kernel and the linker - /system/bin/linker

liblog.so
libdiag.so
libc.so
libstdc++.so
libm.so

Everything working - /data/radio/qmux_connect_socket - will bind to an address path and make possible, one radio with one input signal to many data-output-lines and many input lines. Herein the core networking is established, with WiFi and Bluetooth become linked, with the famous exploits for NULL pointer dereference vulnerability which exist in Linux kernels < .30 - Which is no coincidence, why many Kernels are below this release version.

sent from neptune
 
Last edited:

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
FreeXperia Kernel-002 by jerpelea (from CM7.0.0 J015 k002)


Linux Kernel Version:
  • 2.6.29


Kernel features:
  • possible in-call volume fix
  • gps fix
  • lcd backlight resume fix
  • tun/tap
  • dmmod
  • dmcrypt
  • 1.1 ghz frequency
  • undervolt
  • ondemand cpu scaller (default)
  • camera debug messages
  • netfilter


Requirements:
  • baseband 2.0.52


Known Issues:
  • wifi doesnt work


Tested On:


Link to download boot.img (flashable via recovery):

http://www.mediafire.com/?5egorvjv1lppno2


MD5 hash of boot.img:

Code:
25cb217886b88ba1085dfd164c8a3e8d


Additional file(s) provided with kernel:
  • kernel part of custom ROM



Bootloader bypass file(s) required to test custom kernel:

There seems to be some issues face by some users, where in using an older version of miniloader helped them sort out the issues. So I will provide here both versions.
Flashable update.zip via recovery, contains miniloader & splboot.ko:
  1. bootloader_bypass_files_v1.zip [newest miniloader] (recommended)
  2. bootloader_bypass_files_v2.zip [older miniloader] (testing only)
 
Last edited:

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
TripNKernel Modified FreeKernel-03
based on zdzihu's FreeKernel


Linux Kernel Version:
  • 2.6.29


Kernel features:
  • removed 32 fps cap


Requirements:
  • baseband 2.0.49/2.0.52


Known Issues:
  • GPS (not confirmed)
  • apps2sd not working


Tested On:


Link to download boot.img (flashable via recovery):

http://www.mediafire.com/?4mscmhfbr99hdt9


MD5 hash of boot.img:

Code:
aa40c889f482731eb4324e0c2a2b5336


Additional file(s) provided with kernel:
  • kernel part of custom ROM



Bootloader bypass file(s) required to test custom kernel:

There seems to be some issues face by some users, where in using an older version of miniloader helped them sort out the issues. So I will provide here both versions.
Flashable update.zip via recovery, contains miniloader & splboot.ko:
  1. bootloader_bypass_files_v1.zip [newest miniloader] (recommended)
  2. bootloader_bypass_files_v2.zip [older miniloader] (testing only)
 
Last edited:

Meikrekel

Senior Member
Jul 15, 2010
207
20
Bergen
You should place all your kernel files in /system/kernel/ and you must make some changes to chargemon (/system/bin/chargemon). I have no idea what changes you should exactly make..
 
  • Like
Reactions: AN7 OverClocker

Wolfbreak

Inactive Recognized Developer
Aug 8, 2010
4,243
11,508
system/bin/chargemon
system/bin/charger
system/lib/modules/wifi.ko

and Kernel folder needs to be copied out from ROMs to get custom Kernel.
 

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
system/bin/chargemon
system/bin/charger
system/lib/modules/wifi.ko

and Kernel folder needs to be copied out from ROMs to get custom Kernel.

i would not recommend copying the file /system/bin/chargemon as is (because of the different recoveries available & variations that each dev/each version of flashtool introduces) rather only search for the custom kernel booting part and add that to the chargemon file if it isnt there already...

also no need to copy the whole /system/kernel/ folder... u just need the boot.img for that specific custom kernel... (though here i assume that u already have miniloader & splboot.ko in /system/kernel/)

and yes individual rewritten modules (like wifi.ko) have to be copied too... it would be great if the devs can post update.zips which contain the hotfixes/addons (including custom kernel, modified modules, etc) so that the kernel and related files can be used on other roms too, instead of downloading the whole rom...
 

Top Liked Posts