您的位置 首页 芯闻

根据S3C2440的busybox的移植 yaffs根文件体系制造

硬件平台:FL2440操作系统:Linux2.6.28.7交叉编译工具:arm-linux-gcc-3.4.1飞凌公司默认的文件系统,不具有文件延伸功能,比如在/dev下有…

硬件渠道:FL2440
操作体系:Linux2.6.28.7
穿插编译东西:arm-linux-gcc-3.4.1
飞凌公司默许的文件体系,不具有文件延伸功用,比如在/dev下有mmcblk0p1这个文件,在挂载SD卡驱动时,需求敲入指令mount /dev/mmcblk0p1,假如具有延伸功用,在敲入mm后,能够直接按TAB键,假如/dev目录下只要一个以mm形状的文件,将会主动补全后边的字符。开始揣度该功用应该为busybox集成,从网上下载busybox-1.9.2.tar.bz2,方案装置该版别的busybox。
第一步:下载busybox源代码:http://busybox.net/downloads/busybox-1.9.2.tar.bz2
解压:
tar jxf busybox-1.9.2.tar.bz2
第二步:修正makefile中的174行的arch和编译东西链头:
ARCH ?= arm
CROSS_COMPILE ?= /usr/local/arm/3.4.1/bin/arm-linux-
第三步:make menuconfig.修正编译装备选项,参阅如下设置:





其他运用默许设置。
第四步:编译busybox
make install
在busybox/_install目录下会生成busybox文件。一起,在解压的当时目录也会存在该文件。
第五步:修正busybox的文件特点
chmod 777 busybox
必需求修正特点,不然或许形成无法发动文件体系。
第六步:将新生成的busybox替换掉本来的文件,在文件体系根目录的bin目录下。
第七步:替换busybox所需求的库文件。这一步很要害,运用不同版别的穿插编译东西编译出来的busybox,所运用的库是不同的。FL2440供给的busybox运用的3.3.2的穿插编译东西,这儿咱们运用的3.4.1的版别,因此有必要替换掉本来的lib文件。假如不替换,发动体系时将呈现如下过错:
Failed to execute /linuxrc. Attempting defaults…
busybox运用的库在如下途径:
/usr/local/arm/3.4.1/arm-linux/lib
这儿因穿插编译环境装置途径不同而有所差异。将该目录下的*.so,*.so.*,*.a,全拷备到根文件体系的lib目录下,有文件重命名的直接掩盖,删去晒干一些不必要的库文件,如*jpeg*等,不然会呈现紧缩的文件体系过大而烧不进去的现象。
第八步:运用mkyaffs2image东西制造文件体系:
./mkyaffs2image qte_yaffs qte.yaffs
第九步:擦除开发板上的rootfs文件体系分区,从头下载新生成的文件体系,重启开发板。
第十步:这时现已能够正常进入控制台,可是弹出如下过错提示:
mdev: /etc/mdev.conf: No such file or directory
在文件体系的etc下新建一个空文件mdev.conf,别的修正/etc/init.d下的rcS文件的最终一行为exec /usr/etc/rc.touch,以支撑触摸屏,默许为支撑鼠标。
第十一步:再次制造文件体系,同第八步,然后擦除rootfs文件体系分区,从头下载最新的文件体系,重启开发板。这时一切正常。
第十二步:测验挂载SD卡驱动,或许运用busybox供给的相关指令,这次现已具有敲指令按TAB键延伸的功用了。

注:
制造过程中或许遇到文件体系大于64M,咱们fl2440内存64M,不或许下载下来,所以能够先删去/usr目录下有关图片等文件,烧完之后,再copy回去即可。硬件渠道:FL2440
操作体系:Linux2.6.28.7
穿插编译东西:arm-linux-gcc-3.4.1
飞凌公司默许的文件体系,不具有文件延伸功用,比如在/dev下有mmcblk0p1这个文件,在挂载SD卡驱动时,需求敲入指令mount /dev/mmcblk0p1,假如具有延伸功用,在敲入mm后,能够直接按TAB键,假如/dev目录下只要一个以mm形状的文件,将会主动补全后边的字符。开始揣度该功用应该为busybox集成,从网上下载busybox-1.9.2.tar.bz2,方案装置该版别的busybox。
第一步:下载busybox源代码:http://busybox.net/downloads/busybox-1.9.2.tar.bz2
解压:
tar jxf busybox-1.9.2.tar.bz2
第二步:修正makefile中的174行的arch和编译东西链头:
ARCH ?= arm
CROSS_COMPILE ?= /usr/local/arm/3.4.1/bin/arm-linux-
第三步:make menuconfig.修正编译装备选项,参阅如下设置:





其他运用默许设置。
第四步:编译busybox
make install
在busybox/_install目录下会生成busybox文件。一起,在解压的当时目录也会存在该文件。
第五步:修正busybox的文件特点
chmod 777 busybox
必需求修正特点,不然或许形成无法发动文件体系。
第六步:将新生成的busybox替换掉本来的文件,在文件体系根目录的bin目录下。
第七步:替换busybox所需求的库文件。这一步很要害,运用不同版别的穿插编译东西编译出来的busybox,所运用的库是不同的。FL2440供给的busybox运用的3.3.2的穿插编译东西,这儿咱们运用的3.4.1的版别,因此有必要替换掉本来的lib文件。假如不替换,发动体系时将呈现如下过错:
Failed to execute /linuxrc. Attempting defaults…
busybox运用的库在如下途径:
/usr/local/arm/3.4.1/arm-linux/lib
这儿因穿插编译环境装置途径不同而有所差异。将该目录下的*.so,*.so.*,*.a,全拷备到根文件体系的lib目录下,有文件重命名的直接掩盖,删去晒干一些不必要的库文件,如*jpeg*等,不然会呈现紧缩的文件体系过大而烧不进去的现象。
第八步:运用mkyaffs2image东西制造文件体系:
./mkyaffs2image qte_yaffs qte.yaffs
第九步:擦除开发板上的rootfs文件体系分区,从头下载新生成的文件体系,重启开发板。
第十步:这时现已能够正常进入控制台,可是弹出如下过错提示:
mdev: /etc/mdev.conf: No such file or directory
在文件体系的etc下新建一个空文件mdev.conf,别的修正/etc/init.d下的rcS文件的最终一行为exec /usr/etc/rc.touch,以支撑触摸屏,默许为支撑鼠标。
第十一步:再次制造文件体系,同第八步,然后擦除rootfs文件体系分区,从头下载最新的文件体系,重启开发板。这时一切正常。
第十二步:测验挂载SD卡驱动,或许运用busybox供给的相关指令,这次现已具有敲指令按TAB键延伸的功用了。

注:
制造过程中或许遇到文件体系大于64M,咱们fl2440内存64M,不或许下载下来,所以能够先删去/usr目录下有关图片等文件,烧完之后,再copy回去即可。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/xinwen/264241.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部