--- /etc/init.d/procfs 2011-10-13 04:40:23.000000000 +0200 +++ /etc/init.d/procfs 2011-10-17 09:38:53.000000000 +0200 @@ -37,24 +37,24 @@ fi fi - # Setup Kernel Support for the NFS daemon status - if [ -d /proc/fs/nfsd ] && ! mountinfo -q /proc/fs/nfsd; then - if grep -qs nfsd /proc/filesystems; then - ebegin "Mounting NFS filesystem" - mount -t nfsd -o nodev,noexec,nosuid \ - nfsd /proc/fs/nfsd - eend $? - fi - fi - # Setup Kernel Support for miscellaneous Binary Formats - if [ -d /proc/sys/fs/binfmt_misc ] \ - && ! mountinfo -q /proc/sys/fs/binfmt_misc; then + if [ -d /proc/sys/fs/binfmt_misc -a ! -e /proc/sys/fs/binfmt_misc/register ]; then if grep -qs binfmt_misc /proc/filesystems; then ebegin "Mounting misc binary format filesystem" mount -t binfmt_misc -o nodev,noexec,nosuid \ binfmt_misc /proc/sys/fs/binfmt_misc - eend $? + if eend $? ; then + local fmts + ebegin "Loading custom binary format handlers" + fmts=$(grep -hsv -e '^[#;]' -e '^[[:space:]]*$' \ + /run/binfmt.d/*.conf \ + "/etc"/binfmt.d/*.conf \ + ""/usr/lib/binfmt.d/*.conf) + if [ -n "${fmts}" ]; then + echo "${fmts}" > /proc/sys/fs/binfmt_misc/register + fi + eend $? + fi fi fi