在m1芯片的MacBook上centos7安装parallels tool

前言

之前的文章里面已经提供了定制M1可用的ISO,然后碰到有安装parallels tool的相关的提问,开始以为这个地方只需要安装devel相关的包就可以了,实际上这个还是存在一些问题的,本篇就是提供解决方法的

安装步骤

首先配置网络,后面需要用到

在m1芯片的MacBook上centos7安装parallels tool_第1张图片
可以看到网络设备识别为eth0,后面的配置文件识别为enp0s5,这个自己修改一下就可以了,如果没有得到ip

加载parallels tool安装文件

在m1芯片的MacBook上centos7安装parallels tool_第2张图片
把整个目录拷贝到本地,因为后面需要加载7.9的ISO,所以这个程序小,就弄本地目录去

[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# df -h /mnt/
Filesystem      Size  Used Avail Use% Mounted on
/dev/sr0         68M   68M     0 100% /mnt
[root@localhost ~]# cp -ra /mnt /opt/
[root@localhost ~]# umount /mnt

加载ISO
在m1芯片的MacBook上centos7安装parallels tool_第3张图片

修改源文件
一般我都是保留必须的,其它的先弄其它地方放着

[root@localhost ~]# mv /etc/yum.repos.d/CentOS-* /opt/
[root@localhost ~]# mv /opt/CentOS-Media.repo /etc/yum.repos.d/
[root@localhost ~]# mkdir /media/CentOS/ -p
[root@localhost ~]# mount /dev/cdrom /media/CentOS/
[root@localhost ~]# df -h|grep /media/CentOS
/dev/sr0                    7.7G  7.7G     0 100% /media/CentOS

上面的注意检查下,是这个7.7G的,之前的那个tool的要umount掉,然后再操作上面的iso加载,不行就多操作或者重启机器了

修改/etc/yum.repos.d/CentOS-Media.repo文件如下

[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7-aarch64

添加epel源和sclo源
这个是因为dkms的包是在epel里面的,而tool是需要这个dkms的包的,所以添加源
而gcc的高版本需要sclo的源
整个文件/etc/yum.repos.d/CentOS-Media.repo内容如下

[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
gpgcheck=0
enabled=1
[epel]
name=epel
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/aarch64/
gpgcheck=0
enabled=1
[sclo]
name=sclo
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-altarch/7/sclo/aarch64/rh/
gpgcheck=0
enabled=1

更新yum缓存

[root@localhost ~]# yum makecache

开始安装tool

[root@localhost ~]# cd /opt/mnt/
[root@localhost mnt]# ./install

在m1芯片的MacBook上centos7安装parallels tool_第4张图片
在m1芯片的MacBook上centos7安装parallels tool_第5张图片
提示需要上面这些必须的包,因为我们的源都配置好了,它会自己安装,如果还是缺,那么注意手动安装下,这个在ISO,EPEL里面都可以找到

在m1芯片的MacBook上centos7安装parallels tool_第6张图片
执行完了还是报错,我们自己处理下,这个是因为依赖写错了,没有这个kernel-core-devel,应该是kernel-devel,我们手动处理剩下的几个依赖包

yum install kernel-devel  dkms

dkms安装会自动把elfutils-libelf-devel安装上

安装完了再次执行./install
在m1芯片的MacBook上centos7安装parallels tool_第7张图片
还是出错,我们查看日志

[root@localhost ~]# cat /var/log/parallels-tools-install.log
Fri Sep 10 03:16:08 EDT 2021
Start installation or upgrade of Guest Tools
cc: error: unrecognized command line option '-msign-return-address=all'
cc: error: unrecognized command line option '-fpatchable-function-entry=2'
make[4]: *** [/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.o] Error 1
make[3]: *** [/usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg] Error 2
make[2]: *** [__sub-make] Error 2
make[1]: *** [prl_tg] Error 2
make: *** [compile] Error 2
Error: could not build kernel modules
modprobe: FATAL: Module prl_tg not found.
modprobe: FATAL: Module prl_tg not found.
Error: failed to install Parallels Guest Tools!
2021-09-10T03:16:09-0400: execCmd: ./install --install [167]
2021-09-10T03:16:09-0400: Error: An error occurred when installing Parallels Tools. Please go to /var/log/parallels-tools-install.log for more information.
···
Perform installation into the /usr/lib/parallels-tools directory
Will use compiler CC="cc".
Compiler version "cc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)"
make: Entering directory `/usr/lib/parallels-tools/kmods'
cd prl_tg/Toolgate/Guest/Linux/prl_tg && make CC=cc

可以看到,提示里面,有两个关键的错误

cc: error: unrecognized command line option '-msign-return-address=all'
cc: error: unrecognized command line option '-fpatchable-function-entry=2'

gcc有不支持的选项,我们需要升级下gcc,这个为了不干扰系统的环境,我们采用devtoolset的方法,上面已经配置好了源,直接安装

yum -y install devtoolset-8-gcc 

检查是否安装好了

[root@localhost ~]# /opt/rh/devtoolset-8/root/usr/bin/gcc -v
Using built-in specs.
COLLECT_GCC=/opt/rh/devtoolset-8/root/usr/bin/gcc
COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-8/root/usr/libexec/gcc/aarch64-redhat-linux/8/lto-wrapper
Target: aarch64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/devtoolset-8/root/usr --mandir=/opt/rh/devtoolset-8/root/usr/share/man --infodir=/opt/rh/devtoolset-8/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --with-default-libstdcxx-abi=gcc4-compatible --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-8.3.1-20190311/obj-aarch64-redhat-linux/isl-install --disable-libmpx --enable-gnu-indirect-function --build=aarch64-redhat-linux
Thread model: posix
gcc version 8.3.1 20190311 (Red Hat 8.3.1-3) (GCC)

可以看到这个路径的gcc是8的版本了

因为安装脚本里面调用的是环境变量,我们直接替换下路径最快,替换完了再换回来

[root@localhost ~]# mv /usr/bin/gcc /usr/bin/gcc4.8
[root@localhost ~]# ln -s /opt/rh/devtoolset-8/root/usr/bin/gcc  /usr/bin/gcc

再次执行install
在m1芯片的MacBook上centos7安装parallels tool_第8张图片
可以看到相关的操作都在执行,这个需要一会时间
在m1芯片的MacBook上centos7安装parallels tool_第9张图片
可以看到弹出了成功的提示,然后重启机器

检查是否真的安装好了,安装好了有共享文件夹功能,可以在linux里面直接访问mac的文件

可以看到上面我共享的目录直接就可以在虚拟机里面访问了,到这里全部就安装好了

总结

出现的主要问题是

  • 依赖包的安装问题
  • 依赖包的名称跟实际的不匹配,kernel-core-devel与kernel-devel是等同的
  • dkms需要手动安装
  • 默认的gcc版本4.8低了,需要处理为高版本

经过上面的一系列的处理后,tool就安装上了

你可能感兴趣的:(系统管理相关,虚拟化,MAC,centos,linux,运维)