Gentoo Archives: gentoo-embedded

From: Mike Dunn <mikedunn@×××××××.com>
To: gentoo-embedded@l.g.o
Subject: Re: [gentoo-embedded] gentoo baselayout "Attempted to kill init"
Date: Fri, 22 Apr 2011 03:04:14
Message-Id: 4DB0E452.6000505@newsguy.com
In Reply to: [gentoo-embedded] gentoo baselayout "Attempted to kill init" by chris@basementcode.com
1 On 04/21/2011 02:18 PM, chris@××××××××××××.com wrote:
2 > I've got a filesystem created with the following toolchain: (from crossdev)
3 >
4 > arm-unknown-linux-gnu-
5 >
6 > with
7 >
8 > arm-unknown-linux-gnu-emerge system
9 > arm-unknown-linux-gnu-emerge baselayout
10 >
11 > I created the kernel separately, and was able to boot it with another
12 > filesystem that was created by somebody else.
13 >
14 > During the boot process the kernel says "Attempted to kill init" because the
15 > /init program exited for some reason.
16 > The problem is that I can't get any other error from the init program. I have
17 > no idea why it's exiting. It could be a missing library, segfault or bad
18 > invocation, so I have no idea where to start.
19 >
20 >
21
22 Beyond emerging system and baselayout, there will be some hand tweaking and
23 sysadmin chores involved with getting a working bootable root filesystem.
24
25 The error you see is very common with what you are doing and usually caused by
26 missing libraries required by the init process. You can check which libraries
27 are needed by a particular utility by running (on the build host):
28 readelf -d /path/to/target/utility | grep NEEDED
29
30 I recommend creating a separate minimal rootfs and building it into the kernel
31 as an initramfs. The minimal filesystem need only contain a statically built
32 busybox and a simple /init shell script that does a few things like mounting
33 /proc and /sys and then execs the shell.
34 See http://en.gentoo-wiki.com/wiki/Initramfs for some guidance. Once this has
35 succesfully booted, you can mount and chroot into your real rootfs and
36 troubleshoot it.
37
38 HTH
39 Mike