基于S3C2440的busybox的移植 yaffs根文件系统制作
时间:11-20
来源:互联网
点击:
硬件平台: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回去即可。
操作系统: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回去即可。
S3C2440busybox根文件系统制 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)