您的位置:首页 > 运维架构 > Linux

Android—Step by step - Compile kernel module for Samsung Galaxy S3 (Linux)

2016-02-01 00:00 681 查看
http://www.edv-huber.com/index.php/problemloesungen/20-step-by-step-compile-kernel-module-for-samsung-galaxy-s3-linux

1. Download the Source for your current kernel version from "http://opensource.samsung.com".





2.
Extract the file "Kernel.tar.gz" (inside the downloaded zip) into a
folder, for example "/home/<your_user_name>/androidkernel".

3. Open the README_Kernel.txt

4.
Download the Android NDK containing the suggested toolchain, in our
case "arm-eabi-4.4.3". The latest NDK package often does not contain
older toolchains, so you have to make some experiments until you find
the right one. All the NDKs are available from
"http://developer.android.com/tools/sdk/ndk". Copy the URL and modify it
according to the given version numbers.



5. For a 64bit operating system, you have to take the 64bit link, of course. Paste the URL into a text editor of your choice.



6. Now you have to find out, which NDK version contains the needed 4.4.3 toolchain. In our case, it is the version "8e".



7. Copy the modified link back to your browser and download the old NDK version.



8. Extract the archive, for example to "/home/<your_user_name>/androidbuild".

9.
Modify "/home/<your_user_name>/androidkernel/Makefile" and change
the following parts according to your environment. The "EXTRAVERSION"
string has to be the one from your phone's system information.







10.
Pay attention to the correct line ending "arm-linux-androideabi-". The
build process will look for the compiler "gcc" inside the "bin"
directory. The android NDK contains the compiler, but the filename
always starts with "arm-linux-androideabi-". The NDK version, the
toolchain version, and the system architecture (32/64bit) have to match
your environment.

11. Move to the directory of your kernel in a
command line interface, for example "cd
/home/<your_user_name>/androidkernel/".

12. Enter "make arch=arm m0_00_defconfig".

13. Enter "make menuconfig".

14.
Modify the kernel configuration according to your wishes. For example
select "M" for "Device drivers -> Input device support -> Joystick
interface" to create the module "joydev.ko".



15. Leave "menuconfig" and save.



14. Enter "make CFLAGS_MODULE=-fno-pic modules".

15.
The modules will be compiled and stored in
"/home/<your_user_name>/androidkernel/drivers/*/*.ko", according
to each module's category.

16. If you like, you can comiple a
completely new kernel for your phone with the command "make". The kernel
image will be stored in
"/home/<your_user_name>/androidkernel/arch/arm/boot/zImage" then.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: