查看: 4793|回复: 9

[求助] imx6d linux下升级文件系统

[复制链接]

该用户从未签到

1

主题

7

帖子

0

新手上路

Rank: 1

积分
39
最后登录
2017-4-21
发表于 2017-4-10 15:36:52 | 显示全部楼层 |阅读模式
我的需求是在imx6d linux下,使用U盘更新文件系统,请问是否有人做过类似的东东呢?
我尝试过一下三种方式:
1.交叉编译过mtd_utils工具,制作出了ubi文件系统镜像 ubi.img,然后通过 ./nandwrite将镜像文件写入文件系统的分区 /dev/mtd4
结果失败,擦除和写入过程都没有报错,但重启发现文件系统无法挂载

2.使用dd命令
将根目录remount成只读,然后dd到U盘中,得到文件系统的二进制,再从U盘dd回到/dev/mtdblock4中去
结果失败,从U盘dd回/dev/mtdblock4时内核会崩溃,偶尔执行成功,重启两次,文件系统也无法挂载了

3.使用mtd_utils工具的./mtd_debug 命令,组合使用如下命令
./mtd_debug read
./mtd_debug erase
./mtd_debug write

结果失败,文件系统无法挂载

求大神指条明路,万分感激!
我知道答案 目前已有9人回答
回复

使用道具 举报

该用户从未签到

5

主题

11

帖子

0

新手上路

Rank: 1

积分
45
最后登录
2017-5-10
发表于 2017-4-13 16:39:28 | 显示全部楼层
楼主,我用交叉编译器编译不过mtd_utils,报无lzo,然后交叉编译也编不过lzo,在configure时就错误:
./configure --host=arm-none-linux-gnueabi:
checking whether your compiler passes the LZO conformance test... FAILED
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

7

帖子

0

新手上路

Rank: 1

积分
39
最后登录
2017-4-21
 楼主| 发表于 2017-4-14 13:40:35 | 显示全部楼层
星岚¥辰 发表于 2017-4-13 16:39
楼主,我用交叉编译器编译不过mtd_utils,报无lzo,然后交叉编译也编不过lzo,在configure时就错误:
./confi ...

交叉编译mtd_utils请参考如下链接,我照着这个链接做的,没遇到问题
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

7

帖子

0

新手上路

Rank: 1

积分
39
最后登录
2017-4-21
 楼主| 发表于 2017-4-14 13:40:58 | 显示全部楼层
星岚¥辰 发表于 2017-4-13 16:39
楼主,我用交叉编译器编译不过mtd_utils,报无lzo,然后交叉编译也编不过lzo,在configure时就错误:
./confi ...

http://blog.csdn.net/mociml/article/details/6134988
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

7

帖子

0

新手上路

Rank: 1

积分
39
最后登录
2017-4-21
 楼主| 发表于 2017-4-15 15:42:30 | 显示全部楼层
自己顶一下
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

14

帖子

0

注册会员

Rank: 2

积分
58
最后登录
2017-4-17
发表于 2017-4-17 21:09:58 | 显示全部楼层
Ubi文件系统烧写,应当参考mfg中的ucl.xml 如下:
<!--burn the rootfs to NAND: -->
        <CMD state="Updater" type="push" body="$ flash_erase /dev/mtd%part_rootfs% 0 0">Erasing rootfs partition</CMD>
        <CMD state="Updater" type="push" body="$ ubiformat /dev/mtd%part_rootfs%"/>
        <CMD state="Updater" type="push" body="$ ubiattach /dev/ubi_ctrl -m %part_rootfs%">Attaching UBI partition</CMD>
        <CMD state="Updater" type="push" body="$ ubimkvol /dev/ubi0 -Nrootfs -m"/>
        <CMD state="Updater" type="push" body="$ mkdir -p /mnt/mtd%part_rootfs%"/>
        <CMD state="Updater" type="push" body="$ mount -t ubifs ubi0:rootfs /mnt/mtd%part_rootfs%"/>
        <CMD state="Updater" type="push" body="pipe tar -jxv -C /mnt/mtd%part_rootfs%" file="files/rootfs.tar.bz2" ifdev="MX6SL MX6D MX6Q MX6SX">Sending and writting rootfs</CMD>
        <CMD state="Updater" type="push" body="pipe tar -jxv -C /mnt/mtd%part_rootfs%" file="files/rootfs_nogpu.tar.bz2" ifdev="MX6UL MX7D">Sending and writting rootfs</CMD>
        <CMD state="Updater" type="push" body="frf">Finishing rootfs write</CMD>
        <CMD state="Updater" type="push" body="$ umount /mnt/mtd%part_rootfs%">Unmounting rootfs partition</CMD>

        <CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD>
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

