首页 > 系统相关 >centos7 编译 qemu 8.1.0

centos7 编译 qemu 8.1.0

时间:2024-03-21 16:47:33浏览次数:35  
标签:8.1 SMC centos7 编译 user linux qemu

target x86_64-linux-user 的编译

参考链接

qemu官方对centos7的编译支持到2021年4月,所以qemu 8.1.0的linux-user在centos7上编译不过,官方是不管的。
为了编译通过需要自己手动修改qemu的源码,只能修复一些宏参数的缺失,修改的基本思路是:

  • 如果在系统中能够找到对应的宏定义,则包含对应的头文件
  • 如果找不到,则屏蔽相应的代码

这个解决方法对应的qemu版本是8.0.0
修复的问题是

linux-user: Fix the build on systems without SOL_ALG
linux-user: Fix the build on systems without MAP_SHARED_VALIDATE
linux-user: Fix the build on systems without MADV_{KEEP,WIPE}ONFORK

qemu 8.1.0新增一个问题

linux-user: 缺少 NETLINK_SMC

修复方法

  1. 在linux-user/mmap.c的20行添加
    #include <linux/mman.h>
  2. 在linux-user/syscall.c的124行添加
    #include <linux/mman.h>
  3. 注释linux-user/strace.c的576行的NETLINK_SMC分支
    #ifdef NETLINK_SMC
    case NETLINK_SMC
    ...
    #endif
  4. 注释linux-user/syscall.c的1851行的SOL_ALG分支
    #ifdef SOL_ALG
    }else if (cmsg->cmsg_level == SOL_ALG)
    ...
    #endif

标签:8.1,SMC,centos7,编译,user,linux,qemu
From: https://www.cnblogs.com/xiaozhen95/p/18087391

相关文章

  • Linuxcentos7配置网卡的方法(非gui篇)
    网卡配置方法有好几种,本次讲述的是非gui的centos7配置方法 目录 1、普通配置网卡方法: 2、使用命令行工具nmcli(NetworkManager的命令行界面)方法:删除连接:创建新的连接:注意事项:附记:  1、普通配置网卡方法:由于本次操作过程和我之前发布的文章的第一种原理......
  • Centos7部署jeecg-boot项目(完整版)
    一、搭建环境1、安装Mysql8.0  安装前先删除原有Mysql、Mariadb以及相应的文件夹rpm-qa|grep-imysql#查看已安装的Mysqlyumremove-ymysql-*#删除Mysqlfind/-namemysql#查看原有Mysql相关目录rm-rf/*/*/mysql#删除原有Mysql目录 下载rpm安装包wget......
  • ceph:在centos7 上通过 ceph-ansible 安装ceph 14
    安装本质上就是熟悉ceph-ansible工具的各种配置关系:哪些时必须的?默认值来自哪里?各种配置分散在哪些配置文件内?...../site.yml./group_vars/all.yml  ./group_vars/其他各种组件特定的.yml  注意:all.yml里的配置很大部分时依赖于site.yml的配置的。根据需要进行配置。 ......
  • centos7 安装rocketmq
    rocketmq官网地址:https://rocketmq.apache.org/zh/download1、下载wgethttps://dist.apache.org/repos/dist/release/rocketmq/5.2.0/rocketmq-all-5.2.0-bin-release.zip2、解压unziprocketmq-all-5.2.0-bin-release.zip-d/data/3、配置broker,新增brokerIP1和names......
  • nvm 下载新的Node(V18.19.0)版本,查看npm的版本出现异常Error: Cannot find module '@npm
    异常: 之前下载18.17.1查看npm也有问题ERROR:npmv9.6.7isknownnottorunonNode.jsv18.17.1. 大概意思是npm的版本是 v9.6.7单不能运行在v18.17.1的node上,但是node官网显示v18.17.1版本的node是适配v9.6.7的npm。这就很矛盾 最后找到的解决方案是升级nvm的版本......
  • centos7安装hive
    三种模式的区别安装模式matedata位置存放位置matestore部署方式内嵌模式本地内嵌数据derby中内嵌本地模式独立数据库中独立启动远程模式独立数据库中独立启动hive依赖hadoop,安装hive之前需要确保hadoop集群正常启动hadoop安装参考:centos7安装hadoop(......
  • 关于centos7.6使用秘钥登陆,安装git和.net core
    秘钥登陆先用root登陆ssh-keygen-trsa使用上述指令生成rsa秘钥cat/root/.ssh/id_rsa.pub>>/root/.ssh/authorized_keys然后使用上面指令复制公钥到authorized_keysvim/etc/ssh/sshd_config编辑 重启sshd服务systemctlrestartsshd最后下载私钥到本地......
  • 【NodeJS】GLIBC_2.28 not found CentOS7不兼容Node高版本 npm报错
    CentOS7环境下安装Nvm,在执行nvmuse18.17.0后执行node-v爆出如下错误 bash复制代码node:/lib64/libm.so.6:version`GLIBC_2.27'notfound(requiredbynode)node:/lib64/libc.so.6:version`GLIBC_2.25'notfound(requiredbynode)node:/lib64/libc.so......
  • CentOS7防火墙
    提示修改防火墙配置文件之前,需要对之前防火墙规则做好备份重启防火墙后,需要确认防火墙状态和防火墙规则是否加载,若重启失败或规则加载失败,则所有请求都会被防火墙拒绝firewalld服务管理显示服务的状态systemctlstatusfirewalld.service启动服务systemctlstartfirewal......
  • 在CentOS7中安装MySQL8.3.0
    MySQLCommunityServer官网:https://dev.mysql.com/downloads/mysql基础架构及系统版本:x86_64,CentOSLinuxrelease7.9.2009(Core)yum包路径:/var/cache/yum/x86_64/7/base/packagesmariadb的库:mariadb-libsrpm-ivh:installverbose(冗长)hash(哈希)——可视化。查看mysql服务......