A64的ubuntu系统,系统烧写在EMMC,插入无系统的TF卡,系统会起不来
这是内核启动打印
我发现原因应该在u-boot的启动参数
想问一下这个改怎么解决?
没有TF卡的时候 mmc应该是 mmcblk0
有TF卡就成为mmcblk1了
希望哪位大侠指点一下,是需要修改启动顺序吗?
最近编辑记录 超级萌新 (2018-08-03 08:19:00)
离线
没救了,改了这三处都不行.
离线
插TF卡,就优先TF卡启动了吧
离线
这个没办法吧,tf优先级高啊
或者可以在uboot中做一个tf卡是否存在的判断,如果存在,就把传递给内核的参数改了
最近编辑记录 abc3240660 (2018-08-06 16:57:29)
离线
abc3240660 说:这个没办法吧,tf优先级高啊
TF和EMMC都是 SDIO, 处于同一优先级, 估计还是kernel 哪个地方没处理好.
内核中可能总是先枚举到sdio0(接TF的),接着sdio1(接emmc的)...
而从哪个sdio启动,是根据拨码开关来判断,所以加载uboot是不会受到tf是否插拔的影响
离线
晕哥 说:abc3240660 说:这个没办法吧,tf优先级高啊
TF和EMMC都是 SDIO, 处于同一优先级, 估计还是kernel 哪个地方没处理好.
内核中可能总是先枚举到sdio0(接TF的),接着sdio1(接emmc的)...
而从哪个sdio启动,是根据拨码开关来判断,所以加载uboot是不会受到tf是否插拔的影响
问题是他的TF卡并没有引导程序, 如果插入了TF卡,进入kernel之后不能mount rootfs@emmc
你说的那个只会影响BROM, 而不会影响kernel
离线
abc3240660 说:晕哥 说:TF和EMMC都是 SDIO, 处于同一优先级, 估计还是kernel 哪个地方没处理好.
内核中可能总是先枚举到sdio0(接TF的),接着sdio1(接emmc的)...
而从哪个sdio启动,是根据拨码开关来判断,所以加载uboot是不会受到tf是否插拔的影响
问题是他的TF卡并没有引导程序, 如果插入了TF卡,进入kernel之后不能mount rootfs@emmc
你说的那个只会影响BROM, 而不会影响kernel
他的这个问题是:
插了tf卡后,tf 先 被内核识别为mmcblk0
emmc 后 被识别为mmcblk1,而uboot中指定的文件系统分区是在mmcblk0中
可能是tf卡所在的sdio接口物理上离CPU“更近”,更容易被优先枚举到,所以插了tf卡,emmc就变成mmcblk1了
想要把mmcblkx这个数字固定,那要改内核代码了
离线
我也遇到这个问题了,我发现全志这种tf优先识别启动的机制简直是烂透了 ,普通tf卡根本不能用了,有没解决方法,各位大神:/
离线
离线