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

Compile Kernel 32 bits on an 64 bits machine: initramfs



Hi all,

I am running a Debian 8 machine and I need to compile a 32 bits kernel
using this system, I have managed to compile the kernel using the
package linux-source-3.16 and it boots fine exporting CFLAGS=-m32 
to cross compile.

Basically:

export CFLAGS=-m32
make
make modules_install
make install

Unfortunately I get a boot error when starting the init process:

    3.669383] Failed to execute /init (error -8)
[    3.671425] request_module: runaway loop modprobe binfmt-464c
[    3.672133] Starting init: /sbin/init exists but couldn't execute it
(error -8)
[    3.674272] request_module: runaway loop modprobe binfmt-464c
[    3.675064] Starting init: /bin/sh exists but couldn't execute it
(error -8)
[    3.675072] Kernel panic - not syncing: No working init found.  Try
passing init= option to kernel. See Linux Documentation/init.txt for
guidance.
[    3.675082] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 3.16.7-ckt9 #8

My thought is that the initramfs created from the 64 bits host does
contain 64 bits executables and nothing can work that way.

What's your reckon ? If my thought is correct where could I find a
pre-generated initramfs to use with such kernel version, or do you have
any other solution ?

Thanks,
Pietro


Reply to: