JFFS文件系统的制作.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JFFS文件系统的制作

使用新的busybox-1.13.3制作jffs2文件系统 由于之前使用的文件系统中的busybox是1.5版本,结果很多工具都没有完善,这一次,在上下载了当前的最新稳定版本,busybox-1.13.3来制作,总算搞定了,但也出现了一些问题,贴出我的过程跟大家分享一下,也给有需要的人一点帮助,希望如此。 全文如下: 2009-3-26 陈纪煌 今天尝试了移植新的文件系统,使用的是busybox-1.13.3稳定版本 由于之前所使用的版本是busybox-1.5.0,结果发现很多东西无法支持,比如nfs无法挂在,并且clear等工具无法正常使用 所以下了一个新的版本进行尝试 1.解压该包 tar xf busybox-1.13.3.tar.bz2 cd busybox-1.13.3 2.修改Makefile 找到 CROSS_COMPILE ?= 修改为CROSS_COMPILE ?=arm-linux- 找到 ARCH ?= $(SUBARCH) 修改为 ARCH ?= arm 3.进行默认配置 make defconfig 4.对配置信息进行修改 make menuconfig 检查Miscellaneous Utilities--- ??? taskset 是否已经去除 同时设置如下: Busybox Settings --- ??? ??? Build Options --- ??? ??? ??? [*]Build BusyBox as a static binry (no shared libs) ??? ??? ??? ()Cross Compiler prefix=/usr/local/arm/3.4.1/bin/ ??? ??? Installation Options --- ??? ??? ??? [*]Dont use /usr ??? ??? ??? BusyBox installation=${PROJECT}/rootfs/rootfs_1.13??? ??? 这几个设置对于之前做过相关工作的人来说是比较熟悉的,都很容易知道为何如此做。 make make install 编译出错 修改networking/interface.c 818行改为 .type = -1 这样编译就能通过。我使用gcc来编译是能通过的,但是用arm-linux-gcc编译就无法通过,应该是编译起的函数库的问题。因为报错信息是关于网络协议中一个宏的定义,就好像socket中的AF_INET差不多。 编译结束后,在${PROJECT}/rootfs/下建立rootfs_1.13文件夹 并在其中建立如下路径 mkdir bin sbin lib etc dev mnt usr/bin usr/sbin usr/lib proc sys -p 并执行make install则将busybox安装 5.加入运行需要的库文件 写了一个脚本,把这个放在/usr/local/arm/3.4.1/arm-linux/lib/下执行,目的是将一些程序运行时需要的函数库复制到目标文件系统的lib路径下 =========以下是脚本内容=================== #!/bin/bash #You should put this file cp.sh in $(CROSS-COMPILE)/lib/ ROOTFS_LIB=${PROJECT}/rootfs/rootfs_1.13/lib/ for file in libc libcrypt libdl libm libpthread libresolv libutil do cp $file-*.so ${ROOTFS_LIB} cp -d $file.so.[*0-9] ${ROOTFS_LIB} done cp -d ld*.so* ${ROOTFS_LIB} #end script =============脚本结束======================== 6.在${PROJECT}/rootfs/rootfs_1.13/etc/下建立如下文件或者路径 vi fstab 内容是: proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 vi priflie 内容是: #!/bin/sh #You should put this file profile into your $(CONFIG_PREFIX)/etc/ echo Set seaech library in /etc/profile export LD_LIBRARY_PATH=/lib:/usr/

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档