The Linux kernel of Android is stored in the kernel subdirectory. By comparing it with the standard Linux 2.6.25 kernel, we can find that it mainly adds the following content:
1. Add the gold-fish platform based on the ARM architecture. The directories added are as follows:
Kernel/ARCH/ARM/Mach-goldfish
Kernel/include/ASM-arm/arch-goldfish
The gold-fish platform uses arm926t CPU as the baseband processor. The CPU clock speed is at least 200 m Hz. The msm7201a CPU (arm 11) is used as the main CPU, and the clock speed is 528 M Hz.
2. added the yaffs2 FLASH file system and added the following directories:
Kernel/fs/yaffs2
In fact, the system. IMG and ramdisk. imgfiles generated after the android package is compiled are in the yaffs2 format.
3. added the android driver. The corresponding directory is:
Kernel/Drivers/android
Mainly divided:
Android IPC: binder
Android log system: Logger
Android power management: Power
Android alarm management: Alarm
Android memory Console: ram_console
Gpio controlled by Android clock: timed_gpio
4. Added switch processing. The corresponding directory is:
Kernel/Drivers/switch/
5. A new shared memory processing method is added, and the corresponding files are:
Kernel/MM/ashmem. c
6. Other patches for the Linux-2.6.25 kernel, such as Bluetooth, are not analyzed in detail here
In addition, the driver files related to the goldfish platform are as follows:
1. character output device:
Kernel/Drivers/Char/goldfish_tty.c
2. Image Display Device: (frame buffer)
Kernel/Drivers/Video/goldfishfb. c
3. keyboard input device:
Kernel/Drivers/input/keyboard/goldfish_events.c
4. RTC device: (real time clock)
Kernel/Drivers/RTC/rtc-goldfish.c
5. USB device:
Kernel/Drivers/USB/gadget/android_adb.c
6. SD card device:
Kernel/Drivers/MMC/host/goldfish. c
7. Flash devices:
Kernel/Drivers/MTD/devices/goldfish_nand.c
Kernel/Drivers/MTD/devices/goldfish_nand_reg.h
8. LED device:
Kernel/Drivers/LEDs/ledtrig-sleep.c
9. Power supply device:
Kernel/Drivers/power/goldfish_battery.c
10. audio device:
Kernel/ARCH/ARM/Mach-goldfish/audio. c
11. Power Management:
Kernel/ARCH/ARM/Mach-goldfish/PM. c
12. Clock management:
Kernel/ARCH/ARM/Mach-goldfish/Timer. c