编译qemu

el7上编译

git clone git://git.qemu-project.org/qemu.git

./configure --target-list=x86_64-softmmu --cpu=x86_64 --enable-kvm --disable-werror --disable-fdt

sudo yum install pixman-devel

make -j 20 

qemu/qemu/qemu-img create -f qcow2 vm.img 10G

qemu/qemu/x86_64-softmmu/qemu-system-x86_64 -serial mon:stdio --nographic -enable-kvm -hda ./vm.img -boot d -cdrom ./Fedora-Server-dvd-x86_64-25-1.3.iso

qemu-system-x86_64 -m 2048 -enable-kvm --nographic  fedora.img -cdrom ./Fedora-Live-Desktop-x86_64-20-1.iso

转载于:https://www.cnblogs.com/muahao/p/7487390.html

### 配置 QEMU 进行交叉编译 为了使 QEMU 支持跨平台环境下的程序运行,通常需要通过特定选项来模拟目标架构的行为并加载相应的库文件。以下是关于如何配置 QEMU 的详细说明: #### 使用 `-L` 参数指定动态链接器路径 当使用 QEMU 模拟不同架构时,可以通过 `-L` 参数告诉动态链接器在哪里查找共享库文件[^1]。例如,在 x86 架构下启动 QEMU 并执行 `/bin/ls` 命令可以这样操作: ```bash qemu-i386 -L / qemu-i386 -L / /bin/ls ``` 对于非 x86 CPU,可能还需要下载适合的目标系统的 `glibc` 库(如 `qemu-runtime-i386-XXX.tar.gz`),并将这些库解压到适当的位置以便于 QEMU 查找。 #### 清理环境变量的影响 确保环境中未设置可能导致冲突的变量,比如 `LD_LIBRARY_PATH`。如果该变量被设置了,则可能会干扰 QEMU 正确定位所需的共享库文件。因此建议先清除此变量再继续后续步骤: ```bash unset LD_LIBRARY_PATH ``` #### 加载调试模块(可选) 在某些情况下,为了增强调试功能或者支持更复杂的场景,可以在 QEMU 启动之后挂载 `debugfs` 文件系统,并插入自定义内核模块以扩展其能力[^2]: ```bash mount -t debugfs none /sys/kernel/debug/ insmod /lib/modules/4.8.0/extra/ktapvm.ko ``` 以上命令分别用于启用 Linux 调试接口以及加载额外的功能驱动程序。 #### 编写 Makefile 或构建脚本中的工具链前缀 最后一步是在实际开发过程中调整您的项目构建流程,使其能够识别由 QEMU 提供的支持。这通常涉及修改 CMakeLists.txt 文件或是 GNU Makefiles 中的相关字段,将主机上的本地工具替换为目标平台上对应的版本。假设我们正在处理 i386 架构的应用程序,则应将 CC 定义如下所示: ```makefile CC := qemu-i386-gcc CXX := qemu-i386-g++ AR := qemu-i386-ar RANLIB := qemu-i386-ranlib STRIP := qemu-i386-strip ``` 上述方法允许开发者利用宿主机器的强大性能同时又能验证代码是否能在预期硬件上正常工作。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值