Arch --This isAndroidModifiedARCH/ARMThe following files:
ARCH/arm:
Chg: ARCH/ARM/kernel/entry-armv.S
Chg: ARCH/ARM/kernel/module. c
Chg: ARCH/ARM/kernel/process. c
Chg: ARCH/ARM/kernel/ptrace. c
Chg: ARCH/ARM/kernel/setup. c
Chg: ARCH/ARM/kernel/signal. c
Chg: ARCH/ARM/kernel/traps. c
Chg: ARCH/ARM/MM/cache-v6.S
Chg: ARCH/ARM/VFP/entry. s
Chg: ARCH/ARM/VFP. h
Chg: ARCH/ARM/VFP/vfphw. s
Chg: ARCH/ARM/VFP/vfpmodule. c
Goldfish --This is a virtual hardware platform developed by Android for simulators. Goldfish executes the arm926t command (in 2.6.29, goldfish also supports the atmv7 command), but files on the virtual platform are not compiled on the actual device.
ARCH/ARM/Mach-goldfish:
New: ARCH/ARM/Mach-goldfish/audio. c
New: ARCH/ARM/Mach-goldfish/board-goldfish.c
New: ARCH/ARM/Mach-goldfish/pdev_bus.c
New: ARCH/ARM/Mach-goldfish/PM. c
New: ARCH/ARM/Mach-goldfish/switch. c
New: ARCH/ARM/Mach-goldfish/Timer. c
Yaffs2 --Unlike PCs that store files on hard disks, mobile devices generally use flash as storage devices. In particular, NAND Flash is widely used (most mobile phones use NAND Flash, while some SamSung mobile phones use onenand ). NAND Flash has the advantages of low cost and high density.
Yaffs2 is short for "yet another flash file system, 2nd Edition. It provides efficient interfaces before Linux kernel and NAND Flash devices. Yaffs2 is not included in the standard Linux kernel. Google adds it to the android Kernel
FS/yaffs2:
New: fs/yaffs2/devextras. h
New: fs/yaffs2/kconfig
New: fs/yaffs2/makefile
New: fs/yaffs2/moduleconfig. h
New: fs/yaffs2/yaffs_checkptr1_c
New: fs/yaffs2/yaffs_checkptr1_h
New: fs/yaffs2/yaffs_ecc.c
New: fs/yaffs2/yaffs_ecc.h
New: fs/yaffs2/yaffs_fs.c
New: fs/yaffs2/yaffs_getblockinfo.h
New: fs/yaffs2/yaffs_guts.c
New: fs/yaffs2/yaffs_guts.h
New: fs/yaffs2/yaffsinterface. h
New: fs/yaffs2/yaffs_mtdif1.c
New: fs/yaffs2/yaffs_mtdif1.h
New: fs/yaffs2/yaffs_mtdif2.c
New: fs/yaffs2/yaffs_mtdif2.h
New: fs/yaffs2/yaffs_mtdif.c
New: fs/yaffs2/yaffs_mtdif.h
New: fs/yaffs2/yaffs_nand.c
New: fs/yaffs2/yaffs_nandemul2k.h
New: fs/yaffs2/yaffs_nand.h
New: fs/yaffs2/yaffs_packedtags1.c
New: fs/yaffs2/yaffs_packedtags1.h
New: fs/yaffs2/yaffs_packedtags2.c
New: fs/yaffs2/yaffs_packedtags2.h
New: fs/yaffs2/yaffs_qsort.c
New: fs/yaffs2/yaffs_qsort.h
New: fs/yaffs2/yaffs_tagscompat.c
New: fs/yaffs2/yaffs_tagscompat.h
New: fs/yaffs2/yaffs_tagsvalidity.c
New: fs/yaffs2/yaffs_tagsvalidity.h
New: fs/yaffs2/yportenv. h
Bluetooth --Google installed a patch for Bluetooth and fixed some Bluetooth bugs.
Drivers/Bluetooth:
Chg: Drivers/Bluetooth/bfusb. c
Chg: Drivers/Bluetooth/bt3c_cs.c
Chg: Drivers/Bluetooth/btusb. c
Chg: Drivers/Bluetooth/hci_h4.c
Chg: Drivers/Bluetooth/hci_ll.c
Scheduler --The changes to scheduler are very small and I have not studied it.
Chg: kernel/sched. c
New Android functionality --BesidesFixSomeBugAnd other small changes,AndroidSome new functions are introduced as follows:
IPC Binder-- The IPC binder is an inter-process communication (IPC) mechanic. it allows processes to provide services to other processes via a set of higher-level APIs than are available in standard Linux. an Internet search indicated
That the binder concept originated at be, inc., and then made its way into palm's software, before Google wrote a new binder for Android.
New: Drivers/staging/Android/binder. c
Low memory killer-- Android adds a low-memory killer that, each time it's called, scans the list of running Linux processes, and kills one. it was not clear in our cursory examination why Android adds a low-memory killer on top of the already
Existing one in the standard Linux kernel.
New: Drivers/staging/Android/lowmemorykiller. c
Ashmem-- Ashmem is an anonymous shared memory system that adds interfaces so processes can share named blocks of memory. as an example, the system cocould use ashmem to store icons, which multiple processes cocould then access when drawing
Their UI. the advantage of ashmem over traditional Linux shared memory is that it provides a means for the kernel to reclaim these shared memory blocks if they are not currently in use. if a process then tries to access a shared memory block the kernel has
Freed, it will receive an error, and will then need to reallocate the block and reload the data.
New: mm/ashmem. c
Ram console and Log Device-- To aid in debugging, Android adds the ability to store kernel log messages to a RAM buffer. Additionally, Android adds a separate logging module so that user processes can read and write user log messages.
New: Drivers/staging/Android/ram_lele.c
Android debug Bridge-- Debugging embedded devices can best be described as challenging. to make debugging easier, Google created the android debug bridge (ADB), which is a protocol that runs over a USB link between a hardware device running
Android and a developer writing applications on a desktop PC.
Drivers/USB/gadget:
New: Drivers/USB/gadget/Android. c
Chg: Drivers/USB/gadget/composite. c
Chg: Drivers/USB/gadget/f_acm.c
New: Drivers/USB/gadget/f_acm.h
New: Drivers/USB/gadget/f_adb.c
New: Drivers/USB/gadget/f_adb.h
New: Drivers/USB/gadget/f_mass_storage.c
New: Drivers/USB/gadget/f_mass_storage.h
Android also adds a new real-time clock, switch support, and timed gpio support. We list the impacted files for these new modules at the end of this document.
Power Management --Power management is one of the most difficult pieces to get right in mobile devices, so we split it out into a group separate from the other pieces. it's interesting to note that Google added a new power management system
To Linux, rather than reuse what already existed. We list the impacted files at the end of this document.
Kernel/power:
New: kernel/power/consoleearlysuspend. c
New: kernel/power/earlysuspend. c
New: kernel/power/fbearlysuspend. c
Chg: kernel/power/Main. c
Chg: kernel/power. h
Chg: kernel/power/process. c
New: kernel/power/userwakelock. c
New: kernel/power/wakelock. c
Miscellaneous changes --In addition to the above, we found a number of changes that cocould best be described as, 'miscellaneous. 'among other things, these changes include additional debugging support, keypad light controls, and management
Of TCP networking
Http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Porting-Android-to-a-new-device/