前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kali Linux的Parallels Tools填坑记录

Kali Linux的Parallels Tools填坑记录

作者头像
xferris
发布2019-12-30 09:51:09
3.1K0
发布2019-12-30 09:51:09
举报
文章被收录于专栏:慎独慎独

0.安装过程遇到的主要问题:

  • 1./media/cdrom0权限问题
  • 2.apt-get源问题
  • 3.无法安装linux-headers
  • 4.makefile编译失败

1./media/cdrom0权限问题

点击安装parallels tools的时候,会有提示框,提示权限问题,如果直接运行install脚本,提示权限不够,官方推荐的做法:

  • 先卸载# umount /media/cdrom0
  • 再挂载# mount -o exec /media/cdrom0 按以上操作,依旧提示# mount: /media/cdrom0: WARNING: device write-protected, mounted read-only.

解决方案: 很简单,直接把文件复制到出来,然后chmod 777 -R .赋权即可~

2.apt-get源问题

以下可用源填入/etc/apt/sources.list即可

代码语言:javascript
复制
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

#阿里云
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

#清华大学
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free

#浙大
deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free

#东软大学
deb http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib
deb-src http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib

#官方源
deb http://http.kali.org/kali kali-rolling main non-free contrib
deb-src http://http.kali.org/kali kali-rolling main non-free contrib

更新完依次执行

代码语言:javascript
复制
apt-get update
apt-get upgrade -y
apt-get dist-upgrade -y
apt-get clean #可选

3.无法安装linux-headers

接下来的错误都是要查看日志文件了

代码语言:javascript
复制
# cat /var/log/parallels-tools-install.log

如果是无法安装linux-headers的话,就要手动安装。 先查看内核版本

代码语言:javascript
复制
# uname -a

然后来这里http://http.kali.org/kali/pool/main/l/linux/下载三个对应内核版本的安装包手动安装

  • linux-kbuild: linux-kbuild-xxxx_amd64.deb
  • linux-header-common: linux-headers-xxxx-common_xxxx_amd64.deb
  • linux-compiler-gcc: linux-compiler-gcc-xxx-amd64.deb
  • linux-headers: linux-headers-xxxx_amd64.deb 下载完成后,用dpkg命令安装deb包。
代码语言:javascript
复制
# dpkg -i xxxxx.deb

4.makefile编译失败

依旧查看日志文件,发现错误在make命令。

Parallels Desktop版本过低

这种情况下,make错误会在诸如get_user_pages()等linux接口,之前一直用的是Parallels Desktop11,这次重新下了最新的kali,内核号是4.15,于是升级了Parallels Desktop,重新安装。

Linux版本过高

尽管升级了PD,还是会有make错误,看日志发现死在了prl_xxx下的某些函数,原因是因为Parallels Tools不支持4.15的Linux内核,只能改源码了。具体修改如下:

  • 解压kmods/prl_mod.tar
代码语言:javascript
复制
# tar -xzf kmods/prl_mod.tar.gz
# rm prl_mod.tar.gz
  • 修改prl_eth/pvmnet/pvmnet.c
代码语言:javascript
复制
# vi kmods/prl_eth/pvmnet/pvmnet.c
# 编辑第438行,将其中的“Parallels”替换为“GPL”
#MODULE_LICENSE("Parallels")
MODULE_LICENSE("GPL")
  • 修改prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c
代码语言:javascript
复制
# vi prl_tg/Toolgate/Guest/Linux/prl_tg/prltg.c
# 编辑第1535行,同样是将“Parallels”替换为“GPL”
  • 修改prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.c
代码语言:javascript
复制
//第一步:增加函数
//第212行
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));
//改为
#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
  • 重新打包prl_mod.tar.gz
代码语言:javascript
复制
# tar -zcvf prl_mod.tar.gz . dkms.conf Makefile.kmods
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0.安装过程遇到的主要问题:
  • 1./media/cdrom0权限问题
  • 2.apt-get源问题
  • 3.无法安装linux-headers
  • 4.makefile编译失败
    • Parallels Desktop版本过低
      • Linux版本过高
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档