當前位置:首頁 » 安卓系統 » androidkernel

androidkernel

發布時間: 2023-05-23 12:23:10

⑴ android kernel 怎樣反編譯

好像不能反編譯吧,自己到xda論壇找源碼。如果手機廠官方沒有公開源碼,也沒辦法了

⑵ Android操作系統是基於linux Kernel是什麼意思

每一個操作系統都有不同的內核。像Windows每個版本的內核都不同,而Mac OX用的是Unix的內核,Linux用的是Linux內核。而Android操作系統的內核是Linux,但是他不是一種Linux操作系統。

⑶ 安卓的 linux kernel是什麼意思

安卓本來就是構建在linux系統下的一個操作系帶正統。
它必須調用Linux內核指鍵才能運行。
linux kernel的意唯行巧思就是linux核心,是安卓系統的最底層。

⑷ 在android系統中,內核(kernel)被儲存於設備的哪一個分區中

  1. kenel存在於boot分區中,但具體分區不同手機所在的分區就不同,可以通過分區列表獲取兄物態。

  2. Android(安卓),是一個以Linux為基礎的開源移動設備操作系統,主要用於智能手機和平板電腦羨源,由Google成立的Open Handset Alliance(OHA,開放手持設備聯盟)持續領導與開發中。

  3. Android已發布的最新版本為Android 5.0(Lollipop)。

安卓手機的,系統版本和內核版本是指什麼

系統版本:安卓的版本,稱為軟體

定義如果對象集S滿足下列兩個條件

1、S中至少包含兩個不同元素

2、S中的元素按一定方式相互聯系

則稱S為一個系統,S的元素為系統的組分。

而版本就是一個序列號

內核版本:手機的硬體,稱為硬體

如主板,GPS,攝像頭,WiFi,藍牙等,驅動集合體的版本號。

(5)androidkernel擴展閱讀

系統內核

Android 是運行於Linux kernel之上,但並不是GNU/Linux。因為在一般GNU/Linux 里支持的功能,Android 大都沒有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。

Android又以Bionic 取代Glibc、以Skia 取代Cairo、再以opencore取代FFmpeg等等。

Android 為了達到商業應用,必須移除被GNU GPL授權證所約束的,例如Android將驅動程序移Userspace,使得Linux driver 與 Linux kernel徹底分開。

Bionic/Libc/Kernel/ 並非標準的Kernel header files。

Android 的 Kernel header 是利用工具由 Linux Kernel header 所產生的,這樣做是為了保留常數、數據結構與宏。

Android 的 Linux kernel控制包括安全(Security),存儲器管理(Memory Management),程序管理(Process Management),網路堆棧(Network Stack),驅動程序模(DriverModel)等。

⑹ android的內核是什麼意思

內核版本就是手機的硬體(如主板,GPS,攝像頭,WiFi,藍牙等)驅動集合體的版本號!
刷完ROM加刷內核就是刷完ROM後加刷一個zip格式的內核文件。

⑺ android kernel和標准linux kernel的區別

android kernel和標准linux kernel的區別

android kernel和標准linux kernel的區別
總的區別可以歸納如下:
ARCH -- 這是Android修改了arch/arm下面的一些檔案:
arch/arm:
Chg: arch/arm/kernel/entry-armv.S
Chg: arch/arm/kernel/mole.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/vfp.h
Chg: arch/arm/vfp/vfphw.S
Chg: arch/arm/vfp/vfpmole.c
Goldfish -- 這是Android為了模擬器所開發的一個虛擬硬體平台。Goldfish執行arm926T指令(在2.6.29中,goldfish也支援ATMv7指令),但是在實際的裝置中,該虛擬平台的檔案不會被編譯。
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 -- 和PC把檔案儲存在硬碟上不一樣, 移動裝置一般把Flash作為儲存裝數模鏈置。尤其是NAND flash應用非常廣泛(絕大多數手機用的都是NAND flash,三星的一些手機使用的是OneNAND)。NAND flash具有低成碼帶本和高密度的優點。
YAFFS2 是「Yet Another Flash File System, 2nd edition" 的簡稱。 它提供在Linux核心和NAND flash裝置 之前高效率的介面。 YAFFS2並沒薯孫有包含在標準的Linux核心中, Google把它新增到了Android的kernel
fs/yaffs2:
New: fs/yaffs2/devextras.h
New: fs/yaffs2/Kconfig
New: fs/yaffs2/Makefile
New: fs/yaffs2/moleconfig.h
New: fs/yaffs2/yaffs_checkptrw.c
New: fs/yaffs2/yaffs_checkptrw.h
New: fs/yaffs2/yaffs_e.c
New: fs/yaffs2/yaffs_e.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_tagspat.c
New: fs/yaffs2/yaffs_tagspat.h
New: fs/yaffs2/yaffs_tagsvalidity.c
New: fs/yaffs2/yaffs_tagsvalidity.h
New: fs/yaffs2/yportenv.h
Bluetooth -- Google為Bluetooth打上了patch,fix了一些Bluetooth的bug
drivers/bluetooth:
Chg: drivers/bluetooth/bfu *** .c
Chg: drivers/bluetooth/bt3c_cs.c
Chg: drivers/bluetooth/btu *** .c
Chg: drivers/bluetooth/hci_h4.c
Chg: drivers/bluetooth/hci_ll.c
Scheler -- 對於Scheler的改變非常小,我對它並沒有去研究。
Chg: kernel/sched.c

