androidlinux内核源码编译-自己编译Google Android内核的Linux源代码

这是我在实验室做实验时写的一篇文章。 今天刚发现还没有发,所以整理了一下发上来。 谷歌已经推出了Android平台所基于的Linux源代码。 我在之前的相关文章中也谈到过这一点。 除了比较这个内核和标准内核的区别之外androidlinux内核源码编译,我们还可以通过源代码编译出我们自己的内核。 镜子。 虽然当前编译的镜像与默认镜像相同,但这一步的成功将对后续的系统移植有很大的帮助。

以下是更详细的步骤。 首先我们知道Android默认的硬件处理器是ARM​​,所以我们需要在宿主机上创建一个交叉编译环境。 来到CodeSourcery,()选择ARM EABI和IA32 GNU/Linux,直接下载。 然后从这里获取内核源代码(),准备工作就完成了。

然后是配置交叉编译链并解压源代码的时候了。 建议这里把交叉编译工具的路径添加到PATH中,以后方便。

androidlinux内核源码编译-自己编译Google Android内核的Linux源代码

好了,接下来就是编译内核的常规步骤了。 首先你需要一个配置文件。 我们编译需要的配置文件存在于Android操作系统的proc目录下,具体为/proc/config.gz,所以需要导入。打开模拟器emulator -console,然后在另一个终端使用命令

adb pull /proc/config.gz ./

这样config.gz就被传送到当前目录了。 解压androidlinux内核源码编译,重命名为.config,放到kernel中,也就是源码解压的目录。 这是我们编译系统时需要使用的配置文件。

然后修改Makefile,指定为我们刚刚下载的交叉编译工具:

androidlinux内核源码编译-自己编译Google Android内核的Linux源代码

CROSS_COMPILE=/home/windstorm/Work/Android/arm-2007q3/bin/arm-none-eabi-

另外,2.6.23内核的降低的build-id不能在这里使用,必须删除。

#LDFLAGS_BUILD_ID = $(patsubst -Wl$(逗号)%,%,

$(call ld-option, -Wl$(逗号)–build-id,))

如果不删除,编译后的内核大小为4.3M,模拟器将无法加载。 我不确定为什么 build-id 不能在这里使用。 如果您知道,请不吝赐教。 谢谢。 最后我直接就搞定了。 生成的镜像手动保存为arch/arm/boot/zImage。 使用ll查看与原镜像sdk/tools/lib/images/kernel-qemu大小相同。

最后通过模拟器加载自编译内核,看看能否成功运行。

模拟器-kernel YOUROWNPATH/zImage

如果可以的话,恭喜你,你已经自己编译成功了Android内核。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 androidlinux内核源码编译-自己编译Google Android内核的Linux源代码 https://www.wkzy.net/game/196457.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务