Anand Buddhdev wrote:
Today I updated my kernel to 2.6.7-1.494.2.2, and I can no longer run windows binaries. I did some investigation, and found out that until 2.6.6, binfmt_misc was compiled as a module, and the wine startup script inserted it using modprobe, and then registered wine as a handler for windows executables. With kernel 2.6.7, binfmt_misc is compiled into the kernel, not as a module. Hence the modprobe in the wine startup script fails, and furthermore, the script is unable to register wine as a handler for windows executables.
I have filed this in bugzilla as a kernel issue, but I am not sure who is at fault. Anyway, does anyone know how I can restore the original functionality I had, where I could just type:
.wine/c/Program\ Files/LeXpert/Lexpert.exe
at the shell prompt and get Lexpert.exe to run?
Many thanks to Geoffrey Leach for providing a clue to solving this problem. The solution is that under this new kernel, we have to mount the binfmt_misc pseudo filesystem on /proc/sys/fs/binfmt_misc to access its features. So I added to my /etc/fstab:
none /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0
And then mounted it by running:
mount /proc/sys/fs/binfmt_misc
I then removed the line:
/sbin/modprobe binfmt_misc &>/dev/null
from the file /etc/init.d/wine, as it is no longer needed. And then I started the wine service:
/etc/init.d/wine start
And now I can run my windows application just like before, by double clicking on its icon on the desktop, or typing its name on the command line.