New Android Functionality -- 除了fix一些bug以及其他一些小的更改,Android增加了一些新的功能,介紹如下:
IPC Binder -- The IPC Binder is an Inter-Process Communication (IPC) mechani *** . It allows processes to provide services to other processes via a set of higher-level APIs than are available in standard Linux. An Inter search indicated that the Binder concept originated at Be, Inc., and then made its way into Palm's sofare, 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 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 could use Ashmem to store icons, which multiple processes could then aess 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 aess 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 mole so that user processes can read and write user log messages.
New: drivers/staging/android/ram_console.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 beeen a hardware device running Android and a developer writing applications on a desk PC.
drivers/u *** /gadget:
New: drivers/u *** /gadget/android.c
Chg: drivers/u *** /gadget/posite.c
Chg: drivers/u *** /gadget/f_acm.c
New: drivers/u *** /gadget/f_acm.h
New: drivers/u *** /gadget/f_adb.c
New: drivers/u *** /gadget/f_adb.h
New: drivers/u *** /gadget/f_mass_storage.c
New: drivers/u *** /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 moles 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/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 could best be described as, 'Miscellaneous.' Among other things, these changes include additional debugging support, keypad light controls, and management of TCP neorking.
(freedom_asic)

Android kernel是從linux kernel 修改過來的,大部分的核心沒什麼變化。Android廠商會定製原始碼修改驅動 或者增加新的特性等。

⑻ android 怎樣編譯kernel 命令 make

方法如下:
在Linux的環境下:
建立目錄:

mkdir ~/android-kernel cd android-kernel

下載源代碼, 大概有280MB, 慢慢等哈~~~ (當然你要先安裝git) git clone git://git.linuxtogo.org/home/groups/mobile-linux/kernel.git
類似的屏幕信息:
Initialized empty Git repository in /home/user/android-kernel/kernel/.git/ remote: Counting objects: 908251, done.
remote: Compressing objects: 100% (153970/153970), done.
remote: Total 908251 (delta 755115), reused 906063 (delta 753016) Receiving objects: 100% (908251/908251), 281.86 MiB | 292 KiB/s, done. Resolving deltas: 100% (755115/755115), done. Checking out files: 100% (22584/22584), done.
然後去到htc-msm branch: cd kernel
git checkout -b htc-msm origin/htc-msm
屏幕信息:
Branch htc-msm set up to track remote branch refs/remotes/origin/htc-msm. Switched to a new branch "htc-msm"

下載ARM的toolchain, 大概64MB左右, 下到~/android-kernel: 下

:
http://www.codesourcery.com/gnu_toolchains/arm/portal/package2549/public/arm-none-linux-gnueabi/arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

cd ~/android-kernel
tar xjf arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
編譯kernel

准備預設的Kaiser 配置文件.config
cd ~/android-kernel/kernel

make htckaiser_defconfig ARCH=arm
然後編譯zImage:
export PATH=~/android-kernel/arm-2008q1/bin:$PATH
make zImage ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
編譯好的在: ~/android-kernel/kernel/arch/arm/boot/zImage

如果你的機器是多核的, 可以編譯的時候用-j <cores/cpus_number>來加速:
比如, 雙核的可以:
make -j 2 zImage ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi
滿意請採納謝謝

⑼ android 系統怎麼將修改好的kernel打包成boot.img

