qemu里编译 android,编译可在Android上运行的qemu user mode

前言本文在Ubuntu 64位系统上对qemu项目进行交叉编译,并且只编译与qemu user mode有关的代码。下文中的”NDK”若无特殊说明均指”Android NDK”。下文中”$NDK”表示的是NDK的根目录。步骤1.下载并安装Android NDK下载并安装Android NDK的过程在这里不做介绍。2.下载qemu3.设置NDK工具的环境变量4.编译依赖库glib编译可在Androi...
摘要由CSDN通过智能技术生成

前言

本文在Ubuntu 64位系统上对qemu项目进行交叉编译,并且只编译与qemu user mode有关的代码。

下文中的”NDK”若无特殊说明均指”Android NDK”。

下文中”$NDK”表示的是NDK的根目录。

步骤

1.下载并安装Android NDK

下载并安装Android NDK的过程在这里不做介绍。

2.下载qemu

3.设置NDK工具的环境变量

4.编译依赖库

glib

编译可在Android上运行的glib库

编译参考资料:编译可在Android上运行的glib库

5.创建pkg-config的软链接

bVzqnB

ln命令中的源路径是pkg-config工具的源路径。

如果不创建这个软链接,当执行configure脚本时会报下面的错误:

bVzqnF

6.修改configure

添加arm的PIE支持

找到下面的代码:

bVzqnH

将”i386-Linux|x86_64-Linux|x32-Linux|i386-OpenBSD|x86_64-OpenBSD”更改为”i386-Linux|x86_64-Linux|x32-Linux|i386-OpenBSD|x86_64-OpenBSD|arm-Linux”。

如果不这么做的后果,使用”readelf -S qemu-arm”查看编译出来的qemu-arm可执行文件的段,可以发现所有在运行时可加载段的地址均以0x60000000为基址。

在configure中有这么一段代码:

bVzqnP

如果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值