Advertisement

header ads

¿Cómo solucionar el error de VMWARE 12.5.2 sobre la KERNEL 4.9 EN KALI LINUX?

Hace un par de días a migrado de kernel y he visto muchos problemas en el cual me di cuenta el primer problema era con vmware porque lo uso muy seguido.



Ahora lo que vamos hacer es solucionar el problema en el cual estuve investigando sobre la solución y aquí te voy a mostrar aunque vmware no ha mencionado nada sobre este parche.
 Puedes llegar a borrarlo todo y empezar la instalación.
vmware-installer -u vmware-workstation
Vamos actualizar
sudo apt-get update
sudo apt-get install gcc-6 -y
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5
Ahora me toca modificarlo. Recuerda que no es la primera vez que hacemos esto.
vamos a ir a la siguiente carpeta
cd /usr/lib/vmware/modules/source
Ahora vamos a modificar los mismo archivos que en el anterior post pero el código cambia.
vmnet-only/userif.c
Código de VMWARE linea 113
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
    retval = get_user_pages(addr, 1, 1, 0, &page, NULL);
#else
    retval = get_user_pages(current, current->mm, addr,
                1, 1, 0, &page, NULL);
#endif
Código modificado.
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
     retval = get_user_pages(addr, 1, 0, &page, NULL);
#else
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
     retval = get_user_pages(addr, 1, 1, 0, &page, NULL);
#else
     retval = get_user_pages(current, current->mm, addr,
                 1, 1, 0, &page, NULL);
#endif
#endif
vmmon-only/linux/hostif.c
CÓDIGO DE VMWARE linea 1162
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
   retval = get_user_pages((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL);
#else
   retval = get_user_pages(current, current->mm, (unsigned long)uvAddr,
                           numPages, 0, 0, ppages, NULL);
#endif
CÓDIGO MODIFICADO
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
   retval = get_user_pages((unsigned long)uvAddr, numPages, 0, ppages, NULL);
#else
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
   retval = get_user_pages((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL);
#else
   retval = get_user_pages(current, current->mm, (unsigned long)uvAddr,
                           numPages, 0, 0, ppages, NULL);
#endif
#endif
Listo ahora solo tienes que abrir vmware y te ejecutará. Muchas Gracias y no te olvides en compartirlo.

Publicar un comentario

0 Comentarios