将从google 官网(http://code.google.com/p/android/downloads/list )下载的Android 的Linux Kernel 和标准的Linux 2.6.25 版本的Kernel 比较,Android 系统的Kernel 主要增加如下内容“
1. 基于 ARM 架构增加 Gold-Fish 平台 , 相应增加的目录如下 :
kernel/arch/arm/mach-goldfish
kernel/include/asm-arm/arch-goldfish
Gold-Fish 平台采用的是 ARM926T CPU 作为 BaseBand 处理器 , 该 CPU 主频至少为 200MHZ. 而要流畅运行Android 系统的CPU 主频至少要在400MHZ 以上,也就是说如果你要上Android 系统,最好是选用基于ARM11 及以上平台进行开发。
2. 增加了 yaffs2 FLASH 文件系统 , 增加的目录为 :kernel/fs/yaffs2
实际上, Android 包经过编译后生成的 system.img 和 ramdisk.img 文件就 yaffs2 格式的包 .
3. 增加了 Android 的相关 Driver, 相应目录为 :
kernel/drivers/android
主要分为 :
Android IPC 系统 : Binder
Android 日志系统 : Logger
Android 电源管理 : Power
Android 闹钟管理 : Alarm
Android 内存控制台 : Ram_console
Android 时钟控制的 gpio: Timed_gpio
4. 增加了 switch 处理 , 相应的目录为 :kernel/drivers/switch/
5. 增加了一种新的共享内存处理方式 , 相应增加的文件为 :kernel/mm/ashmem.c
6. 其他为 Linux-2.6.25 内核所做的补丁等等,例如 BlueTooth,
另外 GoldFish 平台相关的驱动文件如下 :
1. 字符输出设备 :
kernel/drivers/char/goldfish_tty.c
2. 图象显示设备 : (Frame Buffer)
kernel/drivers/video/goldfishfb.c
3. 键盘输入设备 :
kernel/drivers/input/keyboard/goldfish_events.c
4. RTC 设备 : (Real Time Clock)
kernel/drivers/rtc/rtc-goldfish.c
5. USB Device 设备 :
kernel/drivers/usb/gadget/android_adb.c
6. SD 卡设备 :
kernel/drivers/mmc/host/goldfish.c
7. FLASH 设备 :
kernel/drivers/mtd/devices/goldfish_nand.c
kernel/drivers/mtd/devices/goldfish_nand_reg.h
8. LED 设备 :
kernel/drivers/leds/ledtrig-sleep.c
9. 电源设备 :
kernel/drivers/power/goldfish_battery.c
10. 音频设备 :
kernel/arch/arm/mach-goldfish/audio.c
11. 电源管理 :
kernel/arch/arm/mach-goldfish/pm.c
12. 时钟管理 :
kernel/arch/arm/mach-goldfish/timer.c
下面一段摘自http://www.kandroid.org/android_pdk/intro_source_code.html
The Android Linux kernel includes enhancements to the Linux 2.6 kernel that provide additional drivers to support the Android platform, including:
Look for Android-specific enhancements in the following directories:
/drivers/android
/drivers/misc
/include/linux