Gentoo Archives: gentoo-embedded

From: "Jörg Faschingbauer" <joerg.faschingbauer@×××.at>
To: gentoo-embedded@l.g.o
Subject: Re: [gentoo-embedded] gentoo baselayout "Attempted to kill init"
Date: Fri, 22 Apr 2011 07:04:43
Message-Id: 1303452035.4798.16.camel@localhost
In Reply to: [gentoo-embedded] gentoo baselayout "Attempted to kill init" by chris@basementcode.com
On Thu, 2011-04-21 at 16:18 -0500, chris@××××××××××××.com wrote:
> I've got a filesystem created with the following toolchain: (from > crossdev) > > arm-unknown-linux-gnu- > > with > > arm-unknown-linux-gnu-emerge system > arm-unknown-linux-gnu-emerge baselayout > > I created the kernel separately, and was able to boot it with another > filesystem that was created by somebody else. > > During the boot process the kernel says "Attempted to kill init" > because the /init program exited for some reason. > The problem is that I can't get any other error from the init program. > I have no idea why it's exiting. It could be a missing library, segfault > or bad invocation, so I have no idea where to start.
Provided that /init is an executable: If the instruction set that the root filesystem was compiled for doesn't match your architecture's, then it's an "illegal instruction" signal that bites init. This usually happens quite early, before any configuration error is seen. You can verify this by building your own busybox-only tree with the same toolchain you built the kernel with. Choose a static build (CONFIG_STATIC, "Busybox Settings"/"Build Options"/"blah static blah"). Copy init and all that it needs (glibc?) over from your real rootfs into your small tree. Boot the kernel into the small tree, passing it init=/bin/sh (which is busybox). Call /init and see what happens. Alternatively, you could augment your tree with busybox, by installing it into it. Boot into the tree, but with init=/bin/sh (the augmented busybox). Have fun, Joerg

Replies

Subject Author
Re: [gentoo-embedded] gentoo baselayout "Attempted to kill init" chris@××××××××××××.com