1. LMB (logical memory blocks)

lmb为uboot下的一种内存管理机制,用于管理镜像的内存。lmb所记录的内存信息最终会传递给kernel。在/include/lmb.h和/lib/lmb.c中有对lmb的接口和定义的具体描述。

lmb_init() 对lmb进行初始化,初始化后相应内存就归lmb管辖。

参考:https://blog.csdn.net/machiner1/article/details/47805069  介绍:LMB

2. FDT, uboot中对FDT的支持

参考:https://blog.csdn.net/eleven_xiy/article/details/72835181 介绍:FDT,

3. FIT

参考:http://www.wowotech.net/u-boot/fit_image_overview.html  (u-boot FIT image介绍)

参考:https://blog.csdn.net/ooonebook/article/details/53495002  (bootm跳转到kernel流程1)

参考:https://blog.csdn.net/ooonebook/article/details/53495021  (bootm跳转到kernel流程2) 介绍:bootm_headers_t,

4. ramdisk和initrd

ramdisk是一种基于内存的虚拟文件系统,通常用于放置内核的中间数据。
initrd全称为"boot loader initialized RAM disk",也就是由启动加载器所初始化的RamDisk设备,它的作用是完善内核的模块机制,让内核的初始化流程更具弹性;内核以及initrd,都由bootloader在机子启动后被加载至内存的指定位置,主要功能为按需加载模块以及按需改变根文件系统。更详细的内容,请参阅initrd的man手册,里面阐述了内核开发者对initrd制订的功能标准。命令:man initrd。

参考:https://blog.csdn.net/o0Avalon0o/article/details/53526742  (mkbootimg --kernel arch/arm/boot/zImage --ramdisk initrd.img -o boot.img)。
     https://jingyan.baidu.com/article/359911f5b8af4f57fe0306dc.html

5. MTD分区 (Memory Technology Device)

https://blog.csdn.net/lwj103862095/article/details/21545791

http://www.360doc.com/content/14/0117/16/13289331_345995007.shtml

do_bootrk的更多相关文章

  1. RK3288 uboot启动流程

    VS-RK3288嵌入式板卡 U-boot 启动流程小结 bl    board_init_f -> crt0.S    initcall_run_list(init_sequence_f) - ...

  2. [RK3288][Android6.0] U-boot 启动流程小结【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/52536093 Platform: RK3288OS: Android 6.0Version: ...

  3. [RK3288][Android6.0] 调试笔记 --- 系统第一次开机进入Recovery模式原因【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/53464461 latform: ROCKCHIPOS: Android 6.0Kernel: ...

随机推荐

  1. IPC 之 AIDL 的使用

    一.AIDL 知识储备 1. AIDL 文件支持的数据类型: 基本数据类型 (int , long , char , boolean ,double 等): String 和 CharSequence ...

  2. 分布式系统的唯一id生成算法你了解吗?

    在分库分表之后你必然要面对的一个问题,就是id咋生成? 因为要是一个表分成多个表之后,每个表的id都是从1开始累加自增长,那肯定不对啊. 举个例子,你的订单表拆分为了1024张订单表,每个表的id都从 ...

  3. leecode第十五题(三数之和)

    class Solution { public: void quick_order(vector<int>& num, int star, int en)//快排 { int st ...

  4. linux c/c++ 文件是否存在

    linux c/c++ 文件是否存在 #include <unistd.h> int FileExist(const char* fname) { return access(fname, ...

  5. 学习笔记45—Linux压缩集

    1.压缩功能 安装 sudo apt-get install rar 卸载 sudo apt-get remove rar 2.解压功能 安装 sudo apt-get install unrar 卸 ...

  6. 学习笔记1—python基础

    1.安装pip: python -m pip install -U pip (打开命令行窗口:Anaconda Prompt) 升级:python -m pip install --upgrade p ...

  7. kafka+docker+python

    昨天晚上刚刚才花3小时看完<日志:每个软件工程师都应该知道的有关实时数据的统一概念>. 今天就把kafka在docker容器里运行起来,github上有几个,但都太复杂了. 我自己写个最简 ...

  8. nRF52832定时器

    1概述 定时器能够被配置为两种模式:定时模式和计数模式,nrf52832有五个定时器,timer0--timer4 . 2常用得函数 函数功能:初始化定时器 ret_code_t nrf_drv_ti ...

  9. learn the python the hard way习题26~30总结

    考试试题26错误总结: 漏写字母,括号 写错字母 write(),read()的使用:只能打开使用了 open() 后返回的文件对象(file object),而不能直接使用文件名 if 语句中,条件 ...

  10. datagrid复制

    private void Dgv_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)1) // Ctrl-A ...