一、获取源码并解压

存储于/home/zhangyi/work/psoc_ltp/tools-ltp-ddt中,解压后的源码存于上一层目录。

1.mtd-utils-2.0.0

wget ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-2.0.0.tar.bz2

tar -jxvf mtd-utils-2.0.0.tar.bz2 -C ..#解压到上一层目录

#wget ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-1.4.5.tar.bz2

#tar -jxvf mtd-utils-1.4.5.tar.bz2 -C .. #解压到上一层目录

2.zlib-1.2.11

wget http://www.zlib.net/zlib-1.2.11.tar.gz

tar -zxvf zlib-1.2.11.tar.gz -C ..#解压到上一层目录

.3.lzo-2.04

#wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz

#tar -zxvf lzo-2.10.tar.gz

wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.04.tar.gz

tar -zxvf lzo-2.04.tar.gz -C ..

4.e2fsprogs-1.41.14

#wget http://sourceforge.net/projects/e2fsprogs/files/e2fsprogs/v1.41.14/e2fsprogs-1.41.14.tar.gz

#tar -xzf e2fsprogs-1.41.14.tar.gz -C ..#无法解压

git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git #git下来的是源码,非压缩包

cp -R e2fsprogs/ ..

编译安装前,先建立一个安装目录。

cd /home/zhangyi/work/psoc_ltp

mkdir mtdutils

二、编译安装zlib

cd ./zlib-1.2.11/

#./configure --prefix=$PWD/install_dir

export CC=arm-linux-gnueabihf-gcc #否则编译出x86架构的,在编译mtd_utils时候会报错libz.so file not recognized: File format not recognized

./configure --prefix=/home/zhangyi/work/psoc_ltp/mtdutils --static

make && make install

三、编译安装lzo-2.10

cd ./lzo-2.10/

#./configure --prefix=$PWD/install_dir --host=arm-linux

./configure CC=arm-linux-gnueabihf-gcc --prefix=/home/zhangyi/work/psoc_ltp/mtdutils --host=arm-linux --enable-static

#注意之前是./configure --prefix=../mtdutils 提示configure: error: expected an absolute directory name for --prefix: ../mtdutils 所以还是绝对地址比较靠谱

2.10之前的版本configure会碰到ACC conformance test failed问题。

make && make install

四、编译安装e2fsprogs-1.41.14

./configure CC=arm-linux-gnueabihf-gcc --host=arm-linux --prefix=/home/zhangyi/work/psoc_ltp/mtdutils

cd lib/uuid/

make && make install

五、编译安装mtd-utils-2.0.0

#cd ./mtd-utils-1.4.5/

#export ZLIBCPPFLAGS=-I/home/zhangyi/work/psoc_ltp/mtdutils/include
#export ZLIBLDFLAGS=-L/home/zhangyi/work/psoc_ltp/mtdutils/lib
#export LZOCPPFLAGS=-I/home/zhangyi/work/psoc_ltp/mtdutils/include/lzo
#export LZOLDFLAGS=-L/home/zhangyi/work/psoc_ltp/mtdutils/lib

#make CROSS=arm-linux-gnueabihf- WITHOUT_XATTR=1
 
1.4.5make有问题,查了一下说版本太老,和较新的ubuntu不兼容,又回到2.0.0版本。
 
cd ./mtd-utils-2.0.0
export ZLIB_CFLAGS=-I/home/zhangyi/work/psoc_ltp/mtdutils/include
export ZLIB_LIBS=-L/home/zhangyi/work/psoc_ltp/mtdutils/lib
export LZO_CFLAGS=-I/home/zhangyi/work/psoc_ltp/mtdutils/include/lzo
export LZO_LIBS=-L/home/zhangyi/work/psoc_ltp/mtdutils/lib
export UUID_CFLAGS=-I/home/zhangyi/work/psoc_ltp/mtdutils/include/uuid
export UUID_LIBS=-L/home/zhangyi/work/psoc_ltp/mtdutils/lib/pkgconfig

export LDFLAGS="$ZLIB_LIBS $LZO_LIBS $UUID_LIBS -luuid -lz"

export CFLAGS="-O2 -g $ZLIB_CFLAGS $LZO_CFLAGS $UUID_CFLAGS"
#-luuid -lz是根据make报错的情况查询后加上的。
#必须要使用export导出为环境变量,否则configure使用不了。
 
./configure --host=arm-linux CC=arm-linux-gnueabihf-gcc --prefix=$PWD/install_dir
 
make CROSS=arm-linux-gnueabihf- WITHOUT_XATTR=1
make install
 
 
 

