Android内核编译与裁剪
编译Android内核创建一个目录android,用来存放我们即将要下载的android源码。 命令:$ mkdir android进入上一步中建立好的目录android。 命令:$ cd android选择一个内核版本,使用git下载android的源码。我选择了goldfish版本,该版本是适用于模拟器平台的内核版本。 命令: $ git clone ht...
编译Android内核
- 创建一个目录android,用来存放我们即将要下载的android源码。
命令:$ mkdir android
- 进入上一步中建立好的目录android。
命令:$ cd android
- 选择一个内核版本,使用git下载android的源码。我选择了goldfish版本,该版本是适用于模拟器平台的内核版本。
命令:
$ git clone https://android.googlesource.com/kernel/goldfish.git
查看goldfish内核在git中的所有分支信息。
命令:$ git branch -a
选择适合的分支,下载goldfish真正的代码。
命令:$ git branch android-goldfish-2.6.29
- 在编译android内核时,需要使用交叉编译器。选择工具链,使用git下载prebuilt工具链。
命令:
$ git clonehttps://android.googlesource.com/platform/prebuilt
- 将工具链的其bin路径添加到PATH中,确保工具链在环境变量中。
命令:
$ export PATH=$(pwd)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
6.设置其他环境变量。
命令:
$ export ARCH=arm
$ export SUBARCH=arm
$ export CROSS_COMPILE=arm-eabi-
- 进入内核的目录中。
命令:$ cd goldfish
- 编译内核源码。首先,设定编译时的默认配置文件,如果不这么做,可能会出现“找不到配置文件”错误。
命令:$ make goldfish_defconfig
图1.执行make goldfish_defconfig命令
执行完此条命令后,会在goldfish目录下生成一个.config文件。接着可直接编译。
图2.执行完上条命令,生成.config文件
命令:$ make
图3.执行make命令
执行完该命令后,会在“kernel/goldfish/arch/arm/boot/”目录下生成名为zImage的文件,大小为1.7M左右。
图4.执行完make命令,生成zImage文件
裁剪Android内核
1.为了使用makemenuconfig,需要安装ncurses。
命令:$ sudo apt-get install ncurses-dev
2.进行内核配置,执行相应命令。
命令:$ make menuconfig
3.进行内核裁剪。通过界面操作更改配置,以进行某些模块的裁剪。
图5.通过界面操作配置进行裁剪
4.编译裁剪之后的内核。生成新的zImage文件,大小约为995K。
命令:$ make
图6.编译裁剪过的内核生成的zImage文件属性
通过上述裁剪的过程,可以进行相关类似的操作,以裁剪不同的模块,满足不同的需要。编译裁剪之后的内核一般会发现其生成的zImage文件的大小会变小。
更多推荐
所有评论(0)