[yocto] Applying Patch to /etc/passwd file in Yocto

Amit Tomer amittomer25 at gmail.com
Fri Oct 18 03:25:44 PDT 2013


Thanks Paul for your reply

Yes frfhsjk is added inside the
poky/meta/recipes-core/base-passwd/base-passwd_3.5.26.bb using sed
command

Now how do I achieve you need to change it in the place where the user
is actually
being added.

Though I am able to get desired changes using below

SRC_URI += "file://passwd"

do_install_append() {
install -d ${D}${sysconfdir}/base-passwd ${D}${sysconfdir}
passwd/passwd${STAGING_DIR_TARGET}${sysconfdir}/passwd

                    install -m 0644 ${WORKDIR}/passwd ${D}${sysconfdir}/passwd
}

But still wanted to do it from patch file.

Thanks

On Fri, Oct 18, 2013 at 3:46 PM, Paul Eggleton
<paul.eggleton at linux.intel.com> wrote:
> Hi Amit,
>
> On Friday 18 October 2013 15:21:37 Amit Tomer wrote:
>> I wanted to apply a patch file /etc/passwd but after many attemps
>> din't get any success
>>
>> Below is the file
>>
>> poky/meta/recipes-core/base-passwd/base-passwd_3.5.26.bb
>>
>> which is responsible for copying  the modified passwd file to
>> /etc/passwd in my final image
>>
>> install -p -m 644
>> ${STAGING_DIR_TARGET}${datadir}/base-passwd/passwd.master
>> ${STAGING_DIR_TARGET}${sysconfdir}/passwd
>>
>> I believe above line copying the passwd file to /etc/passwd in my final
>> image.
>>
>> Now I need to modify this passwd furthur, so write a patch for it
>> belwo is my patch.
>>
>> --- rootfs/etc/passwd   2013-10-18 02:03:50.119529158 -0500
>> +++ rootfs/etc/passwd   2013-10-18 02:05:01.703249079 -0500
>> @@ -18,7 +18,7 @@
>>  nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
>>  ftp:x:999:999::/var/lib/ftp:/bin/false
>>  fuwmshey:x:0:0::/user/fuwmshey:/bin/sh
>> -frfhsjk:x:998:998::/home/frfhsjk:/bin/sh
>> +frfhsjk:x:998:998::/home/frfhsjk:/bin/false
>>  quagga:x:997:997::/var/run/quagga:/bin/sh
>>  messagebus:x:996:995::/var/lib/dbus:/bin/false
>>  sshd:x:995:992::/var/run/sshd:/bin/false
>>
>> Above is my patch
>>
>> Exact patch of file to be patched is
>>
>> /tmp/work/k2-poky-linux-gnueabi/image-k2/1.0-r0/rootfs/etc/passwd
>
> How is this "frfhsjk" user getting into the passwd file in the first place? The
> reason you're getting the error is this line you are modifying is not even in
> the default passwd file you are attempting to patch; it presumably is added
> later on. Patching this file is not the correct way to modify it in the final
> root filesystem - you need to change it in the place where the user is actually
> being added.
>
> Cheers,
> Paul
>
> PS: you should not send your mailing list postings also to yocto-request@,
> just yocto at .
>
> --
>
> Paul Eggleton
> Intel Open Source Technology Centre



More information about the yocto mailing list