Parallels Desktop 中安装openSUSE Tumbleweed的Parallels Tools问题

最近要转战Mac,不想折腾多系统,又放不下一直用的openSUSE,于是就想在Parallels Desktop里装上。记得两年前曾试过,结果当时是装好后找不到鼠标指针。这次装好后,鼠标指针正常,但分辨率只有800*600,且共享文件夹也无法使用,这就需要装Parallels Tools了。结果不是很顺利,在查找资料解决了Kernel-header问题后,安装脚本直接就给出了错误。具体的日志如下:

Parallels Tools 14.0.1-45154 Installer started.
2019-02-07T20:31:57+0800: Failed to setup console printk level.
2019-02-07T20:32:04+0800: execCmd: ./installer/pm.sh --check gtools [0]
Started installation of Parallels Guest Tools version ‘14.0.1.45154’
sed: can’t read /etc/SuSE-release: No such file or directory
sed: can’t read /etc/SuSE-release: No such file or directory

Error during report about start installation of parallels tools.
2019年 02月 07日 星期四 20:32:09 CST
Start installation or upgrade of Guest Tools
new version of parallels tools
Installed Guest Tools were not found
Perform installation into the /usr/lib/parallels-tools directory
make: Entering directory ‘/usr/lib/parallels-tools/kmods’
Will use compiler CC=“cc”.
Compiler version “cc (SUSE Linux) 8.2.1 20190103 [gcc-8-branch revision 267549]”
cd prl_eth/pvmnet && make CC=cc
make[1]: Entering directory ‘/usr/lib/parallels-tools/kmods/prl_eth/pvmnet’
make -C /lib/modules/4.20.6-1-default/build M=/usr/lib/parallels-tools/kmods/prl_eth/pvmnet CC=cc
make[2]: Entering directory ‘/usr/src/linux-4.20.6-1-obj/x86_64/default’
CC [M] /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.o
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:194:3: error: ‘struct ethtool_ops’ has no member named ‘get_settings’; did you mean ‘get_strings’?
.get_settings = pvmnet_get_settings,
^~~~~~~~~~~~
get_strings
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:194:28: error: initialization of ‘void (*)(struct net_device *, struct ethtool_drvinfo )’ from incompatible pointer type 'int ()(struct net_device *, struct ethtool_cmd *)’ [-Werror=incompatible-pointer-types]
.get_settings = pvmnet_get_settings,
^~~~~~~~~~~~~~~~~~~
/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:194:28: note: (near initialization for ‘pvmnet_ethtool_ops.get_drvinfo’)
cc1: some warnings being treated as errors
make[5]: *** [/usr/src/linux-4.20.6-1/scripts/Makefile.build:293: /usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.o] Error 1
make[4]: *** [/usr/src/linux-4.20.6-1/Makefile:1577: module/usr/lib/parallels-tools/kmods/prl_eth/pvmnet] Error 2
make[3]: *** [Makefile:152: sub-make] Error 2
make[2]: Leaving directory ‘/usr/src/linux-4.20.6-1-obj/x86_64/default’
make[2]: *** [Makefile:15: __sub-make] Error 2
make[1]: Leaving directory ‘/usr/lib/parallels-tools/kmods/prl_eth/pvmnet’
make[1]: *** [/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/Makefile.v26:11: all] Error 2
make: Leaving directory ‘/usr/lib/parallels-tools/kmods’
make: *** [Makefile.kmods:49: compile] Error 2
Error: could not build kernel modules
Error during report about failed installation of parallels tools.
Error: failed to install Parallels Guest Tools!
2019-02-07T20:32:11+0800: Started installation of Parallels Guest Tools version ‘14.0.1.45154’
sed: can’t read /etc/SuSE-release: No such file or directory
sed: can’t read /etc/SuSE-release: No such file or directory
Error during report about start installation of parallels tools.

请问各位,这种情况该如何解决?想用openSUSE做主力系统啊!

它这个工具应该是给 SLE 用的,不是 openSUSE。所以才有 /etc/SuSE-release 这个文件找不到的错误。我是建议用 VirtualBox ,因为 openSUSE 自带 guest 包。

@guoyunhe /etc/SuSE-release 在早前的openSUSE版本中是有的。新版本中已经移除了。

这个错误不知道是不是内核相关的包的命名引起的,/usr/lib/parallels-tools/kmods/prl_eth/pvmnet/pvmnet.c:194:3: error: ‘struct ethtool_ops’ has no member named ‘get_settings’; did you mean ‘get_strings’ 这个应该是关键。

如果实在找不到办法,那就只能用VirtualBox了。

@Firefox 还可以试着向 Parallels Desktop 反映一下这个问题,让他们适配一下 openSUSE Leap 和 Tumbleweed。

@guoyunhe Parallels Desktop 论坛里有帖子说明情况,然而并没有什么用。PD只会赚用Windows的钱,现在有个Parallels Desktop Lite都对Linux免费了:joy:

sudo ln -s /usr/lib/os-release /etc/SuSE-release

多谢!我用了VirtualBox安装openSUSE,分辨率正常,但系统整体比较卡,开启3D加速也不行。现在用了VMware Fusion,感觉还可以。
那天抽空再用PD,加上这个命令来试试,是不是无法识别系统版本导致的安装失败!

苹果上最好用的虚拟机还是 VMware Fusion,反正淘宝上随便买key