一、报错信息分析:
在加载Rootfs的时候,出现以下报错信息
VFS: Cannot open root device "mmcblk1p2" or unknown-block(179,2): error -30
Please append a correct "root=" boot option; here are the available partitions:
继续查看系统启动信息,发现如下内容:
mmc1: new high speed SDHC card at address e624
mmcblk1: mmc1:e624 SL16G 14.8 GiB (ro)
即sd卡以只读的方式挂载。
二、解决方法:
导致SD卡只读挂载的实际原因未知,暂时解决方法为将MMC驱动的mmc_blk_readonly函数内容注释,直接return 0;
<KERNEL_DIR>/drivers/mmc/card/block.c
static inline int mmc_blk_readonly(struct mmc_card *card)
{
#if 0 //modify by yangzf 20181012
return mmc_card_readonly(card) ||
!(card->csd.cmdclass & CCC_BLOCK_WRITE);
#else
return 0;
#endif
}
修改之后,挂载SD卡时不再出现ro标志,rootfs加载成功。