一、获取源码并解压

存储于/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. Java根据链接生成二维码

    Java根据链接生成二维码 相关 jar 包: core-3.1.0.jar 源码及 jar 包下载:http://files.cnblogs.com/files/liaolongjun/qrcode ...

  2. PHP算法学习(8) 环形链表 解决约瑟夫问题

    2019年2月25日17:29:17 Josephus有过的故事:39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓.于是决定了自杀方式,41个人排成一个圆圈 ...

  3. SQL 序列-DML-DML-数据类型-用户管理、权限-事务-视图

    --DML--insert关键字--作用:往表中插入一条(多条)记录 --元祖(tuple)值式的插入(一次插入一条记录)--语法1:insert into tablename(column1,col ...

  4. Python 学习笔记10 函数

    函数其实一段带名字的代码段,我们可以根据代码段,重复执行某一段代码段,或者有条件的执行某一段代码段. 将一段代码定义成函数后,我们可以很方便的根据自己的需求,随时调用该代码段.遇到需求变化的时候,只需 ...

  5. 钉钉开发入门,微应用识别用户身份,获取用户免登授权码code,获取用户userid,获取用户详细信息

    最近有个需求,在钉钉内,点击微应用,获取用户身份,根据获取到的用户身份去企业内部的用户中心做校验,校验通过,相关子系统直接登陆; 就是在获取这个用户身份的时候,网上的资料七零八落的,找的人烦躁的很,所 ...

  6. Spring Cloud 之Eureka(一)

    简介 Eureka是Spring cloud 的基本套件之一,是基于Netflix 的Eureka做的二次封装,主要是负责完成微服务架构中的服务治理功能.它是微服务架构中最为核心和基础的模块,它主要是 ...

  7. spring 相关注解详情(一)

    1.@controller 控制器(注入服务) 用于标注控制层,相当于struts中的action层2.@service 服务(注入dao) 用于标注服务层,主要用来进行业务的逻辑处理3.@repos ...

  8. python numpy库的基本内容

    import numpy as np np.getfromtxt("路径",delimiter = "," ,dtype = str)  #读取txt文件数据 ...

  9. CRT乱码问题

    本人在使用CRT过程中遇到乱码问题,经调试发现要把字体调整为"新宋体",编码格式用"UTF-8". 调整字体: Options à Session option ...

  10. 剑指offer-扑克牌顺子

    题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决 ...