default

default

0个粉丝

40

问答

0

专栏

0

资料

default  发布于  2016-03-18 13:47:44
采纳率 0%
40个问答
6738

请问怎么在海思提供的SDK上移植ubifs?

 
想试下UBIFS系统,请问大伙有在海思平台上的uboot和内核移植过ubifs的吗?分享下经验
我来回答
回答8个
时间排序
认可量排序

david

33个粉丝

368

问答

253

专栏

229

资料

david 2016-03-18 16:48:44
认可0
uboot 搞过 jffs2,ubi没有,估计也不难,就是开启balabala一堆宏,然后稍微修改

ngswfx

1个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-05-27 12:11:53
认可0
本帖最后由 ngswfx 于 2016-5-29 05:48 编辑

我也正弄UBI,感觉很不稳定,随便写个什么文件,系统就可能坏掉。不写东西没事。

UBI warning: ubi_io_read: error -74 (ECC error) while reading 55 bytes from PEB 257:129024, read only 55 bytes, retry

/////不停提示ECC 错,郁闷的不行,成了readonly的系统了。

//以前习惯搞jffs2了,用的也很顺手,现在搞NAND,支持读写的哪个系统比较好呀。

我目前考虑这么弄:主rootfs部分,弄成squashfs,只读。这样压缩比大,不动的各种so文件,ko文件都放到这里面。

//再弄个文件系统,放经常更新的应用程序,配置参数等。由于程序调试,需要改各种配置,保存参数等。目前想弄成UBI,可发现一堆问题。

///目前我是把整个系统都弄成UBI了。还没有单独在rootfs环境下在挂载成目录。

default

0个粉丝

40

问答

0

专栏

0

资料

default 2016-05-27 23:27:19
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=30749&ptid=10461]ngswfx 发表于 2016-5-27 12:11[/url]
我也正弄UBI,感觉很不稳定,随便写个什么文件,系统就可能坏掉。不写东西没事。

UBI warning: ubi_io_r ...[/quote]

目前我是把内核,ubifs文件系统弄成只读,NAND 剩余的空间为用户可读写分区,也是ubifs,挂载到mnt下

ngswfx

1个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-05-28 01:31:53
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=30777&ptid=10461]default 发表于 2016-5-27 23:27[/url]
目前我是把内核,ubifs文件系统弄成只读,NAND 剩余的空间为用户可读写分区,也是ubifs,挂载到mnt下[/quote]

你写入文件后,有没有发现有什么ecc报错呢?

ngswfx

1个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-05-29 05:48:36
认可0
本帖最后由 ngswfx 于 2016-5-29 05:52 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=30749&ptid=10461]ngswfx 发表于 2016-5-27 12:11[/url]
我也正弄UBI,感觉很不稳定,随便写个什么文件,系统就可能坏掉。不写东西没事。

UBI warning: ubi_io_r ...[/quote]



////////////////////////////////////////////////////////////终于发现问题所在了
制作ubifs 文件系统镜像时,网上的大多数代码后面都是-r参数。弄出来的镜像,我这里基本正常,也能写,写完看看文件也在,就是没写对,ECC没对。
sudo mkfs.ubifs -F -d 后面跟的参数没对。-F -d弄出来的镜像就正常。

我开始用的sudo mkfs.ubifs -r  //弄出来的就没对,哎,抄的网上的代码。真是百思不得其姐姐。:lol

//////////////////为什么-F -d能用,还是网上看了大量文档,其中提到-F参数写错了,写成了--F导致异常,赶紧看自己以前研究的海斯sh处理流程文件,发现它内部用的就是这个mkfs.ubifs -F -d参数。

goodman

2个粉丝

30

问答

18

专栏

17

资料

goodman 2016-05-29 08:54:14
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=30813&ptid=10461]ngswfx 发表于 2016-5-29 05:48[/url]
////////////////////////////////////////////////////////////终于发现问题所在了
制作ubifs 文 ...[/quote]

