2010-02-15 07:07:14

by Adam Nielsen

[permalink] [raw]
Subject: UML broken - runaway loop modprobe binfmt-464c

Hi all,

I've been forced to upgrade an old machine running a couple of UML VMs, but I
can't for the life of me figure out how to make them work on the new machine.

I've compiled the latest kernel from kernel.org with ARCH=um and when I run it
says this a few times and then stops:

request_module: runaway loop modprobe binfmt-464c

From Google it appears the cause of this is when you run a 64-bit system with
a 32-bit kernel, but I'm running a 64-bit kernel with a 32-bit system. I
vaguely recall something about IA32 emulation in the normal kernel build, but
I can't see anything like that in the UML kernel config.

Does anyone know what might fix this?

Many thanks,
Adam.

(please CC)


2010-02-15 11:34:58

by Cong Wang

[permalink] [raw]
Subject: Re: UML broken - runaway loop modprobe binfmt-464c

On Mon, Feb 15, 2010 at 04:47:49PM +1000, Adam Nielsen wrote:
> Hi all,
>
> I've been forced to upgrade an old machine running a couple of UML VMs,
> but I can't for the life of me figure out how to make them work on the
> new machine.
>
> I've compiled the latest kernel from kernel.org with ARCH=um and when I
> run it says this a few times and then stops:
>
> request_module: runaway loop modprobe binfmt-464c
>
> From Google it appears the cause of this is when you run a 64-bit system
> with a 32-bit kernel, but I'm running a 64-bit kernel with a 32-bit
> system. I vaguely recall something about IA32 emulation in the normal
> kernel build, but I can't see anything like that in the UML kernel
> config.
>
> Does anyone know what might fix this?
>

So you are using 32-bit modprobe binary and 64-bit kernel?

This will not work, since kernel binfmt_elf module checks
if e_machine is EM_X86_64.

2010-02-15 16:11:20

by Jeff Dike

[permalink] [raw]
Subject: Re: UML broken - runaway loop modprobe binfmt-464c

On Mon, Feb 15, 2010 at 07:37:30PM +0800, Am?rico Wang wrote:
> So you are using 32-bit modprobe binary and 64-bit kernel?
>
> This will not work, since kernel binfmt_elf module checks
> if e_machine is EM_X86_64.

Not just 32-bit modprobe - any 32-bit binary on a 64-bit UML will
cause this, I think.

Jeff

2010-02-21 03:00:08

by Adam Nielsen

[permalink] [raw]
Subject: Re: UML broken - runaway loop modprobe binfmt-464c

>> So you are using 32-bit modprobe binary and 64-bit kernel?
>>
>> This will not work, since kernel binfmt_elf module checks
>> if e_machine is EM_X86_64.
>
> Not just 32-bit modprobe - any 32-bit binary on a 64-bit UML will
> cause this, I think.

Thanks for the suggestions. After some more investigation and off-list
pointers, it seems the problem is caused because compiling UML for x86_64
doesn't allow you to enable IA32 emulation.

Is this just a case of the Kconfig option being missed, or is there a more
fundamental reason as to why, unlike with the Linux kernel, it's not possible
to run 32-bit apps inside a 64-bit UML?

Thanks,
Adam.