mac安装Parallels Tools(kali)解决(内核版本>=4.15问题)

0、注意虚拟机版本
Daralles Desktop版本为: 13.2.0 (43213),因为12.xx版本未验证通过.

一、更换阿里云源
# emacs /etc/apt/sources.list
#阿里云kali源
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib

二、升级内核及软件
# apt-get clean
# apt-get update
# apt-get upgrade -y
# apt-get dist-upgrade -y
# reboot //重启
# apt-get install dkms kpartx printer-driver-postscript-hp
# apt-get install -y linux-headers-$(uname -r) //不起作用(可选)

三、解决Linux内核版本>=4.15时Paralles Tools安装失败问题
1.打开Paralles Desktop,点击Parallels Actions -> "Install Parallels Tools"

# mkdir ~/tool
# cp -rf /media/cdrom0 tool
# cd ~/tool
# chmod +x * -R
2.进入tool,解压kmods目录修改驱动代码
# tar -xzf prl_mod.tar.gz
# rm prl_mod.tar.gz

3.后面将修改其中的3个文件后重新打包。
<1>修改1:
# vim kmods/prl_eth/pvmnet/pvmnet.c + 438
将其中的“Parallels”替换为“GPL”

<2>.修改2:
# vim kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c + 1519
同样是将“Parallels”替换为“GPL”

<3>.修改3:
# vim kmods/prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.c +212
在212行可以看到定义了一个函数"thaw_timer_fn":
void thaw_timer_fn(unsigned long data)
{
   struct work_struct *work = (struct work_struct *)data;
   schedule_work(work);
}
在其后增加一个函数:
void thaw_timer_fn_new_kernel(struct timer_list *data)
{
   struct work_struct *work = data->expires;
   schedule_work(work);
}

找到:DEFINE_TIMER(thaw_timer, thaw_timer_fn, 0, (unsigned long)&(thaw_work));
修改为如下内容(下面的第4行就是原有内容,增加了1、2、3、5这几行):
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
    DEFINE_TIMER(thaw_timer, thaw_timer_fn_new_kernel);
#else
    DEFINE_TIMER(thaw_timer, thaw_timer_fn, 0, (unsigned long)&(thaw_work));
#endif

4.重新打包:
# cd ~/tool/kmods
//打包
# tar -zcvf prl_mod.tar.gz ./ dkms.conf Makefile.kmods

5.重新执行./install安装parallels tools
# ./install

你可能感兴趣的:(macOS折腾,Kali学习)