打印
[i.MX]

为什么手动烧写emmc总是出错,大神求解决!

[复制链接]
10658|36
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
a1028732302|  楼主 | 2014-12-16 10:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的是imx6q,sabresd的官方板子
下面说一下我的emmc烧录方法:
没有用官方的emmc烧录工具,打算从SD启动后,手动分区+烧写emmc
按照ucl2.xml操作,结果一开始就出错了
下面是我依赖的ucl2.xml流程
<LIST name="Android-SabreSD-eMMC" desc="Choose eMMC android as media">
  <!-- Android Profile: -->
        <CMD state="BootStrap" type="boot" body="BootStrap" file ="u-boot-mx6q-sabresd.bin" >Loading U-boot</CMD>
        <CMD state="BootStrap" type="load" file="uImage" address="0x10800000"
        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Kernel.</CMD>
    <CMD state="BootStrap" type="load" file="initramfs.cpio.gz.uboot" address="0x10C00000"
        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Initramfs.</CMD>
    <CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>
        <CMD state="BootStrap" type="find" body="Updater" timeout="500"/>

相关帖子

沙发
a1028732302|  楼主 | 2014-12-16 10:50 | 只看该作者
uboot,uImge,initramfs也都是跟烧录工具用的一样的,
u-boot-mx6q-sabresd.bin启动后,我的输入是:
mmc dev 2
fatload mmc 2:9 10800000 uImage
fatload mmc 2:9 10C00000 initramfs.cpio.gz.uboot
bootm 10800000
前边都是顺利的,显示log也正常,但是bootm的时候就出错了
log:
snvs_rtc snvs_rtc.0: setting system clock to 1970-01-01 00:00:00 UTC (0)
VFS: Cannot open root device "(null)" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
总感觉root需要设置,但是试过好多,不知道怎么设置


使用特权

评论回复
板凳
a1028732302|  楼主 | 2014-12-16 10:58 | 只看该作者
MX6Q SABRESD-MFG U-Boot > pri
bootargs=console=ttymxc0,115200 rdinit=/linuxrc enable_wait_mode=off
bootcmd=bootm 0x10800000 0x10c00000
bootdelay=0
baudrate=115200
ipaddr=192.168.1.103
serverip=192.168.1.101
netmask=255.255.255.0
loadaddr=0x10800000
rd_loadaddr=0x10c00000
netdev=eth0
ethprime=FEC0
uboot=u-boot.bin
kernel=uImage
stdin=serial
stdout=serial
stderr=serial
ethact=FEC0

使用特权

评论回复
地板
leifenger| | 2014-12-16 14:47 | 只看该作者
你的uboot环境变量中启动设备是dev 3吗?
eMMC对应的是dev 3,下面是我使用的eMMC启动配置,可以起来。

设置从eMMC启动
setenv loadaddr 0x10800000
setenv bootargs_base 'setenv bootargs console=ttymxc0,115200'
setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw if=RGB666 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24'
setenv bootcmd_mmc 'run bootargs_base bootargs_mmc;mmc dev 3;mmc read ${loadaddr} 0x800 0x2000;bootm'
setenv bootcmd 'run bootcmd_mmc'
saveenv
run bootcmd

使用特权

评论回复
5
FSL_TICS_Rita| | 2014-12-16 15:16 | 只看该作者
a1028732302 发表于 2014-12-16 10:58
MX6Q SABRESD-MFG U-Boot > pri
bootargs=console=ttymxc0,115200 rdinit=/linuxrc enable_wait_mode=off
b ...

楼主你好,请问你这里u-boot是已经起来的,对吧?

使用特权

评论回复
6
leifenger| | 2014-12-16 15:25 | 只看该作者
a1028732302 发表于 2014-12-16 10:50
uboot,uImge,initramfs也都是跟烧录工具用的一样的,
u-boot-mx6q-sabresd.bin启动后,我的输入是:
mmc de ...

明显输入错了嘛
mmc dev 2不是对应eMMC!

使用特权

评论回复
7
a1028732302|  楼主 | 2014-12-16 16:14 | 只看该作者
FSL_TICS_Rita 发表于 2014-12-16 15:16
楼主你好,请问你这里u-boot是已经起来的,对吧?

是的emmc启动了已经,是跟烧录工具用的同一个uboot

使用特权

评论回复
8
a1028732302|  楼主 | 2014-12-16 16:15 | 只看该作者
FSL_TICS_Rita 发表于 2014-12-16 15:16
楼主你好,请问你这里u-boot是已经起来的,对吧?

是UBOOT 不是emmc

使用特权

评论回复
9
a1028732302|  楼主 | 2014-12-16 16:16 | 只看该作者
leifenger 发表于 2014-12-16 15:25
明显输入错了嘛
mmc dev 2不是对应eMMC!

dev 2对应的是我的sd卡,我是通过sd卡把initramfs和uImage fatload的

使用特权

评论回复
10
a1028732302|  楼主 | 2014-12-16 16:21 | 只看该作者
leifenger 发表于 2014-12-16 14:47
你的uboot环境变量中启动设备是dev 3吗?
eMMC对应的是dev 3,下面是我使用的eMMC启动配置,可以起来。

