[i.MX] FSL IMX 文件系统烧写问题

[复制链接]
 楼主| mxl_mxl 发表于 2014-5-27 21:49 | 显示全部楼层 |阅读模式
fsl imx 如何只烧写文件系统?
使用MfgTools 烧写时,是直接将 rootfs.tar.bz2 解压到 /dev/mmcblk0p1 分区中的。
现在想实现在 uboot 启动时,通过 U盘将文件系统烧进 inand,还请指点。
FSL_TICS_A 发表于 2014-5-28 09:29 | 显示全部楼层
你好,楼主!
我会将你的问题转告给I.MX工程师,他稍后会回复你的。
请耐心等待。
FSL_TICS_Rita 发表于 2014-5-29 15:51 | 显示全部楼层
楼主你好,关于 uboot 启动时,通过 U盘将文件系统烧进 inand,这个我们没有相关的文档给你参考,并且要实现这个的话你的uboot中首先要支持USB。如何只烧写文件系统的话,这个比较容易实现一些,你只需要修改一下mfgtool中的ucl2.xml文件,去掉烧写u-boot和uImage的部分就好了。
FSL_TICS_Rita 发表于 2014-5-29 15:55 | 显示全部楼层
ucl2.xml文件中关于烧写linux images到eMMC上的部分如下所示,删除红色标出部分即可:
<LIST name="SabreSD-eMMC" desc="Choose eMMC Linux as media">
    <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="Updater" type="push" body="$ ls /dev/*"/>
<CMD state="Updater" type="push" body="$ dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1536 count=16">clean up u-boot parameter</CMD>

<CMD state="Updater" type="push" body="$ echo 0 > /sys/block/mmcblk0boot0/force_ro">access boot partition 1</CMD>
<CMD state="Updater" type="push" body="send" file="files/u-boot-mx6q-sabresd.bin">Sending U-Boot</CMD>
<CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk0boot0 bs=512 seek=2 skip=2">write U-Boot to sd card</CMD>
<CMD state="Updater" type="push" body="$ echo 1 > /sys/block/mmcblk0boot0/force_ro"> re-enable read-only access </CMD>
<CMD state="Updater" type="push" body="$ echo 8 > /sys/devices/platform/sdhci-esdhc-imx.3/mmc_host/mmc0/mmc0:0001/boot_config">enable boot partion 1 to boot</CMD>
     
    <CMD state="Updater" type="push" body="send" file="files/uImage">Sending kernel uImage</CMD>
    <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=1M seek=1 conv=fsync">write kernel image to sd card</CMD>
     
    <CMD state="Updater" type="push" body="send" file="mksdcard.sh.tar">Sending partition shell</CMD>
    <CMD state="Updater" type="push" body="$ tar xf $FILE "> Partitioning...</CMD>
    <CMD state="Updater" type="push" body="$ sh mksdcard.sh /dev/mmcblk0"> Partitioning...</CMD>


    <CMD state="Updater" type="push" body="$ mkfs.ext3 -j /dev/mmcblk0p1">Formatting rootfs partition</CMD>
    <CMD state="Updater" type="push" body="$ mkdir -p /mnt/mmcblk0p1"/>  
    <CMD state="Updater" type="push" body="$ mount -t ext3 /dev/mmcblk0p1 /mnt/mmcblk0p1"/>
    <CMD state="Updater" type="push" body="pipe tar -jxv -C /mnt/mmcblk0p1" file="files/rootfs.tar.bz2">Sending and writting rootfs</CMD>
    <CMD state="Updater" type="push" body="frf">Finishing rootfs write</CMD>
    <CMD state="Updater" type="push" body="$ umount /mnt/mmcblk0p1">Unmounting rootfs partition</CMD>
    <CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD>
</LIST>

 楼主| mxl_mxl 发表于 2014-5-29 16:27 | 显示全部楼层
FSL_TICS_Rita 发表于 2014-5-29 15:51
楼主你好,关于 uboot 启动时,通过 U盘将文件系统烧进 inand,这个我们没有相关的文档给你参考,并且要实 ...

i.mx53 loco u-boot 支持 usb,有没有可参考的资料?
目前使用的是 u-boot-2009.08 ,有没有较高版本的 u-boot,imx53 能用的
FSL_TICS_Rita 发表于 2014-5-29 16:49 | 显示全部楼层
mxl_mxl 发表于 2014-5-29 16:27
i.mx53 loco u-boot 支持 usb,有没有可参考的资料?
目前使用的是 u-boot-2009.08 ,有没有较高版本的 u ...

目前测试过的u-boot只有u-boot-2009.08 ,至于较高的版本在I.mx53上是没有测试过的:(。建议你用我如上给你的方法,不过我上面给出的是关于i.mx6的修改,i.mx53的也类似。
FSL_TICS_Rita 发表于 2014-5-29 16:50 | 显示全部楼层
也就是说,目前i.mx53支持u-boot-2009.08 版本的,更高的版本是不可以的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

16

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部