Android Linux Kernel 移植流程

2021-06-20 22:38:50 字數 1761 閱讀 7911

參考文件

documentation/android.txt

修改kernel config

connectivity

bluetooth

gpswi-fi

display drivers

input devices

keymaps and keyboard

lights

**********

audio

camera/video

power management

sensors

telephony

radio inte***ce layer

從linux 2.6.33開始,google智慧型手機作業系統android核心**被刪除。

android 2.2 froyo使用linux kernel版本為2.6.32

linux 2.6.32版本上android新增了如下幾個模組

source build/envsetup.sh

載入編譯用到的環境變數

定義了一些命令引數,這些命令函式方便使用者選擇android產品編譯選項,如help,lunch等

載入vendor目錄下自定義廠商產品編譯項檔案vendorsetup.sh,以此讓編譯系統編譯不同產品的定製系統。

lunch [build-option]

用於選定編譯平台

不加build-option列印所有的系統編譯項,設定主要的環境變數

target_rpoduct,target_build_variant、target_build_type

make

執行編譯

make 依據當前目錄下makefile編譯目標檔案

-j4 表示4執行緒同時編譯(多核心)

make snod make //sdk no depend 只編譯sdk,生成system.img

make ramdisk

make framework

make sdk

m 編譯全部

mm 只編譯當前目錄

mmm 編譯指定目錄

儲存目錄:out/target/product//

ramdisk.img

虛擬記憶體盤,用記憶體來模擬磁碟,它在linux核心啟動後被掛載,該映象裡儲存有android最基本的檔案系統以及一些命令

system.img

android系統主要的檔案系統映象,裡面包含有android系統執行必須的庫,程式和配置檔案

userdata.img

使用者資料映象,它是使用者應用程式,使用者資訊儲存目錄

recovery.img

系統恢復映象,當系統進入恢復模式時的啟動映象

boot分割槽

儲存boot.img映象

system分割槽

存放system.img映象

userdata分割槽

存放userdata.img映象

recovery分割槽

存放recovery.img映象

cache分割槽

應用程式快取分割槽,加快程式啟動

misc分割槽

系統設定廠商硬體設定資訊分割槽

android 系統移植流程

android.mk模板

系統移植 核心移植

irom soc samsung固化的位址 iram soc 256k dram 片上外設 記憶體 norflash 讀快 啟動u boot noneflash 寫快 啟動u boot emmc 包括noneflash和讀寫noneflash的控制器 sdmmc sd卡 bl1 bl2 1.irom...

移植安裝mysql mysql移植問題

今天在實際開發中對於mysql資料庫進行移植發生的問題來說下.開始把本地data中的資料庫檔案拷貝到另一台機子上test,執行show tables 可以看到資料庫表,但是對錶進行任何操作都報錯 表不存在 原以為mysql的資料庫檔案 frm copy stick到本地安裝mysqldb目錄的dat...

系統移植 移植涉及的工作

1 移植涉及的工作 a 系統軟體 1 引導程式 初始化硬體,其目的為載入核心 2 核心 系統乙個核心功能的 3 檔案系統 內容 格式 b 編譯器 交叉編譯 在主機環境編譯,其編譯結果在目標環境下執行 2 交叉編譯器安裝 在linux環境下安裝軟體相當於windows下的綠色軟體,只解壓,然後配 置環...