mtd-utils交叉编译安装的更多相关文章

  1. QT5.7交叉编译安装到arm(好多系列文章)

    以下采用的系统为ubuntu16.04,开发板为迅为iTOP4412,4.3寸屏. 下载qt5.7源码qt-everywhere-opensource-src-5.7.0.tar.xz http:// ...

  2. 交叉编译安装ARM平台上的Qt

    一.宿主机环境搭建: 编译需要x11库的支持,在Ubuntu下安装命令: sudo apt-get install libx11-dev libxext-dev libxtst-dev 二.下载源码包 ...

  3. Linux 嵌入式 开发环境 交叉编译安装

    1.安装 Ubuntu 系统 安装完毕,系统 提示 重启,这个时候 请拔掉U盘,进行重启 OK. 2.安装 NFS 服务 3.安装 openssh服务 4.开启openSSH服务 5.就可以使用 Wi ...

  4. Ubuntu/Debian交叉编译安装ARM平台版本的ffmpeg

    1 准备工作 (1)libmp3lame库 下载:    wget http://downloads.sourceforge.net/lame/lame-3.99.tar.gz 解压 编译:./con ...

  5. Creating and Flashing UBIFS with MTD Utils

    转:http://wiki.atlas-embedded.com/index.php?title=Creating_and_Flashing_UBIFS_with_MTD_Utils Contents ...

  6. libpng交叉编译安装

    tar xzf libpng-1.5.22.tar.gz cd libpng-1.5.22 mkdir tmp 打开Makefile文件并修改CC=arm-linux-gcc ./configure ...

  7. Qt Creator的安装与Qt交叉编译的配置

    Qt Creator 的安装 到Qt官网下载Qt Creator  https://www.qt.io/download-open-source/ 其它旧版本点击Achieve连接下载 或登录http ...

  8. Fedora16 安装相关

    安装BCM4312无线网卡驱动 Linux系统BCM4312无线网卡驱动的安装 联想Y450 Linux系统 无线网卡驱动安装 准备工作: Broadcom官网驱动下载地址 http://www.br ...

  9. Is an MTD device a block device or a char device?

    转:http://www.linux-mtd.infradead.org/faq/general.html#L_mtd_what Note, you can find Ukranian transla ...

随机推荐

  1. 梦里寻她千百度,Bug却在隔壁老张处

    程序员与 Bug 是一对矛盾的存在,程序员既要在解决 Bug 中获得成就感,同时也讨厌 Bug 本身的存在.“程序不息,Bug 不止”,程序员在与 Bug 的斗争中,也有很多有趣的事情发生,我们整理了 ...

  2. atom编辑器安装插件报错。。

    Checking for native build tools failed gyp info it worked if it ends with ok gyp info using node-gyp ...

  3. AIROBOT系统 之 踏浪而来

    缘由 为什么要做AIROBOT?其实自从我知道智能家居这个领域之后,就一直想打造一个自己的智能家居控制平台,算是我的一个梦.最开始的项目还是在安居客当时工作的时候做的,项目地址:https://git ...

  4. eolinker使用初体验(一)

    1.官网 https://www.eolinker.com 2.安装测试增强插件,由于chrome安装的时候有问题,建议移步firefox浏览器,不纠结.. 3.新建一个单例测试

  5. layui 将后台传过来的值等价替换

    <th lay-data="{field:'opentime',width:'12%' , sort: true, align:'center',templet:'#roleTpl'} ...

  6. 重写apply, call, bind方法

    重写apply, call, bind方法 //原生JavaScript封装apply方法,第四版 Function.prototype.applyFour = function(context) { ...

  7. Java学习--抽象类和接口

    https://www.cnblogs.com/dolphin0520/p/3811437.html 抽象类 先了解一下[抽象方法]—一种特殊的方法,只有声明,没有具体的实现  abstract vo ...

  8. DB_ObjectName_Define

    TABLE:Module_Object_Action eg:Finance_ProfitAdjust_Apply

  9. PowerBI/Excel - PowerQuery数据转换系列 - 如何将多行的值串联到一行 - 行列转换

    Power Query 是做数据转换.数据清洗的利器,不管是在Excel还是PowerBI,如何玩好Power Query是成功建模的必不可少的一步. 今天要get到的一个新技巧:行列转换 如何将多行 ...

  10. python迭代-如何对迭代器做切片操作

    如何对迭代器做切片操作 问题举例 读取某个文件内容的100~300行内容,我们是否可以使用 类似列表切片的方式得到一个100~300行文件内容的生成器 分析 列表的切片操作其实是在重载方法__getI ...