The android kernel modifies the content of the standard Linux kernel.

Source: Internet
Author: User

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/

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.