移植Mer-qtmediahub到hi3716m(4):确定可写入hi3716m的文件系统镜像
2012-02-02 22:05
423 查看
手头的hi3716m板子,FLASH容量有256MB的,也有128MB的。上面制作的mer-qtmediahubrootfs尺寸有200MB。后面还要加别的东西,比如浏览器等,因此,必须进行压缩。
按理说NANDFLASH用yaffs文件系统比较理想,但是yaffs文件系统不是压缩的,因此即使做成yaffs文件系统,也会受到FLASH容量的限制。
首先尝试的是cramfs文件系统,用mkfs.cramfs可完成该文件系统的制作。
写入cramfs文件系统到FLASH后,启动板子,打印信息:
VFS:Mounted root (cramfs filesystem) readonly on device 31:9.
Freeinginit memory: 120K
cramfs:bad compressed blocksize 417793690
cramfs:bad compressed blocksize 417793690
cramfs:bad compressed blocksize 3329639899
cramfs:bad compressed blocksize 3329639899
cramfs:bad compressed blocksize 3329639899
/bin/sh:error while loading shared libraries: libtinfo.so.5: cannot openshared object file: Input/output error
Kernelpanic - not syncing: Attempted to kill init!
据Stskeeps分析,可能是Mer在boot时需要写rootfs,或者其他原因。
于是尝试jffs2,最终的命令是:
mkfs.jffs2-d=meego-mer-qtmediahub-armv7l-UNKNOWN.20120127.1445/ --ohi3716m_rootfs.jffs2 -l -e 0x20000 -p –n
说明:
-l:即—little-endian.(如果不指定—little-endian,那么jffs2镜像就会和HOST的endian一致!)
-e0x20000: –eraseblock=0x20000。这个值和hi3716m的某FLASH配置相同。
上面两个参数可以参考hi3716m的文档。
-p:及--pad。在mkfs.jffs2时,需要指定—pad,否则在nandwrite.jffs2时会出错(即5127072不能整除0x20000):
也可以指定”-n”,这样在启动时就不会打印一堆CLEANMARKER信息;
按理说NANDFLASH用yaffs文件系统比较理想,但是yaffs文件系统不是压缩的,因此即使做成yaffs文件系统,也会受到FLASH容量的限制。
首先尝试的是cramfs文件系统,用mkfs.cramfs可完成该文件系统的制作。
写入cramfs文件系统到FLASH后,启动板子,打印信息:
VFS:Mounted root (cramfs filesystem) readonly on device 31:9.
Freeinginit memory: 120K
cramfs:bad compressed blocksize 417793690
cramfs:bad compressed blocksize 417793690
cramfs:bad compressed blocksize 3329639899
cramfs:bad compressed blocksize 3329639899
cramfs:bad compressed blocksize 3329639899
/bin/sh:error while loading shared libraries: libtinfo.so.5: cannot openshared object file: Input/output error
Kernelpanic - not syncing: Attempted to kill init!
据Stskeeps分析,可能是Mer在boot时需要写rootfs,或者其他原因。
于是尝试jffs2,最终的命令是:
mkfs.jffs2-d=meego-mer-qtmediahub-armv7l-UNKNOWN.20120127.1445/ --ohi3716m_rootfs.jffs2 -l -e 0x20000 -p –n
说明:
-l:即—little-endian.(如果不指定—little-endian,那么jffs2镜像就会和HOST的endian一致!)
-e0x20000: –eraseblock=0x20000。这个值和hi3716m的某FLASH配置相同。
上面两个参数可以参考hi3716m的文档。
-p:及--pad。在mkfs.jffs2时,需要指定—pad,否则在nandwrite.jffs2时会出错(即5127072不能整除0x20000):
NAND write: device 0 offset 0x1500000, size 0x30e5280 Attempt to write non page aligned data 51270272 bytes written: ERROR
也可以指定”-n”,这样在启动时就不会打印一堆CLEANMARKER信息;
相关文章推荐
- 移植Mer-qtmediahub到hi3716m(4):确定可写入hi3716m的文件系统镜像
- 移植Mer-qtmediahub到hi3716m(3):在mer-qtmediahub中加入hi3716m的驱动
- 移植Mer-qtmediahub到hi3716m(3):在mer-qtmediahub中加入hi3716m的驱动
- 移植Mer-qtmediahub到hi3716m(1):mer-qtmediahub的rootfs制作
- 移植Mer-qtmediahub到hi3716m(2):kernel配置
- 移植Mer-qtmediahub到hi3716m(2):kernel配置
- 移植Mer-qtmediahub到hi3716m(5):启动Mer-qtmediahub-hi3716m
- 移植Mer-qtmediahub到hi3716m(5):启动Mer-qtmediahub-hi3716m
- 移植Mer-qtmediahub到hi3716m(6):成果与感悟
- 移植Mer-qtmediahub到hi3716m(6):成果与感悟
- 移植Mer-qtmediahub到hi3716m(1):mer-qtmediahub的rootfs制作
- Arm 烧录 根文件系统 +移植qt图形化界面
- dd命令 将镜像文件写入u盘 安装系统
- qt-5.6.0 移植之qt文件系统的建立
- 移植u-boot-2010.09到三星SC32442平台(三):yaffs2文件系统写入支持
- linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)
- qt4.8.2在tq2440开发板上的移植(二)--构建根文件系统
- yaffs2文件系统镜像分析
- asp.net中使用Global.asax文件中添加应用出错代码,写入系统日志文件或数据库
- 显示指定的错误页面,同时把错误信息写入系统日志文件