嵌入式根文件系统的制作.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:6 大小:2.7MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

嵌入式根文件系统的制作.doc

嵌入式根文件系统的制作.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

嵌入式根文件系统的制作要移植的开发板的存储设备为Nandflash,我们可以用应用比较广泛的cramfs文件系统。二.移植准备1.目标板我们还是使用之前移植过程一直使用的开发板参数。2.软件准备(1)BusyboxBusybox被形象的称为嵌入式linux系统中的瑞士军刀,可以从这个称呼中看到busybox是一个集多种功能于一身的东西,它将许多常用的UNIX命令和工具结合到了一个单独的可执行程序中。虽然与相应的GNU工具比较起来,busybox所提供的功能和参数略少,但在比较小的系统(例如启动盘)或者嵌入式系统中,已经足够了。Busybox在设计上就充分考虑了硬件资源受限的特殊工作环境。它采用一种很巧妙的办法减少自己的体积:所有的命令都通过“插件”的方式集中到一个可执行文件中,在实际应用过程中通过不同的符号链接来确定到底要执行哪个操作。例如最终生成的可执行文件为busybox,当为它建立一个符号链接ls的时候,就可以通过执行这个新命令实现列目录的功能。采用单一执行文件的方式最大限度地共享了程序代码,甚至连文件头、内存中的程序控制块等其他操作系统资源都共享了,对于资源比较紧张的系统来说,真是最合适不过了。在busybox的编译过程中,可以非常方便地加减它的“插件”,最后的符号链接也可以由编译系统自动生成。编译busyboxBusybox的编译过程与内核的编译过程很接近都是先makemenuconfig进行配置,然后在make进行编译。【1】从http://www.busybox.net/downloads/下载busybox工具。这里我们选择busybox-1.13.4.tar.bz2【2】解压busybox-1.13.4.tar.bz2使用命令tarjxvfbusybox-1.13.4.tar.bz2【3】进入busybox目录,修改Makefile在164行CROSS_COMPILE=HYPERLINK"http://www.c114.net/keyword/arm"\t"_blank"arm-linux-【4】Makemenuconfig进行配置,可以选择静态编译,如果是动态编译的话要拷贝相应的库文件,默认配置保存即可。【5】makeallinstall这是会在busybox目录下生成_install文件夹。(2)文件系统打包工具【1】从http://prdownloads.sourceforge.net/cramfs/下载cramfs工具。【2】解压cramfs-1.1.tar.gz使用命令:tarzxvfcramfs-1.1.tar.gz【3】进入cramfs工具的根目录执行make。【4】Make后在cramfs工具的根目录中就会生成一个mkcramfs文件,这个就是我们需要的工具。三.制作过程1.建立根文件系统目录就是之前busybox生成的_install目录cd…/_install2.创建各种必要的系统文件目录。mkdirdevlibtmpproc3.创建设备文件。cddevmknodfb0c290建立framebuffer设备文件mknodts0c13128建立触摸屏设备文件mknodconsolec51mknodtty0c40mknodtty1c41mknodtty2c42mknodtty3c43mknodtty4c444.添加必要的库文件,由于之前没有选择静态编译busybox,这里要拷贝相应的库文件cdlibcp–arf…/HYPERLINK"http://www.c114.net/keyword/arm"\t"_blank"arm-linux/lib/*.5.根据自己需要添加应用程序这里我们编写一个简单的应用程序打印一句问候语,程序代码如下:#include<stdio.h>voidmain(){printf(“HelloWorld\n”);}注意编译时要使用arm-linux-gcc,由于之前我们把编译器的库文件全部进行拷贝,可以直接动态编译。生成的可执行文件hello放入tmp文件夹。使用的命令:rm-linux-gcchello.c–ohellocp–arf…/_install/tmp/6.打包mkcramfs_installrootfs四.烧写过程我们采用的烧写方法和烧写内核的方法一样内核的烧,我们采用tftp方式,用网线将目标板和pc机连接起来,配置好目标板的HYPERLINK"http://www.c114.net/keyword/%CD%F8%C2%E7"\t"_blank"网络参数,主要是serverip、ipaddr。首先将rootfs下载到内存中