[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#499575: Do you have udev installed?



> I unpacked the initrd.img file and checked the existence of udev in the initrd
> file, and this is what find gives me:
> ./etc/udev
> ./etc/udev/rules.d/50-udev.rules
> ./etc/udev/udev.conf
> ./lib/udev
> ./scripts/init-bottom/udev
> ./scripts/init-premount/udev
> ./scripts/local-top/udev_helper
> ./udevd
> ./udevadm
> ./udevsettle

That matches what I see on my Etch system, which is still running
Linux 2.6.18. I find it somewhat odd that the udev binaries are in the
root of the initramfs, because I would not expect "/" or "." to be in
the PATH.

It may be interesting to note that my Lenny/Sid system is different.

$ zcat /boot/initrd.img-2.6.26-1-686 | cpio -i
27712 blocks
$ find -name '*udev*'
./scripts/init-premount/udev
./scripts/init-bottom/udev
./sbin/udevadm
./sbin/udevsettle
./sbin/udevd
./lib/udev
./etc/udev
./etc/udev/rules.d/50-udev.rules
./etc/udev/udev.conf
$

The udev-related files are copied by:

    /usr/share/initramfs-tools/hooks/udev

Which is shipped in the udev package. In Etch (udev 0.105-4), I see this:

    copy_exec /sbin/udevd /sbin/

In Lenny (udev 0.125-6), it is similar except that the trailing
slashes are missing. AFAICT this makes no difference.

The copy_exec function is defined in:

    /usr/share/initramfs-tools/hook-functions

Without reading into it too much, there seems to be significant
differences between Etch (initramfs-tools 0.85i) and Lenny
(initramfs-tools 0.92l).

I don't see anything in the initramfs that defines the PATH, so I
would guess that it just uses the shell's default PATH -- and maybe
that has changed between Etch and Lenny? (seems unlikely, but not
impossible)

I'm not sure where to go from here, and I don't know why your system
is broken. But I might be able to try to reproduce this on my firewall
PC later, which is still mostly running Etch.

-- graham



Reply to: