[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Strange problem with binfmt-464c & kerlenel 2.4.19



Hi Folk.
I try execute the C-binary programm.
$ ./programm
bash: ./programm: cannot execute binary file
I see in my log messages:
modprobe: modprobe: Can't locate module binfmt-464c
$ file programm
programm: ELF 32-bit LSB executable, mips-1 MIPS R3000_LE [bfd bug], version 1 MathCoPro/FPU/MAU Required (SYSV), statically linked, stripped
I compiled kernel with next options:
$cat config-2.4.19
...
CONFIG_MODULES=y                                                                
CONFIG_MODVERSIONS=y                                                            
CONFIG_KMOD=y                                                                   
# CONFIG_BINFMT_AOUT is not set                                                 
CONFIG_BINFMT_ELF=y                                                             
CONFIG_BINFMT_MISC=y   (may be this do not set?)

$file /sbin/modpropbe
/sbin/modprobe: symbolic link to insmod
#file /sbin/insmod
/sbin/insmod: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped

I looked for in inet doc HOWTO & question-answer about this problem & I found that message "Can't locate module binfmt-464c" means that my programm do not is ELF format or
the kernel wants to run some ELF binary, so it tries to load the 
ELF-binaries module.  But this will fail, because modprobe is an ELF binary.

>From kernel's source :
sprintf(modname, "binfmt-%04x", *(unsigned short*) (&bprm->buf[2]));  request_module(modname);                               where bprm->buf[2] is read from the start of the executable and 46 is 'F'  &  4c is 'L'.

What is this mean?
Thanx .



Reply to: