技术专栏
mtd-utils移植
mtd-utils移植
一、移植环境
-
开发平台:海思SS528
-
编译器:aarch64-mix210-linux-gcc
-
源码包:
- mtd-utils:mtd-utils-2.1.5.tar.bz2
- e2fsprogs:e2fsprogs-1.47.0.tar.gz
- zlib:zlib-1.2.13.tar.gz
- zstd:zstd-1.5.5.tar.gz
- lzo:lzo-2.03.tar.gz
-
编译目录结构
mtd-utils ├── install # 编译后的安装目录 ├── pack # 下载的源码包 └── source # 解压后的源码
二、编译
1)zlib
# 解压
tar -xvf ../pack/zlib-1.2.13.tar.gz
cd zlib-1.2.13
# 配置
CHOST=aarch64-mix210-linux ./configure -prefix=`pwd`/../../install/zlib
# 编译
make -j 20
# 安装
make install
2)lzo
# 解压
tar -xvf ../pack/lzo-2.03.tar.gz
cd lzo-2.03
# 修改配置(跳过不必要的检查,否则不能生成Makefile)
sed -i 's/xpassed | xyes) ;;/xpassed | xyes) ;;*);;/' configure
# 配置,虽然我们需要使用aarch64-mix210-linux,进行编译,但是编译器的命名规则校验失败,使用arm-linux配置
./configure --host=arm-linux --prefix=`pwd`/../../install/lzo
# 修改当前目录下所有的arm-linux,改为aarch64-mix210-linux
sed -i 's/arm-linux/aarch64-mix210-linux/' $(grep -rn "arm-linux-" |awk -F ':' '{print $1}')
# 屏蔽文件中的校验
sed -i '1i\#undef ACCCHK_ASSERT\n#define ACCCHK_ASSERT(e)' src/miniacc.h
# 编译
make -j 20
# 安装
make install
3)zstd
# 解压
tar -xvf ../pack/zstd-1.5.5.tar.gz
cd zstd-1.5.5
# 编译
CC=aarch64-mix210-linux-gcc make -j 20
# 安装
CC=aarch64-mix210-linux-gcc make install DESTDIR=`pwd`/../../install/zstd
4)e2fsprogs
# 解压
tar -xvf ../pack/e2fsprogs-1.47.0.tar.gz
cd e2fsprogs-1.47.0
# 配置
./configure --host=aarch64-mix210-linux --prefix=`pwd`/../../install/e2fsprogs
# 编译
make -j 20
# 修改部分文件的安装目录
sed -i 's/CROND_DIR = /CROND_DIR = $(prefix)/' scrub/Makefile
# 安装
make install
5)mtd-utils
# 解压
tar -xvf ../pack/mtd-utils-2.1.5.tar.bz2
cd mtd-utils-2.1.5
# 跳过异常的判定
sed -i 's/lzo_missing="yes"/lzo_missing="no"/' configure
# 导出环境变量
export UUID_CFLAGS=-I`pwd`/../../install/e2fsprogs/include/uuid
export UUID_LIBS="-L`pwd`/../../install/e2fsprogs/lib -luuid"
export ZLIB_CFLAGS=-I`pwd`/../../install/zlib/include
export ZLIB_LIBS="-L`pwd`/../../install/zlib/lib -lz"
export LZO_CFLAGS=-I`pwd`/../../install/lzo/include
export LZO_LIBS="-L`pwd`/../../install/lzo/lib -llzo2"
export ZSTD_CFLAGS=-I`pwd`/../../install/zstd/usr/local/include
export ZSTD_LIBS="-L`pwd`/../../install/zstd/usr/local/lib -lzstd"
# 配置
./configure --host=aarch64-mix210-linux --prefix=`pwd`/../../install/mtd-utils
# 编译
make -j 20
# 安装
make install
三、安装
本文中的移植整体命令比较多,且大部分都是独立的命令,也有部分可执行文件依赖动态库。编译后的可执行文件以及动态库都在install文件夹下,可根据需要拷贝到板端。
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包
点赞
收藏
评论
打赏
- 分享
- 举报
评论
4个
手气红包
-
鹏 2023-11-09 17:46:36回复 举报lzo/lib/liblzo2.a: error adding symbols: file in wrong format
-
鹏 2023-11-09 17:46:03回复 举报大佬,编译mtd-utils时遇到错误error adding symbols: file in wrong format,请问怎么解决啊?
-
易百纳用户53690 2023-06-30 16:42:40回复 举报谢谢大佬的专栏
-
Techlife 2023-06-30 10:52:57回复 举报赞
相关专栏
-
浏览量:3453次2020-08-25 18:11:05
-
浏览量:1556次2023-06-30 10:33:51
-
浏览量:2746次2020-07-31 15:13:59
-
浏览量:3133次2022-10-11 11:14:08
-
浏览量:1550次2020-04-24 13:28:29
-
浏览量:3612次2017-11-20 11:05:33
-
浏览量:2582次2024-04-30 21:01:38
-
浏览量:600次2023-06-12 14:35:02
-
浏览量:970次2023-09-09 11:32:24
-
浏览量:4834次2022-09-20 15:23:26
-
浏览量:1294次2023-12-19 14:17:11
-
浏览量:3184次2017-11-21 13:53:36
-
2024-07-24 10:04:02
-
浏览量:817次2023-07-27 10:37:40
-
浏览量:1936次2020-08-20 18:00:36
-
浏览量:2394次2020-08-19 16:46:46
-
浏览量:3242次2019-12-09 17:51:38
-
浏览量:1967次2017-11-24 11:39:01
-
浏览量:7393次2022-04-06 11:12:26
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者
cxcc
您的支持将鼓励我继续创作!
打赏金额:
¥1
¥5
¥10
¥50
¥100
支付方式:
微信支付
打赏成功!
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注