I successfully compiled and loaded custom Linux kernel into Android emulator (Eclair). Now I want to compile kernel for real Android device (Samsung Galaxy 5, Android 2.1 (Eclair)).
It seems that the same kernel image that was compiled for emulator, can't be used with real device. There is no much clear information given on how to do this.
Can someone tell what steps need to be changed to get kernel image for real android phone.
You are probably using the MSM kernel tree (for Qualcomm MSM processors), but the Samsung Galaxy S has a Samsung Hummingbird processor and thus needs the Samsung kernel tree, found here.
I don't know if the kernel tree includes a defconfig for the Galaxy S specifically, but you could probably use the "herring_defconfig" (make herring_defconfig
). Herring is the code name for the Nexus S, but the Galaxy S is quite similar.
If you are building the Android framework as well (not just the kernel), you'll likely need to extract binary drivers (for the camera, bluetooth, WiFi, radio, etc.) from the existing phone images and add them to your system build.