Tried to get binfmt_misc working on my unixshell Xen server, not that I need it but I want it, and I'd liked to have helped this guy in the process. It was quite a trip.

First, I had to upgrade some packages, as my kernel was built with gcc-4.0 and I had gcc-3.3 installed. But apt-get kept insisting there was no gcc-4.0 available. I had to rebuild my /etc/sources.list by running apt-setup noprobe. Then I made the mistake of installing gcc-4.0-locales, which took hours. Got a cute little message in dmesg which told me to disable the tls libraries, which I did after dpkg finally finished installing the locales for every frickin' language for every goddamn country in the world. Got the kernel source using links http://unixshell.com/kernel-source/ and pointed the compiler to the proper include files by running:

# mv /usr/include/linux /usr/include/linux.old # ln -s /usr/src/linux-2.6.16-xen/include/linux /usr/include/linux

Then after hours of fiddling came up with this patch which, after running make modules modules_install makes a binfmt_misc.ko that loads correctly without a "version magic" error in dmesg.

After all that, I confirmed that "mmilne" from the unixshell forum knew what he was doing, and we're not likely to get binfmt_misc working until Matt Ayres and the fine folks at Unixshell decide to build the support into the kernel. If the entry binfmt_misc doesn't show up under /proc/sys/fs there isn't a hell of a lot you can do.

Back to blog or home page

last updated 2013-01-10 20:46:45. served from tektonic.jcomeau.com