Beberapa hari yang lalu saya melakukan pembaruan terhadap sistem operasi saya. Saya menggunakan Arch Linux sebagai sistem operasi yang digunakan sehari-hari untuk kebutuhan development dan kebutuhan lainnya. Kebetulan pada pembaruan tersebut melakukan pembaruan terhadap Linux Kernel menjadi versi 4.7. Yang dimana memang sudah pada tahap stabil untuk dilakukan perilisan terhadap Linux Kernel tersebut pada Arch Linux.
Hal yang sangat wajar bila terjadi adanya masalah ketika melakukan pembaruan terhadap kernel yang mungkin dikarenakan perbedaan terhadap perangkat yang kita gunakan baik itu perangkat lunak ataupun perangkat keras yang belum kompatibel. Nah, pada kali ini saya mengalami hal tersebut( sebenarnya sudah sering *duh*). Selama saya menggunakan Arch Linux memang sering mengalami masalah dengan VMWare ataupun VirtualBox yang berkaitan dengan linux-headers ataupun yang lainnya.
Setelah saya melakukan pembaruan terhadap kernel dan kemudian restart laptop untuk melakukan pengaplikasian terhadap sistem. Kemudian saya menjalankan aplikasi VMWare Workstation untuk menghidupkan Windows 10 agar bisa melakukan development dan uji coba terhadap aplikasi yang saya buat pada sistem operasi Windows. Eh, malah muncul gambar yang kurang lebih seperti berikut :

Setelah saya klik Install untuk melakukan kompilasi terhadap modules yang belum terpasang dan mungkin belum terkompilasi. Saat proses kompilasi berlangsung, muncul sebuah popup menyatakan bahwa ada masalah yang terjadi saat proses kompilasi dengan menyertakan alamat berkas yang bisa kita lihat. Seperti ini penggalan berkas log yang menyebutkan kesalahan pada kompilasi tersebut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
In file included from /tmp/modconfig-fVhjg6/vmnet-only/net.h:38:, from /tmp/modconfig-fVhjg6/vmnet-only/vnetInt.h:26, from /tmp/modconfig-fVhjg6/vmnet-only/netif.c:42: /tmp/modconfig-fVhjg6/vmnet-only/vm_device_version.h:56:: note: this is the location of the previous definition #define PCI_VENDOR_ID_VMWARE 0x15AD CC [M] /tmp/modconfig-fVhjg6/vmnet-only/vnetUserListener.o /tmp/modconfig-fVhjg6/vmnet-only/netif.c: In function 'VNetNetifStartXmit': /tmp/modconfig-fVhjg6/vmnet-only/netif.c:468:7: error: 'struct net_device' has no member named 'trans_start'; did you mean 'mem_start'? dev->trans_start = jiffies; ^~ make[2]: *** [scripts/Makefile.build:290: /tmp/modconfig-fVhjg6/vmnet-only/netif.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from /tmp/modconfig-fVhjg6/vmnet-only/net.h:38:, from /tmp/modconfig-fVhjg6/vmnet-only/vnetInt.h:26, from /tmp/modconfig-fVhjg6/vmnet-only/bridge.c:52: /tmp/modconfig-fVhjg6/vmnet-only/vm_device_version.h:56:: warning: "PCI_VENDOR_ID_VMWARE" redefined #define PCI_VENDOR_ID_VMWARE 0x15AD In file included from include/linux/pci.h:35:, from /tmp/modconfig-fVhjg6/vmnet-only/compat_netdevice.h:27, from /tmp/modconfig-fVhjg6/vmnet-only/bridge.c:51: include/linux/pci_ids.h:2253:: note: this is the location of the previous definition #define PCI_VENDOR_ID_VMWARE 0x15ad make[1]: *** [Makefile:1457: _module_/tmp/modconfig-fVhjg6/vmnet-only] Error 2 make[1]: Leaving directory '/usr/lib/modules/4.7.0-1-ARCH/build' make: *** [Makefile:120: vmnet.ko] Error 2 make: Leaving directory '/tmp/modconfig-fVhjg6/vmnet-only' Unable to install all modules. See log for details. |
Pada berkas tersebut menyebutkan bahwa adanya kesalahan yang terjadi saat proses kompilasi modul vmnet-only. Kesalahan terjadi pada blok berikut:
1 2 3 |
/tmp/modconfig-fVhjg6/vmnet-only/netif.c:468:7: error: 'struct net_device' has no member named 'trans_start'; did you mean 'mem_start'? dev->trans_start = jiffies; ^~ |
Saya coba mencari informasi tersebut dan mendapatkan nya pada forum Arch Linux. Ah ternyata ada juga yang mengalami hal yang sama(sehati :p). Pada thread tersebut pengguna yang memakai nickname glavin memberikan solusi sebagai berikut:
1 2 3 4 5 6 7 8 9 10 |
# cd /usr/lib/vmware/modules/source # tar xf vmnet.tar # mv vmnet.tar vmnet.old.tar # sed -i -e 's/dev->trans_start = jiffies/netif_trans_update(dev)/g' vmnet-only/userif.c # tar cf vmnet.tar vmnet-only # rm -r vmnet-only # vmware-modconfig --console --install-all *Solusi sebelum direvisi |
Saya mencobanya, dan hasilnya? Sama saja. Masih tetap bermasalah. Saya pikir dia typo saat menuliskan nya dan kemudian melakukan revisi terhadap solusi tersebut. Tapi, saya lebih menyarankan menggunakan solusi berikut:
1 2 3 4 5 6 7 8 9 10 11 |
# cd /usr/lib/vmware/modules/source # tar -xvf vmnet.tar # cd vmnet-only # sed -i -e 's/dev->trans_start = jiffies/netif_trans_update(dev)/g' netif.c # make # cd .. # sudo cp vmnet.o /lib/modules/`uname -r`/kernel/drivers/misc/vmnet.ko.gz Restart and reload vmware modules # sudo depmod -a # sudo systemctl restart vmware |
Booom. VMWare berjalan dengan normal kembali dan sayapun bisa melanjutkan development aplikasi yang saya buat sebelumnya (deadline soalnya :p) . Terimakasih sudah membaca artikel ini dan semoga artikel ini bermanfaat.
Referensi:
- https://bbs.archlinux.org/viewtopic.php?pid=1646949
- http://rglinuxtech.com/?p=1748
- https://wiki.archlinux.org/index.php/VMware
Aan Wahyu
Latest posts by Aan Wahyu (see all)
- Cara Setting Multiple Private Key pada SSH - January 26, 2019
- (G)UFW: Linux Firewall Anti Ribet - January 10, 2019
- Apa Kabar Resolusi Akhir Tahun Lalu? - December 17, 2018