构建嵌入式Linux系统-存储设备管理
<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>一, 为宿主机安装MTD工具程序
下载MTD工具程序: ftp://ftp.uk.linux.org/pub/people/dwmw2/mtd/cvs/
下载至${PRJROOT}/build-tools并将它解开.
$ cd ${PRJROOT}/build-tools/mtd/util
$ make clean
修改Makefile文件:
SBINDIR=sbin
MANDIR=man
INCLUDEDIR=include
$ make
install时需要root权限,否则提示安装失败 :(
$ su -m
password:
# make DESTDIR=${PREFIX} install
工具程序安装到${PREFIX}/sbin目录.搜索路径已经在开发工具里添加.
然后用# chown -R命令改变tools目录的属主
在主机/dev目录中建立MTD设备条目,以root的身份执行MAKEDEV
# ./MAKEDEV
二, 为目标板安装MTD工具程序
首先下载并安装zlib.从 <script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script> http://www.gzip.org/zlib/ 下载zlib并将它解开放到${PRJROOT}/build-tools目录.然后移往该链接库的源码目录,进行编译工作:
$ cd ${PRJROOT}/build-tools/zlib-1.2.3
$ CC=arm-linux-gcc LDSHARED="arm-linux-ld -shared" ./configure --shared
缺省情况下,zlib建立静态的链接库.设定LDSHARED变量以及提供--shared选项,建立成共享链接库.
$ make
$ make prefix=${TARGET_PREFIX} install
zlib安装到${TARGET_PREFIX}/lib,接着将它安装到目标板的根文件系统:
$ cd ${TARGET_PREFIX}/lib
$ cp -d libz.so* ${PRJROOT}/rootfs/lib
然后,将MTD snapshot下载并解开放到${PRJROOT}/sysapps.
$ cd ${PRJROOT}/sysapps/mtd/util
$ make clean
修改Makefile文 <script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script> 件:
SBINDIR=usr/sbin
MANDIR=usr/man
INCLUDEDIR=usr/include
CROSS=arm-linux-
$ make
install时需要root权限
$ su -m
password:
# make DESTDIR=${PRJROOT}/rootfs install
工具程序安装到${PRJROOT}/rootfs/usr/sbin目录.
然后用# chown -R命令改变rootfs目录的属主.
Flash芯片以块(而非字节)为单位,所以建立分区的时候必须考虑到"抹除块"的大小,以"抹除块"的大小为界,如:
(可以 # cat /proc/mtd 来察看分区信息)
dev: size erasesize name
mtd0: 00030000 00004000 "boot"
mtd1: 001d0000 00004000 "kernel"
mtd2: 00a00000 00004000 "rootfs"
mtd3: 03400000 00004000 "ext-fs3"