zoukankan      html  css  js  c++  java
  • mtd-utils交叉编译安装

    一、获取源码并解压

    存储于/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
     
     
     
  • 相关阅读:
    Python的17种骚操作
    Python使用pip下载慢的原因
    Mysql数据库的安装
    Python中遇到的难解的提示:
    Linux使用SecureCRT远程终端工具的使用
    Linux下IP命令使用详解
    (未解决)jmeter报错之“请在微信客户端打开链接”
    Python学习笔记系列——九九乘法表&猜大小
    《Mysql必知必会》笔记
    (未解决)记录一次登录&jmeter,留下的一地鸡毛
  • 原文地址:https://www.cnblogs.com/idyllcheung/p/10722606.html
Copyright © 2011-2022 走看看