移植Mer-qtmediahub到hi3716m(4):确定可写入hi3716m的文件系
手头的hi3716m板子,FLASH容量有256MB的,也有128MB的。上面制作的mer-qtmediahubrootfs尺寸有200MB。后面还要加别的东西,比如浏览器等,因此,必须进行压缩。 按理说NANDFLASH用yaffs文件系统比较理想,但是文件系统不是压缩的,因此即使做成文件系统,也会受到容量的限制。 首先尝试的是cramfs文件系统,用mkfs.cramfs可完成该文件系统的制作。 写入文件系统到后,启动板子,打印信息: VFS:Mounted root (cramfs filesystem) readonly on device 31:9. Freeinginit memory: 120K cramfs:bad compressed blocksize 417793690 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信息; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |