ToB企服应用市场:ToB评测及商务社交产业平台

标题: 银河麒麟v10服务器arm版,qemu+gcc,跨架构安装捏造机 [打印本页]

作者: 郭卫东    时间: 2024-7-11 17:29
标题: 银河麒麟v10服务器arm版,qemu+gcc,跨架构安装捏造机
如同架构安装捏造机,直接yum install qemu和相干依赖即可。但是如果需跨架构安装捏造机,则需编译安装qemu。选择了qemu7.0.0,由于银河麒麟v10默认安装的gcc版本为7.30,不能满意qemu7.0.0安装需求,需要安装更高版本的gcc,本文选择的gcc9.30。
1 升级gcc至9.3.0

需要下载源代码安装。官方下载地址:https://download.qemu.org/
参见:银河麒麟V10升级GCC,或麒麟V10编译安装GCC9.3一步一步实行基本即可。
1.1 下载并解压缩9.3.0
  1. wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz
  2. tar -xvf gcc-9.3.0.tar.gz
  3. cd gcc-9.3.0
复制代码
1.2 下载gcc依赖
  1. wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gmp/gmp-6.1.0.tar.xz
  2. tar -xvf gmp-6.1.0.tar.xz
  3. mv gmp-6.1.0 gmp
  4. wget https://mirrors.tuna.tsinghua.edu.cn/gnu/mpfr/mpfr-3.1.4.tar.gz
  5. tar -xvf mpfr-3.1.4.tar.gz
  6. mv mpfr-3.1.4 mpfr
  7. wget https://mirrors.tuna.tsinghua.edu.cn/gnu/mpc/mpc-1.0.3.tar.gz
  8. tar -xvf mpc-1.0.3.tar.gz
  9. mv mpc-1.0.3 mpc
复制代码
1.3 编译安装前,需要额外安装依赖ninja:
  1. yum install ninja*
复制代码
1.4 编译安装gcc9.3.0
  1. yum install -y gcc-c++ glibc-static gcc //为避免出错建议安装此包
  2. mkdir gcc-build
  3. cd gcc-build
  4. ../configure --prefix=/usr/local/gcc-9.3.0 --disable-multilib --enable-languages=c,c++
  5. make -j4
  6. make install
  7. /usr/local/gcc-9.3.0
复制代码
1.5 利用
利用的时候通过环境变量
  1. export CC=/usr/local/gcc-9.3.0/bin/gcc
  2. export CXX=/usr/local/gcc-9.3.0/bin/g++
复制代码
1.6 附:GCC安装后的设置参考
  1. #环境变量path
  2. echo  "export PATH=/usr/local/gcc/bin:$PATH" >> /etc/profile.d/gcc.sh
  3. source /etc/profile.d/gcc.sh
  4. #头文件
  5. ln -sv /usr/local/gcc/include/ /usr/include/gcc
  6. #库文件
  7. echo "/usr/local/gcc/lib64" >> /etc/ld.so.conf.d/gcc.conf
  8. ldconfig -v
  9. ldconfig -p |grep gcc
复制代码
1.7 附:编译参数说明:
–prefix=/usr/local/ 指定安装路径
–enable-bootstrap 这里引用网上一些文献对该参数的解释:用第一次编译生成的步伐进行第二次编译,然后用再次生成的步伐进行第三次编译,而且检查比力第二次和第三次结果的准确性,也就是进行冗余的编译检查工作。 非交叉编译环境下,默认已经将该值设为 enable,可以不用显示指定;交叉编译环境下,需要显示将其值设为 disable。
–enable-checking=release 以软件发布版的标准来对编译时生成的代码进行一致性检查;设置该选项为 enable并不会改变编译器生成的二进制结果,但是会导致编译的时间增加;该选项仅支持gcc编译器; 总体而言,对于上面这个选项,机器的硬件设置较低,以及不愿等候太久编译时间的童鞋,可以设置为 disable;但是这会增加产生未预期的错误的风险,以是应该慎用。 可以同时设置 --disable-bootstrap 与 --disable-checking,这对编译过程的提速很有资助。
–enable-threads=posix 顾名思义,启用posix标准的线程支持 ,要让步伐能在符合POSIX规范的linux发布版上准确运行,就应该启用该选项,取决于宿主或目标操作系统的范例,别的可用值有:aix,dec,solaris,win32等,如果你是别的的类UNIX系统,就需要设置相应的值。
–enable-languages=c,c++ 支持的高级语言范例和运行时库,可以设置的所有语言包括 ada,c,c++,Fortran,java,objc,obj-c++,GO 等语言。这里只开启了c和c++,由于支持的语言越多,就需要安装越多的相应静态与动态库,另有五花八门的依赖库,这会让管理变得困难,体积也会变得庞大。
–disable-multilib 如果你的操作系统是32位,默认就已经设置为 disable,这意味着gcc仅能生成32位的可实行步伐;如果你的操作系统是64位,默认就已经设置为 enable,这意味着用gcc编译别的源文件时可以通过 -m32 选项来决定是否生成32位机器代码。如果在64位系统上,要禁止生成32位代码, 设置 --disable-multilib。
–enable-gather-detailed-mem-stats 允许收集详细的内存利用信息,如果设置该参数为 enable,则将来编译好的gcc可实行步伐,可以通过 -fmem-report 选项来输出编译别的步伐时的及时内存利用环境。
–with-long-double-128 指定 long double 范例为128位(16字节!);设置为 without,则 long double范例将为64位(8字节),这将与平凡的 double 范例一样。 基于 Glib 2.4以上版本编译时,默认已经是128位。
2 编译安装qemu7.0.0

2.1 安装依赖:
  1. yum install -y virt-viewer virt-v2v libvirt*  virt-manager
  2. yum -y install gcc gcc-c++ automake libtool zlib-devel glib2-devel bzip2-devel libuuid-devel spice-protocol spice-server-devel usbredir-devel libaio-devel  flex bison
复制代码
2.2 下载、解压并编译安装qemu-7.0.0
  1. wget https://download.qemu.org/qemu-7.0.0.tar.xz
  2. tar  -xvf qemu-7.0.0.tar.xz
  3. cd qemu-7.0.0
  4. ./configure
  5. make && make install
  6. systemctl restart libvirtd
复制代码
参考文档:
银河麒麟V10升级GCC
银河麒麟服务器arm、x86安装qemu捏造机

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4