之前的文章里面已经提供了定制M1可用的ISO,然后碰到有安装parallels tool的相关的提问,开始以为这个地方只需要安装devel相关的包就可以了,实际上这个还是存在一些问题的,本篇就是提供解决方法的
首先配置网络,后面需要用到
可以看到网络设备识别为eth0,后面的配置文件识别为enp0s5,这个自己修改一下就可以了,如果没有得到ip
把整个目录拷贝到本地,因为后面需要加载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
修改源文件
一般我都是保留必须的,其它的先弄其它地方放着
[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
提示需要上面这些必须的包,因为我们的源都配置好了,它会自己安装,如果还是缺,那么注意手动安装下,这个在ISO,EPEL里面都可以找到
执行完了还是报错,我们自己处理下,这个是因为依赖写错了,没有这个kernel-core-devel,应该是kernel-devel,我们手动处理剩下的几个依赖包
yum install kernel-devel dkms
dkms安装会自动把elfutils-libelf-devel安装上
[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
可以看到相关的操作都在执行,这个需要一会时间
可以看到弹出了成功的提示,然后重启机器
检查是否真的安装好了,安装好了有共享文件夹功能,可以在linux里面直接访问mac的文件
可以看到上面我共享的目录直接就可以在虚拟机里面访问了,到这里全部就安装好了
出现的主要问题是
经过上面的一系列的处理后,tool就安装上了