方法/步驟 boot映像並不是一個完整的文件系統,它是一種android自定義的文件格式,該格式裂冊包括了2K的文件頭,後面緊跟著是用gzip壓縮過的鬧殲內核,再後面是一個ramdisk內存檔,然後緊跟著第二階段的載入器程序(這個載入器程序是可選的,在某些映像中或許沒有這部分)。此類文件的定義可以從源代碼android-src/system/core/mkbootimg找到一個液源沖叫做bootimg.h的文件。 /* ** +-----------------+ ** boot header 1 page ** +-----------------+ ** kernel n pages ** +-----------------+ ** ramdisk m pages ** +-----------------+ ** second stage o pages ** +-----------------+ ** ** n = (kernel_size + page_size - 1) / page_size ** m = (ramdisk_size + page_size - 1) / page_size ** o = (second_size + page_size - 1) / page_size ** ** 0. all entities are page_size aligned in flash ** 1. kernel and ramdisk are required (size != 0) ** 2. second is optional (second_size == 0 -> no second) ** 3. load each element (kernel, ramdisk, second) at ** the specified physical address (kernel_addr, etc) ** 4. prepare tags at tag_addr. kernel_args[] is ** appended to the kernel commandline in the tags. ** 5. r0 = 0, r1 = MACHINE_TYPE, r2 = tags_addr ** 6. if second_size != 0: jump to second_addr ** else: jump to kernel_addr */ ramdisk映像是一個最基礎的小型文件系統,它包括了初始化系統所需要的全部核心文件,例如:初始化init進程以及init.rc(可以用於設置很多系統的參數)等文件 看這里是不是顯得頭大呢,,,今天哥們分享的教程是比較簡單的,不需要認識這些東西是做什麼的,有什麼用,。只需要要一個簡單的工具就能實現你想要解包boot.img的問題。。。 下載一個ROM助手,網路搜索下就行,最好是官網下載,蘑菇論壇。 安裝並打開它,在主界面上你會找到「解包IMG」功能的按鈕, 如何解包、編輯、打包boot.img文件 點擊後把你的boot鏡像文件載入進去,等待幾分鍾,就能把boot的鏡像解開了 ,,上面提示打開文件夾,點擊之後,就能找到boot解開後的全部內容,在這里你想怎麼編輯就怎麼編輯。 看到木有boot解包就是這么簡單,其實ROM助手還可以解包recovery 、userdara等鏡像文件。只要用了就看到,步驟和上面的操作時一樣的 。 如何解包、編輯、打包boot.img文件 K!好了,修改大家就自己去奮斗吧,其實說實話,安卓本來基於LINUX就是在那系統下玩的,用WINDOWS的就比較吃虧了。。截止目前ROM助手還沒有打包功能,相信他們開發團隊很快就能完善這項功能的說。我這里根據我的經驗來分享下如何打包boot鏡像文件,這里需要用命令符 開始-運行-cmdd:回車cd boot回車bootimg --repack-bootimg 0x200000 "mem=211M console=null androidboot.hardware=qcom" 2048 4096 出現「output boot.img」的字樣就顯示打包成功 6 到這里就完全打包解包無壓力了,額,recovery userdara 解包打包,就直接按照這個操作步驟即可完成。。。

⑽ android kernel menuconfig 有哪些可以打開的選項

ICS/GB版本請在alps代碼目錄下shell: ./mk ${project name} new /*在配置kernel前先保證new過,如果已經new過可以省卻這步。new後會在kenerl目錄下生成.config,該文件在make menuconfig會用到,如果不存在.config文件則所有的kernel配置都會恢復成默認的*/ cd kernel /*切換到kernel目錄 */ TARGET_PRODUCT=${project name} make menuconfig /*使用menuconfig配置,修改選項後頌源銷保存退出,此時會在kernel目錄下重新生成.config文件 */ 將.config復制到mediatek/config/${project name}/autoconfig/kconfig/目錄下並重命名為project 重新new kernel和用./mk bootimage即可下載 ICS2以後的版本請在alps代碼目錄裂談下shell: ./mk ${project name} new /*在配置kernel前先保證new過,如果已經new過可以省卻這步。new後會在kenerl目錄下生成.config,該文件在make menuconfig會用野遊到,如果不存在.config文件則所有的kernel配置都會恢復成默認的*/ cd kernel /*切換到kernel目錄 */ TARGET_PRODUCT=${project name} make O=out menuconfig /* 如果出現../mediatek/build/kernel/Makefile找不到的錯誤,請用 TARGET_PRODUCT=${project name} KBUILD_OUTPUT_SUPPORT=yesmake O=out menuconfig 配置完後,new kernel,

熱點內容
parsephp 發布:2025-02-12 18:17:28 瀏覽:17
stl源碼剖析高清pdf 發布:2025-02-12 18:11:48 瀏覽:978
ftp匿名帳號 發布:2025-02-12 18:04:32 瀏覽:763
銳志哪個配置性價比最高 發布:2025-02-12 17:38:43 瀏覽:918
智能推送演算法 發布:2025-02-12 17:38:41 瀏覽:835
拍照上傳器 發布:2025-02-12 17:34:29 瀏覽:652
androidweb框架 發布:2025-02-12 17:32:45 瀏覽:76
安卓編程賀卡 發布:2025-02-12 17:32:44 瀏覽:838
php獲取資料庫的欄位 發布:2025-02-12 17:29:02 瀏覽:766
伺服器地址消失 發布:2025-02-12 17:23:36 瀏覽:951