2016-06-16 4.5.6-200.fc23.x86_64 + vmware workstaion 12.1.1 works as well!
のりと勢いで自宅サーバをFedora23にあげたら、VMware Workstationが動かなくなったので、その対応
環境
$ uname -r 4.2.5-300.fc23.x86_64 $ vmware-installer -l Product Name Product Version ==================== ==================== vmware-workstation 12.0.1.3160714原因究明
$ systemctl status vmware.service ● vmware.service - SYSV: This service starts and stops VMware services Loaded: loaded (/etc/rc.d/init.d/vmware) Active: failed (Result: exit-code) since 月 2015-11-09 13:36:54 JST; 11min ago Docs: man:systemd-sysv-generator(8) Process: 7954 ExecStart=/etc/rc.d/init.d/vmware start (code=exited, status=1/FAILURE) CGroup: /system.slice/vmware.service ├─ 1108 /usr/sbin/vmware-authdlauncher ├─28782 /usr/bin/vmnet-bridge -s 6 -d /var/run/vmnet-bridge-0.pid -n 0 ├─28790 /usr/bin/vmnet-netifup -s 6 -d /var/run/vmnet-netifup-vmnet1.pid /dev/vmnet1 vmnet1 ├─28798 /usr/bin/vmnet-dhcpd -s 6 -cf /etc/vmware/vmnet1/dhcpd/dhcpd.conf -lf /etc/vmware/vmnet1/dhcpd/dhcpd.leases -pf /var/run/vmnet-dhcpd-vmnet1.pid vmnet1 ├─28801 /usr/bin/vmnet-natd -s 6 -m /etc/vmware/vmnet8/nat.mac -c /etc/vmware/vmnet8/nat/nat.conf ├─28804 /usr/bin/vmnet-netifup -s 6 -d /var/run/vmnet-netifup-vmnet8.pid /dev/vmnet8 vmnet8 └─28811 /usr/bin/vmnet-dhcpd -s 6 -cf /etc/vmware/vmnet8/dhcpd/dhcpd.conf -lf /etc/vmware/vmnet8/dhcpd/dhcpd.leases -pf /var/run/vmnet-dhcpd-vmnet8.pid vmnet8 11月 09 13:36:53 localhost vmware[7954]: Virtual machine monitor[ OK ] 11月 09 13:36:53 localhost vmware[7954]: Virtual machine communication interface[ OK ] 11月 09 13:36:53 localhost vmware[7954]: VM communication interface socket family[ OK ] 11月 09 13:36:53 localhost vmware[7954]: Blocking file system[失敗] 11月 09 13:36:54 localhost vmware[7954]: Virtual ethernet[ OK ] 11月 09 13:36:54 localhost vmware[7954]: VMware Authentication Daemon[ OK ] 11月 09 13:36:54 localhost systemd[1]: vmware.service: Control process exited, code=exited status=1 11月 09 13:36:54 localhost systemd[1]: Failed to start SYSV: This service starts and stops VMware services. 11月 09 13:36:54 localhost systemd[1]: vmware.service: Unit entered failed state. 11月 09 13:36:54 localhost systemd[1]: vmware.service: Failed with result 'exit-code'. $ vmware-modconfig --console --build-mod vmblock make: Entering directory '/tmp/modconfig-ePdeal/vmblock-only' Using kernel build system. /usr/bin/make -C /lib/modules/4.2.5-300.fc23.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory '/usr/src/kernels/4.2.5-300.fc23.x86_64' CC [M] /tmp/modconfig-ePdeal/vmblock-only/linux/filesystem.o CC [M] /tmp/modconfig-ePdeal/vmblock-only/linux/stubs.o CC [M] /tmp/modconfig-ePdeal/vmblock-only/linux/file.o CC [M] /tmp/modconfig-ePdeal/vmblock-only/linux/block.o /tmp/modconfig-ePdeal/vmblock-only/linux/filesystem.c: In function ‘Iget’: /tmp/modconfig-ePdeal/vmblock-only/linux/filesystem.c:325:21: error: storage size of ‘actualNd’ isn’t known struct nameidata actualNd; ^ /tmp/modconfig-ePdeal/vmblock-only/linux/filesystem.c:325:21: warning: unused variable ‘actualNd’ [-Wunused-variable] scripts/Makefile.build:258: recipe for target '/tmp/modconfig-ePdeal/vmblock-only/linux/filesystem.o' failed make[2]: *** [/tmp/modconfig-ePdeal/vmblock-only/linux/filesystem.o] Error 1 make[2]: *** Waiting for unfinished jobs.... /tmp/modconfig-ePdeal/vmblock-only/linux/file.c: In function ‘FileOpOpen’: /tmp/modconfig-ePdeal/vmblock-only/linux/file.c:135:18: error: ‘struct file’ has no member named ‘f_dentry’ if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) { ^ /tmp/modconfig-ePdeal/vmblock-only/linux/file.c:135:51: error: ‘struct file’ has no member named ‘f_dentry’ if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) { ^ /tmp/modconfig-ePdeal/vmblock-only/linux/file.c: In function ‘FileOpReaddir’: /tmp/modconfig-ePdeal/vmblock-only/linux/file.c:191:10: error: implicit declaration of function ‘vfs_readdir’ [-Werror=implicit-function-declaration] ret = vfs_readdir(actualFile, Filldir, &info); ^ /tmp/modconfig-ePdeal/vmblock-only/linux/file.c: At top level: /tmp/modconfig-ePdeal/vmblock-only/linux/file.c:240:4: error: unknown field ‘readdir’ specified in initializer .readdir = FileOpReaddir, ^ /tmp/modconfig-ePdeal/vmblock-only/linux/file.c:240:15: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types] .readdir = FileOpReaddir, ^ /tmp/modconfig-ePdeal/vmblock-only/linux/file.c:240:15: note: (near initialization for ‘RootFileOps.owner’) cc1: some warnings being treated as errors scripts/Makefile.build:258: recipe for target '/tmp/modconfig-ePdeal/vmblock-only/linux/file.o' failed make[2]: *** [/tmp/modconfig-ePdeal/vmblock-only/linux/file.o] Error 1 Makefile:1390: recipe for target '_module_/tmp/modconfig-ePdeal/vmblock-only' failed make[1]: *** [_module_/tmp/modconfig-ePdeal/vmblock-only] Error 2 make[1]: Leaving directory '/usr/src/kernels/4.2.5-300.fc23.x86_64' Makefile:120: recipe for target 'vmblock.ko' failed make: *** [vmblock.ko] Error 2 make: Leaving directory '/tmp/modconfig-ePdeal/vmblock-only'なんか、vmblockのビルドがうまくいかないようだ。
対策
gentooな人たちがいろいろパッチ作ってるみたいだったので、関係ありそうなパッチを細かく当ててってビルド通るようにした
See the gist on github.
* 作ったパッチ2015-04-17 追記
- kernel 4.4.6で作ったパッチがうまく動かなかったので再度作成