# udev is failing, causing my entire system not to load

## dangerz

Not sure what happened here.  I updated my system last night and shut the computer down before I went to bed.  Woke up this morning and tried to turn it on, but was greeted with the following errors:

 *Quote:*   

> * Mounting sysfs at /sys ...
> 
> * You need at least Linux kernel 2.6.27 for reliable operation of udev.
> 
> * Mounting /dev ...
> ...

 

It then asks for the root password to load the system in read-only mode.  I'm running kernel 2.6.25.

Any ideas how I can fix this?

----------

## desultory

Boot a live CD, or the logical equivalent, use chroot to access the installed system, build a newer kernel, install it, update the boot loader as needed, reboot.

----------

## yoshi314

maybe you forgot to run etc-update or equivalent ?

----------

## cygeus

 *Quote:*   

> Not sure what happened here. I updated my system last night and shut the computer down before I went to bed. Woke up this morning and tried to turn it on, but was greeted with the following errors:

 

The udev-146-r1 ebuild says this:

 *Quote:*   

> # udev requires signalfd introduced in kernel 2.6.25,
> 
>     # but a glibc compiled against >=linux-headers-2.6.27 uses the
> 
>     # new signalfd syscall introduced in kernel 2.6.27 without falling back
> ...

 

Here what's I did to get back up and running without a live-cd. My Gentoo box is an old pc used as server, without CD/DVD, monitor, ... I only have a serial console and ssh.

```
(enter root password to get a console)

(remout root filesystem as read/write)

mount -o rw,remount /

(emerge previous stable udev, sources where still in /usr/portage/distfiles so I didn't need an internet connection)

emerge -av =sys-fs/udev-141 

(reboot)

exit
```

After rebooting you can update your kernel and udev.

----------

## MannyNix

Thank you cygeus, it really helped me, my problem wasn't signalfd, but about inotify_init failing, it just booted to:

```
* Checking root filesystem...

fsck.ext3: No such file or directory while trying to open /dev/sda3

/dev/sda3:

The superblock could not be read or does not describe a correct ext 2 filessytem. If the device is valid and it really contains an ext2 filesystem (and not swap or ufs or something else, then the superblock is corrupt, and you might try running e2fsck with an alternate superblock:

      e2fsck -b 8193 <device> 
```

After downgrading udev I noticed I should fix: CONFIG_INOTIFY_USER in my kernel config

Your post really helped me, Thank you

----------

## charlesnadeau

 *cygeus wrote:*   

> 
> 
> Here what's I did to get back up and running without a live-cd. My Gentoo box is an old pc used as server, without CD/DVD, monitor, ... I only have a serial console and ssh.
> 
> ```
> ...

 

I do have the same problem but I do not have access to my /usr/portage/distfiles ("Too many levels of symbolic links").

How can I enable my internet to do an emerge --sync and then download the package?

This a bad way to come back from the Christmas vacation...

Thanks!

Charles

----------

## Mike Hunt

 *charlesnadeau wrote:*   

> ... I do not have access to my /usr/portage/distfiles ("Too many levels of symbolic links").

 

Sounds excruciating.

You could boot an installCD or sysrescueCD chroot your box and emerge the last working version of sys-fs/udev and reboot.

----------

## cach0rr0

Could always edit /etc/make.conf and change the location of distfiles

e.g.

```

DISTDIR="/usr/tmp/distfiles"

```

then dump the requisite archive in there (copy it over via a thumb drive), and emerge. 

And if you end up with a broken build system, there's always our beloved tinderbox

----------

## cbranje

Just wondering, when I do the emerge, the system tries unsuccessfully to download stuff off the internet. How do I force the command to look locally? I have the files in my /usr/portage/distfiles/ directory.

Thanks,

Carmen

 *cygeus wrote:*   

>  *Quote:*   Not sure what happened here. I updated my system last night and shut the computer down before I went to bed. Woke up this morning and tried to turn it on, but was greeted with the following errors: 
> 
> The udev-146-r1 ebuild says this:
> 
>  *Quote:*   # udev requires signalfd introduced in kernel 2.6.25,
> ...

 

----------

## Mike Hunt

cbranje,

/usr/portage/distfiles is the default directory. If the required distfile already exists there, then it will not get downloaded again, a network connection is needed only in the event that a required distfile (or patch...) is missing.

Of course the default distfile location can be changed by setting the DISTDIR variable on the command line or in /etc/make.conf. Example:

DISTDIR="/root" emerge package

Why is downloading unsuccessful? Are there any error messages, or some hint as to what is going on?

----------

## charlesnadeau

 *Mike Hunt wrote:*   

> 
> 
> You could boot an installCD or sysrescueCD chroot your box and emerge the last working version of sys-fs/udev and reboot.

 

This is what I did and it worked!

Thanks everybody for your help!

Charles

----------

## Mike Hunt

No problem, glad to help.  :Smile: 

----------

## Crymson

 *cygeus wrote:*   

>  *Quote:*   Not sure what happened here. I updated my system last night and shut the computer down before I went to bed. Woke up this morning and tried to turn it on, but was greeted with the following errors: 
> 
> The udev-146-r1 ebuild says this:
> 
>  *Quote:*   # udev requires signalfd introduced in kernel 2.6.25,
> ...

 

I just wanted to say that the new version of udev screwed me too - I'm still on 2.6.26-r3, and haven't upgraded to 2.6.27-x yet.  This step above was a LIFESAVER.  Got me back in to the system and now I'm rocking and rolling again

Thanks so much to the poster!!

----------

