⑴ Android內核和linux內核的區別
基帶的作用是通訊,不同的基帶版本會提升或衰減手機信號。內核版本代表這部手機所使用的Linux內核,不同的內核穩定性和功耗不盡相同,部分手機可通過刷第三方ROM換內核,也可以等待官方新版固件。版本號則表示手機的ROM版本。
⑵ Android 7.0用的是哪個版本的Linux內核
inux內核版本的分類Linux內核版本有兩種:穩定版和開發版 ,Linux內核版本號由專3組數字組成:第一屬個組數字.第二組數字.第三組數字
第一個組數字:目前發布的內核主版本。
第二個組數字:偶數表示穩定版本;奇數表示開發中版本。
第三個組數字:錯誤修補的次數。
例1: 2.6.18-128.ELsmp ,
第一個組數字: 2 , 主版本號
第二個組數字: 6 , 次版本號,表示穩定版本(因為有偶數)
第三個組數字 18 , 修訂版本號 ,
表示修改的次數,頭兩個數字合在一齊可以描述內核系列。如穩定版的2.6.0,它是2.6版內核系列。128: 表示這個當前版本的第5次微調patch, 而ELsmp指出了當前內核是為ELsmp特別調校的 EL : Enterprise Linux ; smp : 表示支持多處理器 , 表示該內核版本支持多處理器。
⑶ android內核如何直接使用Linux內核已經自帶的內核
一、Android為什麼會選擇Linux
成熟的操作系統有很多,但是Android為什麼選擇採用Linux內核內呢?這就與Linux的一些特性有關了容,這也是很多
教材反復講到的linux的重要特點。比如:
1、強大的內存管理和進程管理方案
2、基於許可權的安全模式
3、支持共享庫
4、經過認證的驅動模型
5、Linux本身就是開源項目
更多關於上述特性的信息可以參考Linux 2.6版內核的官方文檔,這便於我們在後面的學習中更好地理解Android
所特有的功能特性。接下來分析Android與Linux的關系。其實實際上選擇linux內核的手機系統很多,記得前幾年
就見過三星的一款linux內核的手機,並且那款手機保持了linux系統的大部分特徵,所以用起來感覺就像一個小巧
的linux系統。
二、Android對Linux的改動
原文作者說是「Android不是Linux」,關於這個觀點,要看讀者自己怎麼看了,如果說Linux是說的內核,那
Android自然不是Linux。如果Linux是指Linux發行版,那Android當然是Linux,否則ubuntu,Fedora等都不是
linux了。
⑷ Android 7.0用的是哪個版本的Linux內核
inux內核版本的分類Linux內核版本有兩種:穩定版和開發版 ,Linux內核版本號由3組數字組成:第一個組數字.第二組數字.第三組數字
第一個組數字:目前發布的內核主版本。
第二個組數字:偶數表示穩定版本;奇數表示開發中版本。
第三個組數字:錯誤修補的次數。
例1: 2.6.18-128.ELsmp ,
第一個組數字: 2 , 主版本號
第二個組數字: 6 , 次版本號,表示穩定版本(因為有偶數)
第三個組數字 18 , 修訂版本號 ,
表示修改的次數,頭兩個數字合在一齊可以描述內核系列。如穩定版的2.6.0,它是2.6版內核系列。128: 表示這個當前版本的第5次微調patch, 而ELsmp指出了當前內核是為ELsmp特別調校的 EL : Enterprise Linux ; smp : 表示支持多處理器 , 表示該內核版本支持多處理器。
⑸ Android 7.0用的是哪個版本的Linux內核
linux內核版本的分類Linux內核版本有兩種:穩定版和開發版 ,Linux內核版本號由3組數字組成:第一個組數字.第二組數字.第三組數字 第一個組數字:目前發布的內核主版本。 第二個組數字:偶數表示穩定版本;奇數表示開發中版本。 第三個組數字:錯誤修補的次數。 例1: 2.6.18-128.ELsmp , 第一個組數字: 2 , 主版本號 第二個組數字: 6 , 次版本號,表示穩定版本(因為有偶數) 第三個組數字 18 , 修訂版本號 , 表示修改的次數,頭兩個數字合在一齊可以描述內核系列。如穩定版的2.6.0,它是2.6版內核系列。128: 表示這個當前版本的第5次微調patch, 而ELsmp指出了當前內核是為ELsmp特別調校的 EL : Enterprise Linux ; smp : 表示支持多處理器 , 表示該內核版本支持多處理器。
⑹ android版本號和Linux內核的版本號必須對應嗎
不是一回事抄
android內核的版襲本指的是底層使用的linux版本,Android版本指的是google提供的sdk的版本。通常情況下會有對應關系,但在實際中可能會有所偏差。
從2009年5月開始,Android操作系統改用甜點來作為版本代號,這些版本按照大寫字母的順序來進行命名:紙杯蛋糕(Cupcake)、甜甜圈(Donut)、閃電泡芙(Éclair)、凍酸奶(Froyo)、姜餅(Gingerbread)、蜂巢(Honeycomb)﹑冰淇淋三明治(Ice Cream Sandwich)、果凍豆(Jelly Bean)、奇巧(KitKat)、棒棒糖(Lollipop)。
⑺ 怎麼修改Android 的Linux內核
Android 產品中,內核格式是Linux標準的zImage,根文件系統採用ramdisk格式。這兩者在Android下是直接合並在一起取名為boot.img,會放在一個獨立分區當中。這個分區格式是Android自行制定的格式。
Android開發時,最標準的做法是重新編譯於內核和根文件系統,然後調用Android給的命令行文件mkbootimg(out/host/linux-x86/bin/)來打包。
在製作手機ROM時,有時會單獨編譯內核或抽出根文件進行修改內容,比如我只編譯內核,其餘的地方不變。這樣重新安裝巨大的Android開發環境實在不劃算。因此很多boot.img解包工具被人開發出來,這一些工具都是把內核和根文件系統從一個現成的boot.img抽取出來,修發後再次打包還原。
一.常見的解包工具
因為boot.img的格式比較簡單,它主要分為三大塊(有的可能有四塊)
因此很多人開發分析工具,有是linux shell腳本,比如repack-zImage,也有人採用perl,還有C語言編寫的 unbootimg,
我使用的是在源碼位置system/core/mkbootimg/ 下的 mkbootimg。為了簡化,藍點工坊把與mkbootimg中打包工具和解包工具以及所包含的libmincrpty庫抽出來,並且重寫一個Makefile,作為開源項目。
使用者只需要在linux(需安裝gcc,make,一般是標配)或windows(需要安裝mingw)的命令行執行make,即可產生可執行文件mkbootimg ,unpackbootimg。
二.解/打包工具使用
解包工具:unpackbootimg
常見格式
unpackbootimg -i .\tmp\boot.img -o .\out
這一句命令行表示把boot.img解包,所有文件輸出到out目錄下
它會解壓出如下文件:
boot.img-zImage (內核文件)
boot.img-ramdisk.gz (根文件系統打包文件)
boot.img-cmdline (mkbootimg cmdline參數)
boot.img-pagesize (mkbootimg pagesize參數)
boot.img-base (mkbootimg base參數)
打包工具:mkbootimg (Android自帶)
常見的命令格式:
./mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel zImage --ramdisk boot/boot.img-ramdisk.gz -o boot.img --base 02e00000
這句含義是把內核文件zImage和boot目錄下的根文件壓縮包 boot.img-ramdisk.gz打包成boot.img.
其中cmdline和base的值均來源於unpackbootimg的結果
⑻ 按android官網下載的android源碼裡面有linux內核kernel嗎
從源代碼樹下載下來的最新Android源代碼,是不包括內核代碼的,也就是Android源代碼版工程默認權不包含Linux Kernel代碼,而是使用預先編譯好的內核,也就是prebuilt/android-arm/kernel/kernel-qemu文件。
⑼ Android內核與傳統Linux內核有何變化
通過和標準的Linux 2.6.25 Kernel的對比,我們可以發現,其主要增加了以下的內容:
基於ARM架構增加Gold-Fish平台,相應增加的目錄如下:
kernel/arch/arm/mach-goldfish kernel/include/asm-arm/arch-goldfish 。
Gold-Fish平台採用的是ARM926T CPU作為BaseBand處理器, 該CPU主頻至少為200M HZ. 採用MSM7201A CPU(ARM 11)作為主CPU, 其主頻為528M HZ.
增加了yaffs2 FLASH文件系統,相應增加的目錄為:
kernel/fs/yaffs2 實際上,Android包經過編譯後生成的system.img和ramdisk.img文件就是yaffs2格式的包.
增加了Android的相關Driver,相應目錄為:
Kernel/drivers/android
Android內核主要分為:
Android IPC系統: Binder
Android 日誌系統: Logger
Android 電源管理: Power
Android 鬧鍾管理: Alarm
Android 內存控制台: Ram_console
Android 時鍾控制的GPIO: Timed_gpio
增加了switch處理, 相應的目錄為:
kernel/drivers/switch/
增加了一種新的共享內存處理方式, 相應增加的文件為:
kernel/mm/ashmem.c
其他的Android內核為Linux-2.6.25內核所做的補丁等等,例如BlueTooth, 在此不做詳細分析
GoldFish平台相關的驅動文件如下:
字元輸出設備:
kernel/drivers/char/goldfish_tty.c
圖象顯示設備: (Frame Buffer)
kernel/drivers/video/goldfishfb.c
鍵盤輸入設備:
kernel/drivers/input/keyboard/goldfish_events.c
RTC設備: (Real Time Clock)
kernel/drivers/rtc/rtc-goldfish.c
USB Device設備:
kernel/drivers/usb/gadget/android_adb.c
SD卡設備:
kernel/drivers/mmc/host/goldfish.c
FLASH設備:
kernel/drivers/mtd/devices/goldfish_nand.c kernel/drivers/mtd/devices/goldfish_nand_reg.h
LED設備:
kernel/drivers/leds/ledtrig-sleep.c
電源設備:
kernel/drivers/power/goldfish_battery.c
音頻設備:
kernel/arch/arm/mach-goldfish/audio.c
電源管理:
kernel/arch/arm/mach-goldfish/pm.c
時鍾管理:
kernel/arch/arm/mach-goldfish/timer.c
⑽ 安卓系統是基於linux內核開發的,兩者的具體區別是什麼為什麼安卓多用於移動設備而linux不是
安卓基於linux內核,但是針對移動設備做了更多的優化,所以安卓多用於移動設備內。兩者區別如下:容
一、主體不同
1、安卓系統:是一種基於Linux的自由及開放源代碼的操作系統。
2、linux內核:是一套免費使用和自由傳播的類UNIX操作系統。
二、應用不同
1、安卓系統:主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。
2、linux內核:是一個基於POSIX和Unix的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的Unix工具軟體、應用程序和網路協議。
三、特點不同
1、安卓系統:會同一系列核心應用程序包一起發布,該應用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯系人管理程序等。所有的應用程序都是使用JAVA語言編寫的。
2、linux內核:繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。