ubuntu10.04上ubifs文件系统的制作与移植过程
2013-12-18 16:39
621 查看
交叉编译器:arm-openwrt-linux-gnueabi-gcc 4.6.3
主机:ubuntu10.04
编译器:gcc4.1.3
一、mtd-utils 交叉编译
参考网页http://www.cnitblog.com/luofuchong/archive/2009/03/11/55259.html
1、mtd-utils编译之前的准备
1)下载mtd-utils最新版本:git clone git://git.infradead.org/mtd-utils.git
之所以使用最新版,是因为开始使用mtd-utils_20080508.orig.tar.gz,网上介绍的好多,结果出现了好多错误。
error: storage size of 'rq' isn't known
该网友给出了正确的解决方法http://www.wcode.net/plus/view.php?aid=851102
具体是在receive_image.c中添加结构体:
struct ip_mreq
{
struct in_addr imr_multiaddr; /* IP multicast address of group */
struct in_addr imr_interface; /* local IP address of interface */
};
结果又出现其他错误。所以改用最新版,现在为mtd-utils1.5.0
2)zlib-1.2.3.tar.gz
3)lzo-2.03.tar.gz http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
4)e2fsprogs-1.41.14 http://download.chinaunix.net/download.php?id=38326&ResourceID=2490
解压到同一目录下(~/ubifs)。编译安装后的文件都放在~/ubifs/build下。
2、编译zlib
tar xzvf /mnt/hgfs/...../zlib-1.2.3.tar.gz-C ./
cd zlib-1.2.3
CC=arm-openwrt-linux-gnueabi-gcc ./configure--shared --prefix=$PWD/../build
make
make install
3、编译安装lzo
tar xzvf /mnt/hgfs/...../lzo-2.03.tar.gz -C ./
cd lzo-2.03
CC=arm-openwrt-linux-gnueabi-gcc ./configure--host=arm-openwrt-linux-gnueabi --prefix=$PWD/../build
make
make install
4、编译e2fsprogs-1.41.14
./configure--host=arm-openwrt-linux-gnueabi CC=arm-openwrt-linux-gnueabi-gcc--prefix=$PWD/../build
cd lib/uuid/(注意:不能省)
make
make install
5、mtd-utils编译
make CROSS=arm-openwrt-linux-gnueabi- WITHOUT_XATTR=1(也可以写到Makefile中,如写到common.mk中CROSS=arm-openwrt-linux-gnueabi- )
编译生成的工具在arm-openwrt-linux-gnueabi目录下。
二、ubuntu下mtd-utils编译
参考网页 http://blog.chinaunix.net/uid-26895763-id-3465135.html
1. zlib
apt-get install zlib1g-dev
2. lzo
apt-get install liblzo2-2
apt-get install liblzo2-dev
apt-get install uuid-dev
由于我使用的是ubuntu10.04所以会提示我libuuid1的版本依赖过高,需要降低版本。
apt-get install libuuid1=2.17.2-0ubuntu1.10.04.1
然后再执行
apt-get install uuid-dev
3. e2fsprogs
我的Ubuntu10.04中可能系统自带的,不需要安装。
注意: 在编译的过程中,你或许会遇到下面的问题:(In compile process, you will meet the following problem.)
1. sys/acl.h: No such file or directory --> sudo apt-get install libacl1-dev
2. compr_lzo.c:29:23: error: lzo/lzo1x.h: No such file or directory --> sudo apt-get install liblzo-dev (Maybe use liblzo2-dev replace it)
3. uuid/uuid.h: No such file or directory --> sudo apt-get install uuid-dev
安装完毕后,开始编译mtd-utils。
打开终端,输入:
make WITHOUT_XATTR=1
或者 make
至此,mtd-utils 编译完成。
执行安装命令:
make install
这样您的工具 mkfs.ubifs就会安装到 /usr/sbin目录下面。
主机:ubuntu10.04
编译器:gcc4.1.3
一、mtd-utils 交叉编译
参考网页http://www.cnitblog.com/luofuchong/archive/2009/03/11/55259.html
1、mtd-utils编译之前的准备
1)下载mtd-utils最新版本:git clone git://git.infradead.org/mtd-utils.git
之所以使用最新版,是因为开始使用mtd-utils_20080508.orig.tar.gz,网上介绍的好多,结果出现了好多错误。
error: storage size of 'rq' isn't known
该网友给出了正确的解决方法http://www.wcode.net/plus/view.php?aid=851102
具体是在receive_image.c中添加结构体:
struct ip_mreq
{
struct in_addr imr_multiaddr; /* IP multicast address of group */
struct in_addr imr_interface; /* local IP address of interface */
};
结果又出现其他错误。所以改用最新版,现在为mtd-utils1.5.0
2)zlib-1.2.3.tar.gz
3)lzo-2.03.tar.gz http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
4)e2fsprogs-1.41.14 http://download.chinaunix.net/download.php?id=38326&ResourceID=2490
解压到同一目录下(~/ubifs)。编译安装后的文件都放在~/ubifs/build下。
2、编译zlib
tar xzvf /mnt/hgfs/...../zlib-1.2.3.tar.gz-C ./
cd zlib-1.2.3
CC=arm-openwrt-linux-gnueabi-gcc ./configure--shared --prefix=$PWD/../build
make
make install
3、编译安装lzo
tar xzvf /mnt/hgfs/...../lzo-2.03.tar.gz -C ./
cd lzo-2.03
CC=arm-openwrt-linux-gnueabi-gcc ./configure--host=arm-openwrt-linux-gnueabi --prefix=$PWD/../build
make
make install
4、编译e2fsprogs-1.41.14
./configure--host=arm-openwrt-linux-gnueabi CC=arm-openwrt-linux-gnueabi-gcc--prefix=$PWD/../build
cd lib/uuid/(注意:不能省)
make
make install
5、mtd-utils编译
make CROSS=arm-openwrt-linux-gnueabi- WITHOUT_XATTR=1(也可以写到Makefile中,如写到common.mk中CROSS=arm-openwrt-linux-gnueabi- )
编译生成的工具在arm-openwrt-linux-gnueabi目录下。
二、ubuntu下mtd-utils编译
参考网页 http://blog.chinaunix.net/uid-26895763-id-3465135.html
1. zlib
apt-get install zlib1g-dev
2. lzo
apt-get install liblzo2-2
apt-get install liblzo2-dev
apt-get install uuid-dev
由于我使用的是ubuntu10.04所以会提示我libuuid1的版本依赖过高,需要降低版本。
apt-get install libuuid1=2.17.2-0ubuntu1.10.04.1
然后再执行
apt-get install uuid-dev
3. e2fsprogs
我的Ubuntu10.04中可能系统自带的,不需要安装。
注意: 在编译的过程中,你或许会遇到下面的问题:(In compile process, you will meet the following problem.)
1. sys/acl.h: No such file or directory --> sudo apt-get install libacl1-dev
2. compr_lzo.c:29:23: error: lzo/lzo1x.h: No such file or directory --> sudo apt-get install liblzo-dev (Maybe use liblzo2-dev replace it)
3. uuid/uuid.h: No such file or directory --> sudo apt-get install uuid-dev
安装完毕后,开始编译mtd-utils。
打开终端,输入:
make WITHOUT_XATTR=1
或者 make
至此,mtd-utils 编译完成。
执行安装命令:
make install
这样您的工具 mkfs.ubifs就会安装到 /usr/sbin目录下面。
相关文章推荐
- ubifs文件系统制作与移植
- ubifs文件系统制作与移植
- ubifs文件系统制作与移植
- ubifs文件系统的制作过程&&遇到的问题及解决方案总结---之一“uboot中添加对UBIFS文件系统的支持”
- ubifs文件系统的制作过程&&遇到的问题及解决方案总结---之三“UBIFS镜像的制作&&烧写”
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作--Bootloader的执行过程
- ubifs文件系统的制作以及移植
- Uboot201106的Ubifs文件系统移植mini6410过程详细记录
- Linux内核版本和系统启动过程以及具体内核移植和根文件系统的制作
- FL2440移植linux-3.0全过程(3)制作initramfs最小文件系统
- ubuntu10.04 使用busybox制作根文件系统 1
- ubifs文件系统制作与移植
- ubifs文件系统制作与移植
- ubifs文件系统的制作过程&&遇到的问题及解决方案总结---之二“Linux内核中添加对UBIFS文件系统的支持”
- uboot编译、根文件系统制作、系统移植
- UBUNTU10.04利用NFS文件系统挂载ARM S3C2440根目录
- UBIFS文件系统简介 与 利用mkfs.ubifs和ubinize两个工具制作UBI镜像 (完整理解版本)
- U盘安装单系统ubuntu10.04之全过程&拔掉U盘后系统无法启动
- Linux下Ramdisk根文件系统制作过程解析
- Exynos4412 文件系统制作(三)—— 文件系统移植