# [solved] system won't boot anymore (help!)

## bpoint

My system has just decided it doesn't want to start up anymore.  The last thing I did was re-emerge netqmail with some custom patches, then reboot -- but I highly doubt that has anything to do with this.

Currently I get this on my console (I've trimmed the top a bit):

```
VFS: Mounted root (ext3 filesystem).

Freeing init memory: 100K

INIT: version 2.86 booting

Gentoo Linux; http://www.gentoo.org/

 Copyright 1999-2007 Gentoo Foundation; Distributed under the GPLv2

Press I to enter interactive boot mode

 * Mounting proc at /proc ...                                             [ ok ]

 * Mounting sysfs at /sys ...                                             [ ok ]

 * Mounting /dev for udev ...                                             [ ok ]

 * Seeding /dev with needed nodes ...                                     [ ok ]

 * Starting udevd ...                                                     [ ok ]

 * Populating /dev with existing devices through uevents ...              [ ok ]

 * Letting udev process events ... *   udev loading module sg

                                        [ ok ]

 * Finalizing udev configuration ...                                      [ ok ]

 * Mounting devpts at /dev/pts ...                                        [ ok ]

 * Skipping root filesystem check (fstab's passno == 0) ...               [ ok ]

 * Remounting root filesystem read/write ...                              [ ok ]

 * Checking all filesystems ...                                           [ ok ]

 * Mounting local filesystems ...                                         [ ok ]

 * Mounting USB device filesystem (usbfs) ...                             [ ok ]

 * Activating (possible) swap ...                                         [ ok ]

 * Setting system clock using the hardware clock [UTC] ...                [ ok ]

 * Configuring kernel parameters ...                                      [ ok ]

 * Updating environment ...                                               [ ok ]

 * Cleaning /var/lock, /var/run ...                                       [ ok ]

 * Wiping /tmp directory ...                                              [ ok ]

 * Device initiated services: udev-postmount

 * Setting hostname to kuro-pro ...                                       [ ok ]

```

...and that's it.  It stops there.  I've waited 30 minutes and it still doesn't budge.

I am able to enter interactive mode, and have no problems aborting the boot phase and getting a bash prompt.  I can then do a rc-config start <service> manually and pretty much bring everything back up.  I checked top to see if some process might be taking 100% CPU time, but nothing like that seems to be causing the boot to fail.

I've run fsck on all of the filesystems and everything is clean.

I also noticed that if I hit Ctrl-C while it's hanging, the boot process continues for just the next step, then hangs again.  Unfortunately once it gets to metalog, Ctrl-C doesn't seem to have any affect anymore and I have to power down the system.

I've checked the logs in /var/log, but since there aren't any error messages, I don't know where to begin to look to fix this.  Any ideas or suggestions on where to start or what to do from here would be greatly appreciated.

[ edit: added [solved] to subject ]Last edited by bpoint on Tue Dec 16, 2008 11:41 pm; edited 1 time in total

----------

## DaggyStyle

have you tried to use the interactive mode to find what service is hanging the system?

----------

## bpoint

*slaps forehead*  Well, I found the problem.  And the problem was me.   :Smile: 

There seems to be some kind of a kernel bug in 2.6.28-rc7 on arm that causes /bin/touch and other applications which use lstat() to randomly segfault.  This caused problems trying to emerge stuff, so I hacked /bin/touch to be:

```
#!/bin/bash

if [ ! -f $1 ]; then

        echo -n > $1

else

        mv $1 $1.tmp

        cp $1.tmp $1

        rm $1.tmp

fi
```

This allowed emerge to work properly, but I guess something in the boot process doesn't like this -- maybe because it's passing parameters other than just a file name to touch.

After I reverted the /bin/touch to be the actual coreutils executable, the system booted just fine.

Unfortunately, 2.6.28-rc7 is the only kernel which boots on this arm hardware, so I'm just going to have to remember to fix my hack back before rebooting.  I guess I should try -rc8 and see if it's been fixed...

----------

## bpoint

 *bpoint wrote:*   

> I guess I should try -rc8 and see if it's been fixed...

 

Just in case anyone else using a Marvell Orion on ARM happens to come across this thread:

Kernel 2.6.28-rc8 has fixed the lstat() bug which caused /bin/touch to segfault during emerges.

----------

