init: critical process 'servicemanager' exited 4 times in 4 minutes; rebooting into recovery mode

3,582 views
Skip to first unread message

麥wing

unread,
Sep 5, 2011, 12:49:04 AM9/5/11
to android-porting
hello,

I am newbie of android-porting. I use

$ repo init -u git://gitorious.org/0xdroid/manifest.git -b beagle-
gingerbread
$ repo sync

and

$ git clone git://gitorious.org/0xlab-kernel/kernel.git
$ cd kernel
$ git checkout -b kernel_omap3 origin/omap3-2.6.32

to get Gingerbread(OS) and kernel.

However, I get error! init: critical process 'servicemanager' exited 4
times in 4 minutes; rebooting into recovery mode. Can u give me some
suggestions?

UBIFS: mounted UBI device 0, volume 0, name "rootfs"
UBIFS: file system size: 103348224 bytes (100926 KiB, 98 MiB, 801
LEBs)
UBIFS: journal size: 9033728 bytes (8822 KiB, 8 MiB, 71 LEBs)
UBIFS: media format: w4/r0 (latest is w4/r0)
UBIFS: default compressor: lzo
UBIFS: reserved for root: 0 bytes (0 KiB)
VFS: Mounted root (ubifs filesystem) on device 0:13.
Freeing init memory: 140K
Warning: unable to open an initial console.
init: Timed out waiting for /dev/.coldboot_done
init: cannot find '/sbin/ueventd', disabling 'ueventd'
init: service 'console' requires console
init: cannot find '/system/etc/install-recovery.sh', disabling
'flash_recovery'
init: untracked pid 550 exited
init: untracked pid 549 exited
warning: `rild' uses 32-bit capabilities (legacy support in use)
init: untracked pid 546 exited
init: untracked pid 559 exited
init: untracked pid 592 exited
init: untracked pid 585 exited
init: untracked pid 597 exited
init: untracked pid 607 exited
init: untracked pid 600 exited
init: untracked pid 612 exited
init: untracked pid 622 exited
init: untracked pid 615 exited
init: untracked pid 627 exited
init: critical process 'servicemanager' exited 4 times in 4 minutes;
rebooting into recovery mode
cm: Module associated with clock usbhost_48m_fck didn't enable in
100000 tries
Unhandled fault: external abort on non-linefetch (0x1028) at
0xfa064814
Internal error: : 1028 [#1]
last sysfs file: /sys/power/state
Modules linked in:
CPU: 0 Not tainted (2.6.32.9-gd4f5a36-dirty #1)
PC is at ehci_halt+0x10/0x54
LR is at ehci_omap_shutdown+0x7c/0xbc
pc : [<c024fd2c>] lr : [<c024ff4c>] psr: 60000193
sp : cf81fe40 ip : 00000002 fp : 00000008
r10: 00000000 r9 : cf81e000 r8 : c002c068
r7 : 0001ae2d r6 : c058e92c r5 : cf9d18d0 r4 : cf9d1800
r3 : 00000000 r2 : fa064810 r1 : cf9d18d0 r0 : cf9d18d0
Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c5387d Table: 8fb84019 DAC: 00000015

Hemanth(ヘマント)

unread,
Sep 7, 2011, 12:42:15 AM9/7/11
to android-porting
Hi,

Check your logcat logs for some crashes.
It looks like servicemanager is crashing when it is trying to start
some service.

From:system/core/init/readme.txt
critical
This is a device-critical service. If it exits more than four times in
four minutes, the device will reboot into recovery mode.

lakehousetech

unread,
Sep 11, 2011, 11:07:07 PM9/11/11
to android...@googlegroups.com
What logs other than last_kmsg can be checked since adb hasn't started?

Chris

麥wing

unread,
Sep 12, 2011, 12:24:02 AM9/12/11
to android-porting
Hi,

Thank you for reply my message.
I have been ported the Gingerbread OS into devkit8000 for about half
year, still cannot success!

I find that I cannot get the logcat logs for seeing the crashes, I do
not know the reasons.
However, apart these problems, there are some problems affecting the
OS booting up.....

1.omapdss DPI: Could not find exact pixel clock. Requested 23500 kHz,
got 24000 kHz

regulator_init_complete: incomplete constraints, leaving VDAC on


2.Warning: unable to open an initial console.


3.init: Timed out waiting for /dev/.coldboot_done


4.init: cannot find '/sbin/ueventd', disabling 'ueventd'


5.init: cannot find '/system/etc/install-recovery.sh', disabling
'flash_recovery'


So ,I still try it, thx a lot sin!

sreekanth bolloju.sr

unread,
Sep 13, 2011, 9:39:22 AM9/13/11
to android-porting
may be u can try this:

comment the line "mount rootfs rootfs / ro remount" in init.rc.

Sreekanth

lakehousetech

unread,
Sep 13, 2011, 11:53:29 PM9/13/11
to android...@googlegroups.com
From what I've read the console error and recovery items in your list can be ignored. Where are you pulling this log output from?

麥wing

unread,
Sep 13, 2011, 11:51:54 PM9/13/11
to android-porting
hi,sreekanth

I have tried your suggestion, but seems not solve it!

On Sep 13, 9:39 pm, "sreekanth bolloju.sr" <bolloju...@gmail.com>
wrote:

麥wing

unread,
Sep 14, 2011, 12:11:48 AM9/14/11
to android-porting
hi,lakehousetech

Thank you for your reply.
I use ./adb devices, it cannot find devkit8000 devices.
And I do not know how to use last_lmsg, I only set loglevel 8 in
init.rc for seeing more information.
Message has been deleted

麥wing

unread,
Sep 14, 2011, 11:42:18 PM9/14/11
to android-porting
Hi,lakehousetech

I pull this log output from UART of devkit8000 using putty on Ubuntu

Regards,

麥wing

unread,
Sep 15, 2011, 4:28:13 AM9/15/11
to android-porting
Hi,all

I found one website talking about these problems
http://www.eoeandroid.com/thread-31215-1-1.html (chinese webpage)

The author said that enable the setting of kernel(using 'make
menuconfig')
->device driver
->staging drivers
->android
->android binder ipc driver

Do you have any comments?

Regards,


On Sep 14, 12:11 pm, 麥wing <wing...@gmail.com> wrote:

Nigel Sheridan-Smith

unread,
Sep 15, 2011, 4:51:43 PM9/15/11
to win...@gmail.com, android-porting
Hi Wing,

That definitely sounds like your problem - Service Manager will not start without the Binder linux driver, since it relies on Binder IPC. It is the "naming service" that maps names to binder interfaces / pointers. Hence, it would fail to start 4 times in a row, since the call to open("/dev/binder", ...) would fail.

Cheers,

Nigel


麥wing

unread,
Sep 16, 2011, 6:07:37 AM9/16/11
to android-porting
Hi, Niguel

Thanks for your reply.

You give me some ideas about the flow of running.
After I 'make' the OS(Gingerbread), the 'out/target/product/devkit8000/
android_rootfs/dev' folder is empty. Do you think that it is normal?

If it is normal, "/dev/binder' is generated after Plugging uImage &
ubifs.img into devkit8000,it means that the '/dev/binder' can not be
generated?

Regards,

Wing

On Sep 16, 4:51 am, Nigel Sheridan-Smith <wtfi...@gmail.com> wrote:
> Hi Wing,
>
> That definitely sounds like your problem - Service Manager will not start
> without the Binder linux driver, since it relies on Binder IPC. It is the
> "naming service" that maps names to binder interfaces / pointers. Hence, it
> would fail to start 4 times in a row, since the call to open("/dev/binder",
> ...) would fail.
>
> Cheers,
>
> Nigel
>
> On Thu, Sep 15, 2011 at 6:28 PM, 麥wing <wing...@gmail.com> wrote:
> > Hi,all
>
> > I found one website talking about these problems
> >http://www.eoeandroid.com/thread-31215-1-1.html(chinese webpage)

Nigel Sheridan-Smith

unread,
Sep 17, 2011, 4:00:22 AM9/17/11
to win...@gmail.com, android-porting
Hi Wing,

"binder" is a linux miscellaneous module / driver, so the kernel will create a virtual "file" entry for the device. The applications that need to use the Binder IPC service then call open("/dev/binder", ...) to get a handle to the binder service, and then issue ioctl(...) calls to pass data to and from the Binder service.

If you Linux kernel does not have the binder driver, then the call to open("/dev/binder",...) will fail and return an error. At this point, anything that relies on the Binder IPC mechanism will fail and likely exit. Service Manager is 100% dependent on Binder, so it doesn't surprise me that it would fail 4 times in a row if the Binder driver were not available.

You shouldn't see any files in the /dev directory at the point of building Android because this is where the files that represent the "devices" will be created by the linux kernel once the system is up and running.

Cheers,

Nigel
Reply all
Reply to author
Forward
0 new messages