emmc boot_config文件不存在
2024-08-24 03:16:33
/*******************************************************************************
* emmc boot_config文件不能存在
* 说明:
* 新版本的内核中没有去实现这个功能,自己参考添加。
*
* 2017-9-30 深圳 龙华樟坑村 曾剑锋
*******************************************************************************/ 一、参考文档:
. Boot from eMMC mmcblk3boot0 or mmcblk3boot1.
https://community.nxp.com/thread/429311
. eMMC分区
http://www.lijiangang.cn/post/2017-01-05-emmcfen-qu 二、参考代码:
. Linux 3.14.52中sysfs系统中节点生成信息:
. https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.14.52_1.1.0_ga/drivers/mmc/core/mmc.c#L1086
. 相关代码:
static struct attribute *mmc_std_attrs[] = {
&dev_attr_cid.attr,
&dev_attr_csd.attr,
&dev_attr_date.attr,
&dev_attr_erase_size.attr,
&dev_attr_preferred_erase_size.attr,
&dev_attr_fwrev.attr,
&dev_attr_hwrev.attr,
&dev_attr_manfid.attr,
&dev_attr_name.attr,
&dev_attr_oemid.attr,
&dev_attr_prv.attr,
&dev_attr_serial.attr,
&dev_attr_enhanced_area_offset.attr,
&dev_attr_enhanced_area_size.attr,
&dev_attr_raw_rpmb_size_mult.attr,
&dev_attr_rel_sectors.attr,
&dev_attr_boot_info.attr, // --> boot_info
&dev_attr_boot_config.attr, // --> boot_config
&dev_attr_boot_bus_config.attr, // --> boot_bus_config
NULL,
};
. Linux 4.1.15中sysfs系统中节点生成信息:
. https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_4.1.15_1.0.0_ga/drivers/mmc/core/mmc.c#L740
. 相关代码:
static struct attribute *mmc_std_attrs[] = {
&dev_attr_cid.attr,
&dev_attr_csd.attr,
&dev_attr_date.attr,
&dev_attr_erase_size.attr,
&dev_attr_preferred_erase_size.attr,
&dev_attr_fwrev.attr,
&dev_attr_ffu_capable.attr,
&dev_attr_hwrev.attr,
&dev_attr_manfid.attr,
&dev_attr_name.attr,
&dev_attr_oemid.attr,
&dev_attr_prv.attr,
&dev_attr_serial.attr,
&dev_attr_enhanced_area_offset.attr,
&dev_attr_enhanced_area_size.attr,
&dev_attr_raw_rpmb_size_mult.attr,
&dev_attr_rel_sectors.attr,
NULL,
};
. 由上可知,在4..15内核中并未以同样的方式实现配置选择boot分区启动的代码。
. 如果使用4.X版本的内核,需要使用mmc-utils工具包。
. shell cmd: mmc bootpart enable /dev/mmcblk3
2. 不过在Android中执行shell有时候还不一定可行,使能分区可写,直接dd掉里面的内容,内部ROM程序触发未能找到U-Boot异常进入烧录模式。
最新文章
- debian C++ OTL库 用 unixodbc 连接 mysql 小记
- python的optparse模块使用
- linux 开机启动过程详解
- 【nginx】关于fastcgi_cache
- 【前端学习】搬进Github
- JavaScriptSerializer中日期序列化问题解决方案
- 使用Spring框架的12个开源项目
- #include <;boost/function.hpp>;
- Dijkstra and Floyd算法
- servlet实现方式(未完待续)
- gradle测试出现IllegalArgumentException
- Spring--FileSystemXmlApplicationContext
- SpringCloud(1)服务注册与发现Eureka
- node获取当前路径的三种方法
- Day04 (黑客成长日记) 集合记录
- Perl函数:字符串相关函数
- 15.0-uC/OS-III资源管理
- MVC请求管道
- VirtualBox中挂载物理磁盘
- [十二省联考2019]异或粽子 (可持久化01tire 堆)
热门文章
- 异常来自 HRESULT:0x80070057 (E_INVALIDARG)
- Jmeter之Constant Timer与constant throughput timer的区别
- Qt工程文件说明
- #C++初学记录(素数判断2)
- 22. Generate Parentheses(回溯)
- 微信小程序:JS 交互逻辑
- 20145307陈俊达《网络对抗》Exp2 后门原理与实践
- [调参]CV炼丹技巧/经验
- Python学习札记(二十三) 函数式编程4 sorted
- 机器学习-ID3决策树算法(附matlab/octave代码)