我都还没有到这一步呢,我现在emmc还是空的,我想的是先启动最小系统,进去之后再手动分区,烧录到emmc。现在是最开始的最小系统都起不来

使用特权

评论回复
11
FSL_TICS_Rita| | 2014-12-16 16:23 | 只看该作者
a1028732302 发表于 2014-12-16 16:15
是UBOOT 不是emmc

楼主你好,烧写的话建议你使用飞思卡尔官网提供的烧写工具mfgtool来烧写。烧写启动都很好设置的。

使用特权

评论回复
12
FSL_TICS_Rita| | 2014-12-16 16:25 | 只看该作者
还有楼主这里使用的是哪个版本的BSP?linux还是android?

使用特权

评论回复
13
a1028732302|  楼主 | 2014-12-16 16:29 | 只看该作者
FSL_TICS_Rita 发表于 2014-12-16 16:25
还有楼主这里使用的是哪个版本的BSP?linux还是android?

安卓

使用特权

评论回复
14
a1028732302|  楼主 | 2014-12-16 16:31 | 只看该作者
FSL_TICS_Rita 发表于 2014-12-16 16:23
楼主你好,烧写的话建议你使用飞思卡尔官网提供的烧写工具mfgtool来烧写。烧写启动都很好设置的。 ...

板子的OTG口暂时不可用,只好通过SD的方法手动烧写的到emmc,mfgtool原来烧写也是没有问题的,但是怎么一换到手动就不可以了。用的同样的流程,同样的方法

使用特权

评论回复
15
a1028732302|  楼主 | 2014-12-16 16:33 | 只看该作者
FSL_TICS_Rita 发表于 2014-12-16 16:25
还有楼主这里使用的是哪个版本的BSP?linux还是android?

帮忙看一下,总是提示root=需要设置,但是我设置过root=/dev/ram ram0 ram1都不可以。总感觉是缺少参数,但是却不知道怎么设置

使用特权

评论回复
16
FSL_TICS_Rita| | 2014-12-16 17:00 | 只看该作者
a1028732302 发表于 2014-12-16 16:33
帮忙看一下,总是提示root=需要设置,但是我设置过root=/dev/ram ram0 ram1都不可以。总感觉是缺少参数, ...

你好,如果你是从SD卡启动的话,root=/dev/mmcblk0p2。EMMC的话要设置root=/dev/mmcblk0p1。

使用特权

评论回复
17
a1028732302|  楼主 | 2014-12-16 17:04 | 只看该作者
FSL_TICS_Rita 发表于 2014-12-16 17:00
你好,如果你是从SD卡启动的话,root=/dev/mmcblk0p2。EMMC的话要设置root=/dev/mmcblk0p1。 ...

嗯 马上试试看

使用特权

评论回复
18
a1028732302|  楼主 | 2014-12-16 17:06 | 只看该作者
FSL_TICS_Rita 发表于 2014-12-16 17:00
你好,如果你是从SD卡启动的话,root=/dev/mmcblk0p2。EMMC的话要设置root=/dev/mmcblk0p1。 ...

汗~我是直接把uImage和initramfs烧写到内存1080000和10C00000,然后bootm的.是这里的参数怎么设置

使用特权

评论回复
19
a1028732302|  楼主 | 2014-12-16 17:09 | 只看该作者
a1028732302 发表于 2014-12-16 17:04
嗯 马上试试看

<LIST name="Android-SabreSD-eMMC" desc="Choose eMMC android as media">
  <!-- Android Profile: -->
        <CMD state="BootStrap" type="boot" body="BootStrap" file ="u-boot-mx6q-sabresd.bin" >Loading U-boot</CMD>
        <CMD state="BootStrap" type="load" file="uImage" address="0x10800000"
        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Kernel.</CMD>
    <CMD state="BootStrap" type="load" file="initramfs.cpio.gz.uboot" address="0x10C00000"
        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Initramfs.</CMD>
    <CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>
        <CMD state="BootStrap" type="find" body="Updater" timeout="500"/>
就是手动搞的这几句话,结果怎么都不过

使用特权

评论回复
20
a1028732302|  楼主 | 2014-12-16 17:09 | 只看该作者
FSL_TICS_Rita 发表于 2014-12-16 17:00
你好,如果你是从SD卡启动的话,root=/dev/mmcblk0p2。EMMC的话要设置root=/dev/mmcblk0p1。 ...

<LIST name="Android-SabreSD-eMMC" desc="Choose eMMC android as media">
  <!-- Android Profile: -->
        <CMD state="BootStrap" type="boot" body="BootStrap" file ="u-boot-mx6q-sabresd.bin" >Loading U-boot</CMD>
        <CMD state="BootStrap" type="load" file="uImage" address="0x10800000"
        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Kernel.</CMD>
    <CMD state="BootStrap" type="load" file="initramfs.cpio.gz.uboot" address="0x10C00000"
        loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading Initramfs.</CMD>
    <CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>
        <CMD state="BootStrap" type="find" body="Updater" timeout="500"/>
就是手动搞的这几句话,结果怎么都不过

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

65

帖子

0

粉丝