我一直使用YAFFS2,这个ubifs有什么优势吗?

ngswfx

1个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-05-29 09:41:35
认可0
本帖最后由 ngswfx 于 2016-5-29 10:17 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=30817&ptid=10461]goodman 发表于 2016-5-29 08:54[/url]
我一直使用YAFFS2,这个ubifs有什么优势吗?[/quote]

带压缩,可读写,开始没配置对,现在配置对了,现在看来还行,网上资料说,断电保护没有jffs2好,不过jffs2只能SPI,而这个UBIFS只能nand,如果和yaffs2相比,估计就是压缩好一些。

//压缩支持2种格式,zlib效率稍高,不过它这个压缩是块内压缩,是透明的,每次写块,压缩,读取块,解压,压缩效率应该比全局要弱一些。

还有一个优势是不限大小,它不扫描整个flash再干活,大flash有利。

我这里yaffs2大概79M  ////////

squashfs 大概31M 压缩最好  ;
  
UBIFS大概41M

////主要是我弄yaffs没搞定,死活readonly,所以用UBIFS测试一下,目前看来还行。不过这个东西,要是设置不好NAND参数,很容易也readonly,或者ECC错误。折腾我2天。

ngswfx

1个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-05-29 10:02:25
认可0
本帖最后由 ngswfx 于 2016-5-29 10:27 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=30818&ptid=10461]ngswfx 发表于 2016-5-29 09:41[/url]
带压缩,可读写,开始没配置对,现在配置对了,现在看来还行,网上资料说,断电保护没有jffs2好,不过j ...[/quote]


/////////////////////////////////////////////////////压缩命令  96M rootfs  128K 2K 4bit 计算出最大768块
cd /home/ngs
sudo mkfs.ubifs -F -d ./rootfs_XXX_DecBox -x zlib -m 2048 -e 124KiB -c 768 -o rootfs_XXX_ubifs.img
chmod -R 777 ./rootfs_XXX_ubifs.img
//步骤2,根据配置文件内容,开始第二动作,参数太多,所以它搞了个配置文件,这个步骤好像是为了能支持uboot里面用nand write写这个生成的镜像。
sudo ubinize -o rootfs_XXX_ubi.img -m 2048 -p 0x20000 rootfs_XXX_ubinize.cfg
chmod -R 777 ./rootfs_XXX_ubi.img
cp -rf ./rootfs_XXX_ubi.img /nfsroot/

////////////////////////////////////////////////// rootfs_XXX_ubinize.cfg 文件配置

[ubifs]
mode=ubi
image=rootfs_XXX_ubifs.img
vol_id=0                                     //全局ubi号,0,1,2......
vol_size=90MiB                          //要小于96,没搞懂为啥,估计就是索引等日志信息占用,否则烧写后会报错,
vol_type=dynamic                      //读写开关
vol_alignment=1
vol_name=rootfs
vol_flags=autoresize

////////////////////////////////////////////////////////////////

uboot模式烧写
////////////////////////////////////////////////////////////////////////
//////////UBI rootfs///////96M////////////////////从8M位置写96M
mw.b 1000000 ff 6000000
tftp 1000000 rootfs_XXX_ubi.img
nand erase 800000 6000000
nand write.i 1000000 800000 $(filesize)

////////////环境变量
setenv bootargs 'mem=512M console=ttyAMA0,115200 root=ubi0:rootfs ubi.mtd=4 rw rootfstype=ubifs mtdparts=hinand:1M(boot),5M(kernel),1M(baseparam),1M(pqparam),96M(rootfs),8M(Config),-(others) mmz=ddr,0,0,300M coherent_pool=2M'


//进入系统后,mount 另外一个8M Config  也是UBIFS格式,ubi0是roofs根目录,ubi1是第二个ubi
//链接第5个mtd
ubiattach /dev/ubi_ctrl -m 5 -O 2048
mount -t ubifs ubi1:Config  /Config

///////////////////////////////////////////////////////////////////////

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区