7

帖子

0

新手上路

Rank: 1

积分
39
最后登录
2017-4-21
 楼主| 发表于 2017-4-18 15:30:52 | 显示全部楼层
雪飞狐 发表于 2017-4-17 21:09
Ubi文件系统烧写,应当参考mfg中的ucl.xml 如下:

        Erasing rootfs partition

你好,这个应该是在MFG升级时,通过USB传递给内核的命令对吧?
目前我们由于结构的原因,MFG升级那个接口,不能漏在外面,所以无法用MFG Tool升级

你说的参考这些命令,具体应该怎么使用呢?u-boot里面又没有这些命令。内核启动后,如果没有文件系统,也没法通过终端输入命令,那应该怎么使用这些命令呢?
回复 支持 反对

使用道具 举报

该用户从未签到

20

主题

809

帖子

1

超级版主

Rank: 8Rank: 8

积分
1566
最后登录
2023-1-17
发表于 2017-4-19 15:06:16 | 显示全部楼层
yuanmengjue 发表于 2017-4-18 15:30
你好,这个应该是在MFG升级时,通过USB传递给内核的命令对吧?
目前我们由于结构的原因,MFG升级那个接口 ...

使用mfgtool烧写时候,是通过板子上usb-otg接口往target板上写,请问你是要写到哪个flash上呢,如果是写到SD卡的话,可以使用dd命令来写的。
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

7

帖子

0

新手上路

Rank: 1

积分
39
最后登录
2017-4-21
 楼主| 发表于 2017-4-21 14:38:23 | 显示全部楼层
小智MM 发表于 2017-4-19 15:06
使用mfgtool烧写时候,是通过板子上usb-otg接口往target板上写,请问你是要写到哪个flash上呢,如果是写 ...

版主你好,我们的设备由于结构原因,usb-otg那个接口,做在了机壳里面。因此不把机器拆掉,是没法用OTG烧写的。

我是要写到nand flash上。
我们目前的分区是这样的,Nor Flash 8M 两个区 mtdblock0 和 mtdblock1
Nand Flash 分了三个区 mtdblock2 和 mtdblock3 和 mtdblock4

我们的文件系统就放在 mtdblock4这个分区里面。

6#大哥说的方法,我使用NFS挂载一个PC端的文件系统,可以仿照mfg的一个一个命令,将文件系统弄进去,没问题。但对于我们需要升级的产品来说,这个操作还是太复杂了。

我们机器漏在外面的接口只有普通USB,网络这两个。

希望有一个好的升级方案,可以不用拆机,就能升级整个文件系统。

我有试过dd命令。就是我1楼写的第二点,没有成功。。。
回复 支持 反对

使用道具 举报

该用户从未签到

20

主题

809

帖子

1

超级版主

Rank: 8Rank: 8

积分
1566
最后登录
2023-1-17
发表于 2017-5-3 16:13:18 | 显示全部楼层
yuanmengjue 发表于 2017-4-21 14:38
版主你好,我们的设备由于结构原因,usb-otg那个接口,做在了机壳里面。因此不把机器拆掉,是没法用OTG ...

很抱歉,没有更好的办法了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-21 09:12 , Processed in 0.112870 second(s), 30 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表