Messages in this thread | | | Date | Thu, 11 Dec 1997 02:56:19 -0500 (EST) | From | Ion Badulescu <> | Subject | Re: kerneld & binfmt_aout |
| |
On 10 Dec 1997, Vladimir Volovich wrote:
> I have the following problem: I compiled binfmt_aout as a module (and > did "depmod -a"). But when I try to run an aout binary, kerneld does > not load the binfmt_aout.o module automagically. The other modules, > such as cdrom.o, isofs.o, ide-cd.o are loaded by kerneld very well.
That's because somebody decided (a while ago, mind you) to request the binary loader as binfmt-%04x instead of binfmt-%03d, which is what modprobe expects and has as defaults. It's in 2.0.x too.
I don't have any particular preference for decimal over hex or viceversa, but the kernel and the modutils should come to an agreement on the format used for requests..
> vvv:~$ /usr/local/bin/qqq > bash: /usr/local/bin/qqq: cannot execute binary file > vvv:~$ strace /usr/local/bin/qqq > execve("/usr/local/bin/qqq", ["/usr/local/bin/qqq"], [/* 32 vars */]) = 0 > strace: exec: Exec format error > vvv:~$ su -c "/sbin/modprobe binfmt_aout" > Password: > vvv:~$ /usr/local/bin/qqq > [ Ok ] > > I use linux-2.1.66, modutils-2.1.55.
So, you have two options. Either scan fs/exec.c for the first expression and replace it with the second expression, recompile the kernel and reboot; or use modprobe -c to generate the (default) modules.conf, erase all the path statements and then in all the binfmt-xxxx aliases convert xxxx from 4 digit decimal to 3 digit hex.
Ionut
-- It is better to keep your mouth shut and be thought a fool, than to open it and remove all doubt.
| |