Android 的 Linux 内核与驱动程序
Android 的 Linux 内核与驱动程序
第一部分 Linux 核心与驱动
第二部分 Android 专用驱动
第三部分 Android 使用的设备驱动
第一部分 Linux 核心与驱动
Android 使用标准的 Linux2.6 内核,
作为其操作系统。
Android 1.0 (release-1.0
使用 Linux2.6.25
Android 1.5 (sdk-1.5_r1)
使用 Linux2.6.27
Android 1.6 (sdk-1.6_r1)
使用 Linux2.6.29
第一部分 Linux 核心与驱动
获取通用内核的代码:
$ git clone git://android.git.kernel.org/kernel/common.git
kernel/common.git 为通用 Kernel 的工程名称。
Android1.5 之前的版本具有 kernel 目录,其中也是参考
的 kernel 。
第一部分 Linux 核心与驱动
Android Linux 内核的配置和编译:
$ make ARCH=arm goldfish_defconfig .config
$ make ARCH=arm CROSS_COMPILE={path}/arm-none-linux-gnueabi-
Android 通用的 Kernel 使用的处理器为 goldfis ,这是
一种 ARM 处理器。这个 Linux 编译生成的结果在 Android
的模拟器中使用。
第一部分 Linux 核心与驱动
Goldfish 处理器的编译结果: vmlinux
为内核的 ELF文件, zImage 为内核的压缩映
像文件。
LD vmlinux
SYSMAP System.map
SYSMAP .tmp_System.map
OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
AS arch/arm/boot/compressed/head.o
GZIP arch/arm/boot/compressed/piggy.gz
AS arch/arm/boot/compressed/piggy.o
CC arch/arm/boot/compressed/misc.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
vmlinux