如何在Yocto项目上编辑源代码passwd.c并重建它

时间:2017-02-17 00:46:56

标签: passwords yocto

我是Yocto的新手,大约半年前我学习了yocto。以下是这种情况:

  • Yocto目标机器:intel corei7-64
  • 套接字服务器和客户端与Rabbit加密密码通信。
  • 套接字客户端可以更改密码。
  • 用户可以使用ssh登录corei7 Yocto嵌入式计算机。
  • 用户可以使用passwd更改密码。

谷歌搜索后,我想也许我需要更改源代码passwd.c并读取用户输入的密码并将密码保存到某处并使用该算法读取/写入/加密/解密以供Socket服务器使用

$ find . -name passwd.c
./build/tmp/work/corei7-64-poky-linux/shadow/4.2.1-r0/license-destdir/shadow/passwd.c
./build/tmp/work/corei7-64-poky-linux/shadow/4.2.1-r0/packages-split/shadow-dbg/usr/src/debug/shadow/4.2.1-r0/shadow-4.2.1/src/passwd.c
./build/tmp/work/corei7-64-poky-linux/shadow/4.2.1-r0/shadow-4.2.1/src/passwd.c
./build/tmp/work/corei7-64-poky-linux/shadow/4.2.1-r0/package/usr/src/debug/shadow/4.2.1-r0/shadow-4.2.1/src/passwd.c
./build/tmp/work/corei7-64-poky-linux/busybox/1.24.1-r0/packages-split/busybox-dbg/usr/src/debug/busybox/1.24.1-r0/busybox-1.24.1/loginutils/passwd.c
./build/tmp/work/corei7-64-poky-linux/busybox/1.24.1-r0/busybox-1.24.1/loginutils/passwd.c
./build/tmp/work/corei7-64-poky-linux/busybox/1.24.1-r0/package/usr/src/debug/busybox/1.24.1-r0/busybox-1.24.1/loginutils/passwd.c
./build/tmp/work/corei7-64-poky-linux/openssl/1.0.2h-r0/packages-split/openssl-dbg/usr/src/debug/openssl/1.0.2h-r0/openssl-1.0.2h/apps/passwd.c
./build/tmp/work/corei7-64-poky-linux/openssl/1.0.2h-r0/openssl-1.0.2h/apps/passwd.c
./build/tmp/work/corei7-64-poky-linux/openssl/1.0.2h-r0/package/usr/src/debug/openssl/1.0.2h-r0/openssl-1.0.2h/apps/passwd.c
./build/tmp/deploy/licenses/shadow/passwd.c
./build/tmp/deploy/licenses/shadow-native/passwd.c

因为我不确定将使用哪个版本,所以我在每个passwd.c中添加了一些标记,并通过以下命令重建图像。

$ bitbake -f -c compile busybox
$ bitbake -f -c compile linux-yocto
$ bitbake -f -c deploy linux-yocto
$ bitbake core-image-minimal

但是在登录到新版本后,我找不到任何变化?我想念一下吗?

1 个答案:

答案 0 :(得分:1)

请检查是否安装了包阴影。如果是,则从包阴影中使用命令passwd。否则使用busybox中的那个。您可以为包(shadow或busybox)执行do_patch。然后做一些修改。在构建和验证修改工作后,将补丁添加到SRC_URI。

对于shadow,源文件位于 ./build/tmp/work/corei7-64-poky-linux/shadow/4.2.1-r0/shadow-4.2.1 /