do_bootrk
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的更多相关文章
- RK3288 uboot启动流程
VS-RK3288嵌入式板卡 U-boot 启动流程小结 bl board_init_f -> crt0.S initcall_run_list(init_sequence_f) - ...
- [RK3288][Android6.0] U-boot 启动流程小结【转】
本文转载自:http://blog.csdn.net/kris_fei/article/details/52536093 Platform: RK3288OS: Android 6.0Version: ...
- [RK3288][Android6.0] 调试笔记 --- 系统第一次开机进入Recovery模式原因【转】
本文转载自:http://blog.csdn.net/kris_fei/article/details/53464461 latform: ROCKCHIPOS: Android 6.0Kernel: ...
随机推荐
- IPC 之 AIDL 的使用
一.AIDL 知识储备 1. AIDL 文件支持的数据类型: 基本数据类型 (int , long , char , boolean ,double 等): String 和 CharSequence ...
- 分布式系统的唯一id生成算法你了解吗?
在分库分表之后你必然要面对的一个问题,就是id咋生成? 因为要是一个表分成多个表之后,每个表的id都是从1开始累加自增长,那肯定不对啊. 举个例子,你的订单表拆分为了1024张订单表,每个表的id都从 ...
- leecode第十五题(三数之和)
class Solution { public: void quick_order(vector<int>& num, int star, int en)//快排 { int st ...
- linux c/c++ 文件是否存在
linux c/c++ 文件是否存在 #include <unistd.h> int FileExist(const char* fname) { return access(fname, ...
- 学习笔记45—Linux压缩集
1.压缩功能 安装 sudo apt-get install rar 卸载 sudo apt-get remove rar 2.解压功能 安装 sudo apt-get install unrar 卸 ...
- 学习笔记1—python基础
1.安装pip: python -m pip install -U pip (打开命令行窗口:Anaconda Prompt) 升级:python -m pip install --upgrade p ...
- kafka+docker+python
昨天晚上刚刚才花3小时看完<日志:每个软件工程师都应该知道的有关实时数据的统一概念>. 今天就把kafka在docker容器里运行起来,github上有几个,但都太复杂了. 我自己写个最简 ...
- nRF52832定时器
1概述 定时器能够被配置为两种模式:定时模式和计数模式,nrf52832有五个定时器,timer0--timer4 . 2常用得函数 函数功能:初始化定时器 ret_code_t nrf_drv_ti ...
- learn the python the hard way习题26~30总结
考试试题26错误总结: 漏写字母,括号 写错字母 write(),read()的使用:只能打开使用了 open() 后返回的文件对象(file object),而不能直接使用文件名 if 语句中,条件 ...
- datagrid复制
private void Dgv_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)1) // Ctrl-A ...