qemu源码编译

文章讲述了在编译QEMU源码时可能遇到的子库同步问题,主要是由于使用github镜像克隆导致的TLS错误。解决方案包括在git上添加gitlab账户或修改.gitmodules文件中的URL为SSH格式,从而实现免密克隆子库。最后,正常进行make和install步骤。
摘要由CSDN通过智能技术生成

qemu源码编译

1、从github或者gitlab上克隆源码。
2、进入源码目录configure,一般配好–prefix(指定安装目录)。如果没有设置–target(需要模拟的目标架构),则默认编译所有版本。
3、在configure这一步可能存在同步子库的问题(如果你本来就是在gitlab上用https的方式clone的应该不会有这个问题):
原因: 因为qemu使用了decodetree等技术,这是后来作为子库添加到源码中的,所以./configure配置的时候会先同步子库。可是qemu源码是放在gitlab上的,如果用github克隆的镜像,git命令行设置的账户是github的,那么同步子库的时候会出现tls错误,默认的子库url是https的,会需要账户和密码,但是因为我git设置的是github的账户,猜测这里可能是因为git使用.gitmodules文件中设置的url同步子库的时候发现当前账号没法登录gitlab(账号对不上肯定没法克隆)。
方法: 要解决这个问题有两个方法。第一个方法是在自己的git上添加gitlab账户(没试过,因为我用的github账户)。
另一个方法就是将自己的ssh-keygen生成的公钥放在gitlab的账户上,然后将.gitmodules这个文件中的所有url格式从https修改为git@的版本。

#用vim打开,尝试用这个命令:
:%s/https:\/\//git@/g
#注意还需要替换一个infix:
:%s/.com\//.com:/g

经过上面这步的折腾以后不需要在git中添加gitlab账户了,反正gitlab上存在你的公钥,那就直接用免密的方式clone就好啦!

4、配置完成之后就是一般的make(可以配合-j n选项加快编译速度)和install(安装到第一步的指定目录)了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值