[OE-core] [PATCH] udev 182: Create a symlink of /lib/udev/udevd in /sbin
Shakeel, Muhammad
Muhammad_Shakeel at mentor.com
Wed Nov 28 11:09:37 UTC 2012
If we ensure that udev will always be found in /lib/udev/udevd then this patch will not be required.
Actually I needed this patch to start udev on a mips64 target where ${base_libdir} is '/lib64' and original udev init script was failing to start udev.
(I am not using initramfs).
--Shakeel
-----Original Message-----
From: otavio.salvador at gmail.com [mailto:otavio.salvador at gmail.com] On Behalf Of Otavio Salvador
Sent: Wednesday, November 28, 2012 3:52 PM
To: ChenQi
Cc: Shakeel, Muhammad; openembedded-core at lists.openembedded.org
Subject: Re: [OE-core] [PATCH] udev 182: Create a symlink of /lib/udev/udevd in /sbin
On Wed, Nov 28, 2012 at 12:26 AM, ChenQi <Qi.Chen at windriver.com> wrote:
> On 11/27/2012 10:15 PM, Otavio Salvador wrote:
>>
>> On Tue, Nov 27, 2012 at 10:57 AM, Shakeel, Muhammad
>> <muhammad_shakeel at mentor.com> wrote:
>>>
>>> From: Muhammad Shakeel<muhammad_shakeel at mentor.com>
>>>
>>> From udev 174 changelog:
>>> "The udev daemon moved to /lib/udev/udevd. Non-systemd init systems
>>> and non-dracut initramfs image generators need to change the init
>>> scripts. Alternatively the udev build needs to move udevd back to
>>> /sbin or create a symlink in /sbin, which is not done by default."
>>>
>>> Also for 64 bit architectures there exists /lib64/udev instead of
>>> /lib/udev and current init script fails to start udev.
>>>
>>> Signed-off-by: Muhammad Shakeel<muhammad_shakeel at mentor.com>
>>
>> As far as I know, all code in master now handles it properly (the
>> missing bits I sent a patch today) so why to include this symlink?
>>
> I'm not sure about this.
>
> Two things:
>
> 1) Have we ever tested udev on a target where its ${base_libdir} is
> '/lib64'?
> Apparently, if udevd is intalled under '/lib64', its init script
> cannot start udev correctly.
>
> 2) Bug#2804 is related to to udev and ${base_libdir}.
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=2804
> (Some packages hardcode their udev rules directory to be
> '/lib/udev/rules.d/'. So can udev find them if the ${base_libdir} is
> '/lib64'? )
It seems the right fix for it is to ensure udev is always installed in /lib/udev/udevd (for all targets) as you propose to do for the rules.d directory.
--
Otavio Salvador O.S. Systems
E-mail: otavio at ossystems.com.br http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br
More information about the Openembedded-core
mailing list