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: