2020.2 Kali Linux, Parallels Tools Error

Are you also having this issue?

  • No, everything installs correctly!

    Votes: 0 0.0%

  • Total voters
    37
Also I would like to ask Parallels to include this fix in Parallels 16 parallels tools, so that people don't waste their time googling and looking for a solution like me.
 
I managed to get Parallels Tools working today on my freshly updated Kali system by following the steps at https://kb.parallels.com/123968 but stopping before running ./install. Then follow the steps:
  1. Move into the kmods directory, where you should see a file called prl_mod.tar.gz. Extract this archive so we can edit it.
  2. Open the file prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c and add the line "#define segment_eq(a, b) ((a).seg == (b).seg)" to the top.
  3. Open the file prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.c and add the line "#include <linux/blkdev.h>" to the top.
  4. Open the files prl_fs/SharedFolders/Guest/Linux/prl_fs/Makefile and prl_vid/Video/Guest/Linux/kmod/Makefile, and add the line "KBUILD_EXTRA_SYMBOLS := /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/Module.symvers" to the top.
  5. Re-create the archive with the edited files.
  6. Now run ./install and it should work.
Credit goes to Devries for step 4.
Worked like a charm!
For others who run into this problem: make sure the prl_mod.tar.gz-archive is re-created exactly like the original one, i.e. without folder prl_mod as root of the archive but instead just the content of this folder in the archive.
 
Thanks electrifeye , with those steps I managed to install Parallels Tools within my Ubuntu 20.10 (Groovy Gorilla) VM , default kernel 5.8.0-33-generic .
I ran into problems shown in /var/log/parallels-tools-install.log as
ERROR: Kernel configuration is invalid.
include/generated/autoconf.h or include/config/auto.conf are missing.
Run 'make oldconfig && make prepare' on kernel src to fix it.
I noticed, that the file /usr/src/linux-headers-5.8.0-33-generic/include/generated/autoconf.h was missing, even though it should come with package linux-headers-5.8.0-33-generic ... might be due to upgrading from 19.10 ... 20.04 ... to 20.10 ...
I solved it with
apt-get purge linux-headers-5.8.0-33-generic ; apt-get install linux-generic linux-headers-generic
After that, /usr/src/linux-headers-5.8.0-33-generic/include/generated/autoconf.h was right there and Tools install went through successfully.

Side note: I am not running Parallels Desktop version 16, but still version 11 (and an older MacOS ). I am just using the tools-install-iso from version 16 , extracted from https://www.parallels.com/directdownload/pd16/?mode=trial (no login required). Instructions still work like last year ...

May be the tools install would have worked without the patches, as the first failures might had come from missing autoconf.h . So it might be worth to try before pathing ...

Cheers, U.
 
Hi, Parallels Engineering Team works hard on the issue resolution.
Once we get any updates we will let you know.
Hey Maria@Parallels, is the engineering team still "working hard on the issue resolution?" ;)

The users fixed it themselves a long time ago. I guess "working hard on the issue resolution really means doing absolutely nothing and letting the people who give you the revenue for your paychecks fix your bugs for you. And then you don't even bother to copycat the fix they found into an update. I guess that's what that means.
 
I managed to get Parallels Tools working today on my freshly updated Kali system by following the steps at https://kb.parallels.com/123968 but stopping before running ./install. Then follow the steps:
  1. Move into the kmods directory, where you should see a file called prl_mod.tar.gz. Extract this archive so we can edit it.
  2. Open the file prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c and add the line "#define segment_eq(a, b) ((a).seg == (b).seg)" to the top.
  3. Open the file prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.c and add the line "#include <linux/blkdev.h>" to the top.
  4. Open the files prl_fs/SharedFolders/Guest/Linux/prl_fs/Makefile and prl_vid/Video/Guest/Linux/kmod/Makefile, and add the line "KBUILD_EXTRA_SYMBOLS := /usr/lib/parallels-tools/kmods/prl_tg/Toolgate/Guest/Linux/prl_tg/Module.symvers" to the top.
  5. Re-create the archive with the edited files.
  6. Now run ./install and it should work.
Credit goes to Devries for step 4.
I follow this but I get the same error, in the log:
  • E: Unable to locate package linux-headers-5.9.0-kali1-amd64
I try to install manually, but when I do apt-get install, i just found this package available:
  • linux-headers-5.9.0-kali5-amd64
 
Ignore my previous comment... I see everything I needed to get this working was in the comments once expanded. Thank you all.
 
The solution of @electrifeye worked for you?
I still have the same problem. Was not possible to find the "linux-headers-5.9.0-kali1-amd64".
Yes, worked for me following his steps. However the only thing I did different was to install the headers using:
"sudo apt install linux-headers-5.9.0-kali5-amd64/kali-rolling"
I found this by doing an "sudo apt search linux-headers"
Tools now installed and working fine after @electrifeye instructions above.
 
Oh thanks, so after following all the steps, I use also these ones:
$ sudo apt install linux-image-5.9.0-kali5-amd64
$ sudo apt install linux-headers-5.9.0-kali5-amd64
And now finally it's working.
 
The latest dist-upgrade for Kali installs kernel 5.10.0-kali2-amd64.

The instructions from electrifye earlier in the thread say to modify prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c and add the line "#define segment_eq(a, b) ((a).seg == (b).seg)" to the top. This is no longer enough, as the get_fs() and set_fs() macros have been removed in kernel 5.10, and this file uses get_fs to determine whether the thread is running as root or as a user.

Instead, paste this in at the top to kludge around it.

#if (LINUX_VERSION_CODE <= KERNEL_VERSION(5, 10, 0))
#define segment_eq(a,b) ((a).seg == (b).seg)
#define USER_DS ((mm_segment_t) { -0x40000000000UL })
#define get_fs() (current_thread_info()->addr_limit)
#else
// kludge to make the segment_eq call work for non-root threads
#define USER_DS 1
#define segment_eq(a,b) (b)
#endif

If you've already installed Parallels Tools, you can fix this directly in /usr/src/parallels-tools-16.1.1.49141/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c before running apt dist-upgrade.
 
The latest dist-upgrade for Kali installs kernel 5.10.0-kali2-amd64.

The instructions from electrifye earlier in the thread say to modify prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c and add the line "#define segment_eq(a, b) ((a).seg == (b).seg)" to the top. This is no longer enough, as the get_fs() and set_fs() macros have been removed in kernel 5.10, and this file uses get_fs to determine whether the thread is running as root or as a user.

Instead, paste this in at the top to kludge around it.

#if (LINUX_VERSION_CODE <= KERNEL_VERSION(5, 10, 0))
#define segment_eq(a,b) ((a).seg == (b).seg)
#define USER_DS ((mm_segment_t) { -0x40000000000UL })
#define get_fs() (current_thread_info()->addr_limit)
#else
// kludge to make the segment_eq call work for non-root threads
#define USER_DS 1
#define segment_eq(a,b) (b)
#endif

If you've already installed Parallels Tools, you can fix this directly in /usr/src/parallels-tools-16.1.1.49141/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c before running apt dist-upgrade.
Thanks for posting this. My desktop is back. :-)

For me, the IF statement failed saying that "LINUX_VERSION_CODE" was undefined. I went straight in with the;
#define USER_DS 1
#define segment_eq(a,b) (b)
without the rest of the if - else statement instead and that got me working.

Note to self: Stop updating parallels tools before checking the forums.
Note to parallels: This happens too much, I'm very close to moving over to VMware.
 
The instructions worked great for installing Parallels Tools on Kali 2020.4, running on Mac OS Big Sur 11.2 through Parallels Desktop 16.1.3! Thanks for providing the tweaks needed to fix what Parallels should've done. Unfortunately, I had to disable 3D acceleration to avoid getting stuck on a white screen after logging in. Has anyone figured out a way around this issue, except disabling 3D acceleration?
 
Thanks for yours instructions! As @EdwardG3 , I need to comment the if/else statement and only keep the 2 lines of code he provided.

The instructions worked great for installing Parallels Tools on Kali 2020.4, running on Mac OS Big Sur 11.2 through Parallels Desktop 16.1.3! Thanks for providing the tweaks needed to fix what Parallels should've done. Unfortunately, I had to disable 3D acceleration to avoid getting stuck on a white screen after logging in. Has anyone figured out a way around this issue, except disabling 3D acceleration?

@karlemilnikka : The dirty workaround is to remove
Code:
/home/${USER}/.config/xfce4
when you boot (in a terminal) then reboot.
 
Hello,
I am not sure if I did everything right.
1. mount the "install parallels tools"
2. copy the whole contents in /media/cdrom0/ to (shomewhere where i can edit prl_mod.tar.gz) so i copied it to /Documents/Parallels Tools
3. extract the prl_mod.tar.gz and edit prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c . I + go to the beggining of the file paste:
Code:
#if (LINUX_VERSION_CODE <= KERNEL_VERSION(5, 10, 0))[/INDENT]
#define segment_eq(a,b) ((a).seg == (b).seg)
#define USER_DS ((mm_segment_t) { -0x40000000000UL })
#define get_fs() (current_thread_info()->addr_limit)
#else
// kludge to make the segment_eq call work for non-root threads
#define USER_DS 1
#define segment_eq(a,b) (b)
#endif

without the # (then it would be all commented)

4. save with ESC, :wq, enter
5. go to /Documents/Parallels Tools/kmods/ and here select all files and right clicl and Create archive
6. Then name it prl_mod.tar.gz
7. go to terminal and sudo -i
8. cd to my /Documents/Parallels Tools/
9. in root terminal: sh ./install

I have tried replicate this 3 time and every time i run the install i will be asked about the 5.9 headers.
Side note: When running it in documents when i run install in the Parallels Tools folder there will appear new file 0.

Thanks for Your help
 
Hello,
I am not sure if I did everything right.
1. mount the "install parallels tools"
2. copy the whole contents in /media/cdrom0/ to (shomewhere where i can edit prl_mod.tar.gz) so i copied it to /Documents/Parallels Tools
3. extract the prl_mod.tar.gz and edit prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c . I + go to the beggining of the file paste:
Code:
#if (LINUX_VERSION_CODE <= KERNEL_VERSION(5, 10, 0))[/INDENT]
#define segment_eq(a,b) ((a).seg == (b).seg)
#define USER_DS ((mm_segment_t) { -0x40000000000UL })
#define get_fs() (current_thread_info()->addr_limit)
#else
// kludge to make the segment_eq call work for non-root threads
#define USER_DS 1
#define segment_eq(a,b) (b)
#endif

without the # (then it would be all commented)

4. save with ESC, :wq, enter
5. go to /Documents/Parallels Tools/kmods/ and here select all files and right clicl and Create archive
6. Then name it prl_mod.tar.gz
7. go to terminal and sudo -i
8. cd to my /Documents/Parallels Tools/
9. in root terminal: sh ./install

I have tried replicate this 3 time and every time i run the install i will be asked about the 5.9 headers.
Side note: When running it in documents when i run install in the Parallels Tools folder there will appear new file 0.

Thanks for Your help

The 5.9 headers might not be in the repo anymore. Take a snapshot, run apt-get update, apt-get dist-upgrade and try again (this time you'll be installing the 5.10 headers).
 
The 5.9 headers might not be in the repo anymore. Take a snapshot, run apt-get update, apt-get dist-upgrade and try again (this time you'll be installing the 5.10 headers).
Yes I have installed the 5.10 image and headers already, but the installer from parallels needs 5.9 headers.
And because the headers are no longer available then even trying to install it on like 2020.1 version of kali won't help.

Anyone any other ideas?
 
Yes I have installed the 5.10 image and headers already, but the installer from parallels needs 5.9 headers.
And because the headers are no longer available then even trying to install it on like 2020.1 version of kali won't help.

Anyone any other ideas?
I see. After I ran dist-upgrade the installer started requesting the 5.10 headers instead. Let's see what ideas our forum friends have.
 
This previous mentioned work-around does unfortunately no longer work for me on a fresh install of the brand-new Kali 2021.1 release. Are you planning on adding support for any new versions of Kali or was 2019 the last release Parallels supported, @Maria@Parallels?
 
Back
Top