1. 程式人生 > >boot.img的分析

boot.img的分析

3 boot.img的載入
 在lk 中, smem_ptable_init 函式中會初始化 smem_apps_flash_start ,它通過讀share memory ,也就是ARM9端傳入的0:APPS 
 這樣在targe_init函式中,會將offset = smem_apps_flash_start , 然後ptable_add將第一個分割槽的地址設定為offset .
 
 在ARM9 中 有兩個檔案 partition.h 和 partition.c 
 partition.h  中定義了:
   FLASH_PARTI_APPS  "0:APPS" --- 對於boot.img 
 partition.c  中定義了所有的分割槽的大小, 這樣smem_apps_flash_start 其實就為ARM9的所有image的大小。
 
 4 ARM9中的實現
   函式smem_retrieve_mibib 中將分配 smem_alloc , 也就是有512 位元組的 MIBIB區 
   
   MIBIB區 : 16個位元組是header 
              每個分割槽 28個位元組
              這樣共有16個分割槽
  每個分割槽資訊,flash_partition_entry 包括了name 和 offset .
  這樣ARM11 測 根據name 為0:APPS 得到offset ,也就是該分割槽的起始地址。
  MIBIB 分割槽 是通過根據 mjnand -c mibib_xxx.cfg 得到 

相關推薦

android system.img,ramdisk.img,boot.img 分析

android 原始碼編譯後得到system.img,ramdisk.img,userdata.img映像檔案。其中, ramdisk.img是emulator的 檔案系統,system.img包括了主要的包、庫等檔案,userdata.img包括了一些使用者資料,emu

boot.img分析

3 boot.img的載入  在lk 中, smem_ptable_init 函式中會初始化 smem_apps_flash_start ,它通過讀share memory ,也就是ARM9端傳入的0:APPS   這樣在targe_init函式中,會將offset = smem_apps_flash_st

通過分析mkbootimg原始碼瞭解boot.img檔案結構

平臺:Android 4.4.2 原始碼路徑:/system/core/mkbootimg /* ** +-----------------+ ** | boot header     | 1 page ** +-----------------+ ** | kernel

Cubietruck---8. u-bootboot.img簡略分析

一. u-boot的編譯與連結1. lichee下編譯命令[email protected]:/work/ct/lichee$  ./build.sh -p sun7i_android -m ubootu-boot的編譯是用指令碼lichee/u-boot/bui

u-boot.lds分析

系統 代碼 tex 裏的 完成 參數 output ima style OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") /*指定輸出的格式是32bits ARM 小端*/ /*O

u-boot2011.09 u-boot.img 的流程跟蹤

sin command fde hat http tab offset main barrier 一、主要是start.S 裏面的 board_init_f 以及 board_init_r 函數分析,MLO與 u-boot.omg 的區別就在這裏 二、 MLO 加載完畢

Spring Boot 擴充套件分析

 一.Spring Boot 擴充套件分析之ApplicationContextInitializer 說明 在printBanner之後呼叫.在refresh()方法之前呼叫. 使用 建立實現介面類.將該類按下面使用方式: 1.run之前將物件直接加入到applicatio

boot.img的解包與打包

轉自:http://blog.csdn.net/wh_19910525/article/details/8200372 Android 產品中,核心格式是Linux標準的zImage,根檔案系統採用ramdisk格式。這兩者在Android下是直接合並在一起取名為boot.img,會放

嵌入式Linux開發——(十一)u-boot原始碼分析

1、U-Boot的特性:     ①開放原始碼     ②支援多種嵌入式作業系統核心:Linux、NetBSD、VxWorks、QNx、RTEMS、ARTOS、 LynxOS     ③支援多種架構的CPU:Power

u-boot學習(三):u-boot原始碼分析

前面兩節已經知道,u-boot其實就是一個大的微控制器程式,它負責啟動核心,主要包括硬體方面的一些初始化。下面就以u-boot-1.2.0為例對u-boot原始碼進行詳細的分析。 u-boot的啟動分為兩個階段,第一階段的程式碼就是上一節所說的連結檔案裡的第一個檔案start.S檔案,它是由組合

u-boot學習(二):u-boot簡要分析

(一) 以u-boot-1.1.6為例分析目錄結構如下: 1、平臺相關的或開發板相關的目錄:board、cpu、lib_i386類似 2、通用函式的目錄:include、lib_generic、common 3、通用的裝置驅動程式:disk、drivers、dtt、fs、nand_s

從Android boot.img與recovery.img的解包中瞭解其資料組成

從Android boot.img與recovery.img的解包中瞭解其資料 又到了忙碌的季節,一次要處理N多事情。最近需要從boot.img中取出ramdisk。不同的專案中kernel是一樣的,ramdisk中的資源不一樣,直接取ramdisk與新編譯的kernel打包在一起,方便

u-boot原理分析第一課-------Makefile分析

    本節課使用的u-boot是百問網的u-boot,編譯此u-boot,有兩步:1.配置:make 100ask24x0_config; 2.make編譯。    我們先看到配置的部分:100ask24x0_config: 我們看到它所執行的命令:@$(MKCONFIG)

u-boot原理分析第二課-------UBOOT第二階段

    我們之前講到的UBOOT的第一階段初始化,都是一些硬體的操作,之後的操作便在比較複雜的函式中去實現了,也是我們上節課講到的:    這裡把_start_armboot的地址賦值給pc,而_start_armboot的地址為:    也就是跳到start_armboot

u-boot原理分析-------U-Boot原始碼結構

U-Boot頂層目錄說明:    目錄                特性                                    解釋說明    borad             開發板相關                         對應不同配置的電路

Spring Boot 原始碼分析

Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Boot致力於在蓬勃發展的快速應用開發領域(rapid application d

am335x uboot2016.05 (MLO u-boot.img)執行流程(轉)

eve eset dog 不同的 common 速度 star setup oba am335x的cpu上電後,執行流程:ROM->MLO(SPL)->u-boot.img 第一級bootloader:引導加載程序,板子上電後會自動執行這些代碼,如啟動方式(SD

解壓RK3288的boot.img修改init.rc 新增開機自啟動指令碼

最近找別人開發一款智慧AI機器人,由於方案廠商現在程式碼還沒有交付。每次只提供ROM。現在公司要求要開機啟動系統檢測指令碼。我們都知道Android現在許可權管理很嚴格。而且我的指令碼是用shell指令碼完成的。所以無法監聽開機廣播。只能修改init.rc檔案。

小馬哥===教你修改核心boot.img來實現手機root許可權

在windows下 首先安裝Java環境和配置環境變數 解包boot.img檔案  在ramdisk資料夾下開啟init.rc檔案 在其中加入三行程式碼 service geno /sbin/genoclass late_startoneshot 在開啟cpiolist檔

boot.img解包和打包過程

MTK平臺: boot.img打包過程: boot.img=header+kernel+ramdisk.img LK會使用header裡面的引數。 mkbootimg header引數在BoardConfig.mk檔案裡定義:BOARD_KERNEL_BASE = 0x40