udev and initramfs
Loïc Grenié
loic.grenie at gmail.com
Thu Dec 9 10:46:33 UTC 2010
2010/12/9 Tom H <tomh0665 at gmail.com>:
> On Thu, Dec 9, 2010 at 5:26 AM, Loïc Grenié <loic.grenie at gmail.com> wrote:
>> 2010/12/9 Tom H <tomh0665 at gmail.com>:
>>> On Thu, Dec 9, 2010 at 3:52 AM, Loïc Grenié <loic.grenie at gmail.com> wrote:
>>>>
>>>> I have a problem and I do not understand why... From udev (lucid: 151-12.2)
>>>> I have in file /lib/udev/rules.d/60-persistent-storage.rules:
>>>>
>>>> [snip]
>>>> # probe filesystem metadata of optical drives which have a media inserted
>>>> KERNEL=="sr*", ENV{ID_CDROM_MEDIA}=="?*",
>>>> ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="?*",
>>>> IMPORT{program}="/sbin/blkid -o udev -p -u noraid -O
>>>> $env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET} $tempnode"
>>>> # single-session CDs do not have ID_CDROM_MEDIA_SESSION_LAST_OFFSET
>>>> KERNEL=="sr*", ENV{ID_CDROM_MEDIA}=="?*",
>>>> ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="",
>>>> IMPORT{program}="/sbin/blkid -o udev -p -u noraid $tempnode"
>>>>
>>>> # probe filesystem metadata of disks
>>>> KERNEL!="sr*", IMPORT{program}="/sbin/blkid -o udev -p $tempnode"
>>>> [snip]
>>>>
>>>> and in file /usr/share/initramfs-tools/hooks/udev:
>>>>
>>>> [snip]
>>>> copy_exec /sbin/blkid /lib/udev
>>>> [snip]
>>>>
>>>> Thus blkid ends in /lib/udev on the initramfs. The consequence I have
>>>> is that the system won't reboot because blkid is not executed (because
>>>> udev will look for it in /sbin and it's not there) and I thus do not have the
>>>> links created in /dev/disk/by-uuid.
>>>>
>>>> What I'd love to understand is why I seem to be the *only one* with
>>>> that problem. Are there somehow
>>>> /etc/udev/rules.d/60-persistent-storage.rules on "normal" systems
>>>> with a different call to blkid ? Does anybody understand what I have
>>>> modified to break my system ? How does your kernel command-line
>>>> look like (cat /proc/cmdline) ?
>>>
>>> If you unpack your initrd, you'll find that "/sbin/blkid" exists.
>>
>> Well no, it's not there (that's why my system won't boot without tweaking,
>> and it's also the reason why I've asked for help in the first place). This
>> probably means I delete it somehow or I do not create it or whatever.
>>
>> Thanks,
>
> You're welcome.
>
> You should check whether "/sbin/blkid" exists on your system because
> it is explicitly copied by mkinitramfs (which is called by
> update-initramfs).
Yes it does exist however I had a modified (and broken) version of
mkinitramfs. This is why *I* was the only one.
Now, please, why does udev copy blkid to /lib/udev on the initramfs and
forces mkinitramfs to put it in the right place ? It sounds strange to me...
THANKS again !
Loïc
More information about the ubuntu-users
mailing list