emmc boot_config文件不存在

本文探讨了emmcboot_config文件在Linux内核中的作用及其缺失情况,对比了不同版本内核中对于eMMC启动配置的支持差异,并介绍了如何在新版本内核中手动实现这一功能。
/*******************************************************************************
 *                      emmc boot_config文件不能存在
 * 说明:
 *     新版本的内核中没有去实现这个功能,自己参考添加。
 *
 *                                              2017-9-30 深圳 龙华樟坑村 曾剑锋
 *******************************************************************************/

 一、参考文档:
    1. Boot from eMMC mmcblk3boot0  or  mmcblk3boot1.
        https://community.nxp.com/thread/429311
    2. eMMC分区
        http://www.lijiangang.cn/post/2017-01-05-emmcfen-qu

二、参考代码:
    1. Linux 3.14.52中sysfs系统中节点生成信息:
        1. https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.14.52_1.1.0_ga/drivers/mmc/core/mmc.c#L1086
        2. 相关代码:
            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,
            };
    2. Linux 4.1.15中sysfs系统中节点生成信息:
        1. https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_4.1.15_1.0.0_ga/drivers/mmc/core/mmc.c#L740
        2. 相关代码:
            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,
            };
    3. 由上可知,在4.1.15内核中并未以同样的方式实现配置选择boot分区启动的代码。
    4. 如果使用4.X版本的内核,需要使用mmc-utils工具包。
        1. shell cmd: mmc bootpart enable 7 0 /dev/mmcblk3
2. 不过在Android中执行shell有时候还不一定可行,使能分区可写,直接dd掉里面的内容,内部ROM程序触发未能找到U-Boot异常进入烧录模式。

 

转载于:https://www.cnblogs.com/zengjfgit/p/7613909.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值