问题描述
有人可以帮助我设置在 Yocto 中构建 mDNS 和/或纠正我可能犯的任何其他错误?
我之前成功构建了 mDNS 并在嵌入式 Linaro 中运行Linux.
这是一篇非常详细的帖子,试图在提供足够的方面犯错信息.正如一位响应者在我最近看到的论坛消息中写道:"欢迎来到约克托.这是你的一瓶威士忌和 Advil……"
Can someone help me in setting up the recipe to build mDNS in Yocto and/orcorrect any other mistakes I may have made?
I previously successfully built mDNS and got it running in Linaro embeddedLinux.
This is a pretty detailed post, to try to err on the side of giving enoughinformation. As one responder wrote in a forum message that I saw recently:"Welcome to Yocto. Here's your bottle of whiskey and Advil..."
在 Linaro Linux 中构建:我从 Apple 获得了 mDNS 的这个 .tar:https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-878.200.35.tar.gz
遵循这一点:https://github.com/balaji-reddy/mDNSResponder.
我为我的 mDNS 内容创建了一个基本文件夹/mDNS/并在那里提取了 .tar,创建一个 mDNSResponder-878.200.35/文件夹.我做了 cd 到那个.
它使用以下命令在 Linaro 中为我轻松构建:make os="linux";-C "mDNSPosix"
Building in Linaro Linux: I had obtained this .tar of mDNS from Apple:https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-878.200.35.tar.gz
Following this got it going: https://github.com/balaji-reddy/mDNSResponder .
I made a base folder /mDNS/ for my mDNS stuff and extracted the .tar there,creating an mDNSResponder-878.200.35/ folder. I did cd into that.
It build readily for me in Linaro using the command: make os="linux" -C "mDNSPosix"
我在/mDNS/mDNSR-878.200.35/mDNSPosix/build/prod/中有 8 个文件:
40,592 libdns_sd.so
55,960 libnss_mdns-0.2.so
370,288 mDNSClientPosix
448,608 mdnsd
374,616 mDNSIdentify
387,904 mDNSNetMonitor
373,960 mDNSProxyResponderPosix
379,768 mDNSResponderPosix
然后,仍然在 mDNSResponder-878.200.35/,我做了:
make install os="linux"-C "mDNSPosix"
I got 8 files in /mDNS/mDNSR-878.200.35/mDNSPosix/build/prod/ :
40,592 libdns_sd.so
55,960 libnss_mdns-0.2.so
370,288 mDNSClientPosix
448,608 mdnsd
374,616 mDNSIdentify
387,904 mDNSNetMonitor
373,960 mDNSProxyResponderPosix
379,768 mDNSResponderPosix
Then, still in mDNSResponder-878.200.35/, I did:
make install os="linux" -C "mDNSPosix"
除其他外,此安装启动了一个恶魔运行.它也复制libdns_sd.so 和 libnss_mdns-0.2.so 到/lib/,它应该在路径中.
这些行包含在安装输出中:
--------------------------------------------------------------**
启动 Apple Darwin 多播 DNS/DNS 服务发现守护进程:mdnsd.
/usr/sbin/mdnsd 已安装
--------------------------------------------------------------**
Among other things, this install starts a demon running. It also copieslibdns_sd.so, and libnss_mdns-0.2.so to /lib/, which should be in the path.
These lines are included in the install output:
--------------------------------------------------------------**
Starting Apple Darwin Multicast DNS / DNS Service Discovery daemon: mdnsd.
/usr/sbin/mdnsd installed
--------------------------------------------------------------**
对于 Yocto,我想我会将 libdns_sd.so 的副本添加到/lib/文件夹中我的食谱的目的地,所以我可以在运行之前将另一个模块链接到它make install,必须在目标上运行.但如果我建Yocto 中的其他模块,我想我应该将它复制到/lib/下tmp/work/dir,而不是 D,目的地.我的 do_install 行:
安装 -m 0755 ${S}/mDNSResponder-878.200.35/mDNSPosix/build/prod/libdns_sd.so ${D}${base_libdir}
用于将其复制到 D 中的/lib/.我将如何正确编写该行进行复制它到/lib/下 ~/Yocto/imx-yocto-bsp/build-wayland/tmp/work/aarch64-poky-linux/?
For Yocto, I figured I would add the copy of libdns_sd.so to the /lib/ folder inthe destination to my recipe so I could link another module to it before I ranthe make install, which has to be done running on the target. But if I buildthat other module in Yocto, I think I should add copying it to /lib/ under mytmp/work/ dir, not D, the destination. My do_install line:
install -m 0755 ${S}/mDNSResponder-878.200.35/mDNSPosix/build/prod/libdns_sd.so ${D}${base_libdir}
is for copying it to /lib/ in D. How would I correctly write that line to copyit to /lib/ under ~/Yocto/imx-yocto-bsp/build-wayland/tmp/work/aarch64-poky-linux/?
Yocto 低级文件夹不是很重要;我只是觉得我想要一个
我家目录下的 Yocto 文件夹来保存我的 Yocto 东西.我创建了 imx-yocto-bsp
遵循 i.MX_Yocto_Project_User's_Guide.pdf.
The Yocto low-level folder isn't very important; I just felt that I wanted a
Yocto folder under my home dir to hold my Yocto stuff. I created imx-yocto-bsp
following the i.MX_Yocto_Project_User's_Guide.pdf.
首先,我遵循了 i.MX_Yocto_Project_User's_Guide.pdf,IMXLXYOCTOUG"从 imx-yocto-L5.4.47_2.2.0 下载,获取我的基本系统,其中工作.我从:www.nxp.com/imx8mnanoevk ->https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-nano-applications-processor:8MNANOD4-EVK
并下载并解压了接下来三行中描述的这个 .zip:
L5.4.47_2.2.0_LINUX_DOCS (REV L5.4.47_2.2.0) 更新
适用于 Linux BSP 文档的 i.MX L5.4.47_2.2.0.包括发行说明、用户指南.
ZIP 11.6 MB 2020 年 11 月 3 日 L5.4.47_2.2.0_LINUX_DOCS [ 英文 ]
我正在为 i.MX 8M nano 评估板做这件事.
我上面路径中的 build-wayland 文件夹是我的 build 文件夹.
我做了以下几行来得到它.
~/Yocto/imx-yocto-bsp$ DISTRO=fsl-imx-wayland MACHINE=imx8mnddr4evk 源imx-setup-release.sh -b build-wayland
其结果之一是目录更改为 build-wayland文件夹.事实证明,留在该文件夹中是正确的做法i.MX_Yocto_Project_User's_Guide.pdf 中的后续步骤,例如我的bitbake imx-image-multimedia"命令我做了;我不相信 .pdf 制作的很清楚.
First, I had followed the i.MX_Yocto_Project_User's_Guide.pdf, "IMXLXYOCTOUG"from the imx-yocto-L5.4.47_2.2.0 download, to get my basic system, whichworked. I got that from: www.nxp.com/imx8mnanoevk ->https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-nano-applications-processor:8MNANOD4-EVK
And downloaded and unpacked this .zip described in the next three lines:
L5.4.47_2.2.0_LINUX_DOCS (REV L5.4.47_2.2.0 ) UPDATED
i.MX L5.4.47_2.2.0 for Linux BSP Documentation. Includes Release Notes, User Guide.
ZIP 11.6 MB 03 Nov 2020 L5.4.47_2.2.0_LINUX_DOCS [ English ]
I'm doing this for the i.MX 8M nano eval board.
The build-wayland folder in my path above is my build folder.
I had done the following line to get that.
~/Yocto/imx-yocto-bsp$ DISTRO=fsl-imx-wayland MACHINE=imx8mnddr4evk source imx-setup-release.sh -b build-wayland
One result of that was to end up with the directory changed to the build-waylandfolder. It turned out it was the right thing to do to stay in that folder forsubsequent steps in the i.MX_Yocto_Project_User's_Guide.pdf, such as my"bitbake imx-image-multimedia" command that I did; I don't believe the .pdf madethat clear.
所以我之前在运行 Ubuntu 18.04.4 的 Linux 主机 PC 上进行了这项工作《仿生海狸》并将生成的图像闪烁到我的 i.MX 8M 纳米板上.
我在 UART 输出中看到的其中一行是:
欢迎使用 NXP i.MX Release Distro 5.4-zeus (zeus)!
我遵循了以下非常好的教程,并添加了一个 helloworld 层作为它显示并让 helloworld 在我的目标板上工作来自主机的 .wic 图片:
https://medium.com/the-innovation/how-to-prepare-a-helloworld-c-recipe-with-yocto-project-1f74c296a777
这是一个很好的教程,一方面,因为它清楚地描述了目录结构和可以遵循.小心作者的错别字然而放入.他开始将 helloworld.c 拼写为 hello-world.c然后第 5 步和第 6 步在他的第 7 步中切换到 helloworld.c.你必须抓住当您注意到切换时,请修复您工作中的拼写.
So I previously got this working on a Linux host PC running Ubuntu 18.04.4"Bionic Beaver" and flashed the resulting images onto my i.MX 8M nano board.
One line of many I see in my UART output is:
Welcome to NXP i.MX Release Distro 5.4-zeus (zeus)!
I followed the following very good tutorial and also added a helloworld layer asit shows and had helloworld working on my target board after flashing the built.wic image from the host:
https://medium.com/the-innovation/how-to-prepare-a-helloworld-c-recipe-with-yocto-project-1f74c296a777
It is a good tutorial, for one thing, because it clearly describes the directorystructure and can be followed. Be careful about a typo that the authorput in, however. He starts out spelling helloworld.c as hello-world.c in hisSteps 5 and 6 then switches to helloworld.c in his Step 7. You have to catchthat and fix the spelling in your work when you notice the switch.
我使用他 George Calin 展示的结构来制作我的 mdns 层.
I used the structure that he, George Calin, showed, to make my mdns layer.
在我的构建文件夹 build-wayland 中,我在旁边创建了 meta-mdns-so我按照教程创建的 meta-helloworld-app 文件夹.我用了教程中给出的类似步骤,包括
bitbake-layers create-layer meta-mdns-so
bitbake-layers add-layer meta-mdns-so
In my build folder, build-wayland, I created meta-mdns-so alongside themeta-helloworld-app folder that I had created following the tutorial. I usedsimilar steps as given in the tutorial, including
bitbake-layers create-layer meta-mdns-so
bitbake-layers add-layer meta-mdns-so
这让我以类似的方式完成了教程中的第 4 步.
这在 meta-mdns-so 中创建了以下树(每级缩进一个破折号):
This got me through Step 4 in the tutorial in a similar manner.
This created the following tree in meta-mdns-so (one dash indented per level):
确认
-layer.conf
COPYING.MIT
自述文件
食谱示例
-mdns
--文件
---mDNSResponder-878.200.35.tar.gz
--mDNSResponder_878.200.35.bb
conf
-layer.conf
COPYING.MIT
README
recipes-example
-mdns
--files
---mDNSResponder-878.200.35.tar.gz
--mDNSResponder_878.200.35.bb
请注意,后面紧跟缩进程度更高的项目是目录.
Note that items followed by items that are more indented are directories.
将 mDNSResponder-878.200.35.tar.gz 放在我发现的文件下https://wiki.yoctoproject.org/wiki/Building_your_own_recipes_from_first_principles然而,这里的信息大约有七年历史和背景信息链接已经腐烂了.
Yocto Mega 手册中有更多信息,请访问https://www.yoctoproject.org/docs/3.0/mega-manual/mega-manual.html .
见7.3.21.3".基于 Makefile 的包"
Putting mDNSResponder-878.200.35.tar.gz under files I found out fromhttps://wiki.yoctoproject.org/wiki/Building_your_own_recipes_from_first_principlesHowever the information here is about seven years old and background info linkshave rotted.
There's more information in the Yocto Mega Manual athttps://www.yoctoproject.org/docs/3.0/mega-manual/mega-manual.html .
See "7.3.21.3. Makefile-Based Package"
这是我在 mDNSResponder_878.200.35.bb 中为我的第一次尝试:
-----------------------------------------------------------------------
描述 =mDNS 组件"
优先级 = 可选"
SECTION =协议"
许可证 = 麻省理工学院"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = "file://mDNSResponder-878.200.35.tar.gz"
# S = "${WORKDIR}"
# - 不应该设置 S 因为 BitBake 期望源位于名为
的目录中# 工作目录中的 mDNSResponder-878.200.35.
# 不需要 do_compile 步骤,因为默认情况下 BitBake 会启动 make 命令
# 编译应用程序.
# 但需要额外的 make 选项
EXTRA_OEMAKE = "'os="linux"''-C "mDNSPosix"'"
do_install() {
install -d ${D}${base_libdir}
install -m 0755 ${WORKDIR}/mDNSResponder-878.200.35/mDNSPosix/build/prod/libdns_sd.so ${D}${base_libdir}
}
-----------------------------------------------------------------------**
我在 ~/Yocto/imx-yocto-bsp/build-wayland$ 中做了 bitbake mdns.
Here's the recipe in mDNSResponder_878.200.35.bb that I came up with for myfirst try:
----------------------------------------------------------------------
DESCRIPTION = "The mDNS component"
PRIORITY = "optional"
SECTION = "protocols"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = "file://mDNSResponder-878.200.35.tar.gz"
# S = "${WORKDIR}"
# -Shouldn't set S because BitBake expects the source to be in a dir called
# mDNSResponder-878.200.35 in the work dir.
# Don't need a do_compile step since by default BitBake starts the make command
# to compile the application.
# But need additional make options
EXTRA_OEMAKE = "'os="linux"' '-C "mDNSPosix"'"
do_install() {
install -d ${D}${base_libdir}
install -m 0755 ${WORKDIR}/mDNSResponder-878.200.35/mDNSPosix/build/prod/libdns_sd.so ${D}${base_libdir}
}
----------------------------------------------------------------------**
I did bitbake mdns in ~/Yocto/imx-yocto-bsp/build-wayland$ .
当我在新的终端窗口中返回这项工作时,我总是这样做
~/Yocto/imx-yocto-bsp$ source setup-environment build-wayland
它把我放在我的 build-wayland 文件夹中:~/Yocto/imx-yocto-bsp/build-wayland$
When coming back to this work in a fresh terminal window I always do
~/Yocto/imx-yocto-bsp$ source setup-environment build-wayland
It puts me in my build-wayland folder: ~/Yocto/imx-yocto-bsp/build-wayland$
bitbake 似乎编译得很好,我得到了以下内容:
~/Yocto/imx-yocto-bsp/build-wayland/tmp/work# find -iname mdns
找到很多,包括这个文件夹:
./aarch64-poky-linux/mdns/878.200.35-r0/
The bitbake seemed to do the compile fine, and I got content under:
~/Yocto/imx-yocto-bsp/build-wayland/tmp/work# find -iname mdns
Found lots, including this folder:
./aarch64-poky-linux/mdns/878.200.35-r0/
如helloworld教程所示:
步骤 10. 将包添加到 conf/local.conf 中的变量 IMAGE_INSTALL 并设置下一张图片的详细信息
我加了:
IMAGE_INSTALL_append="mdns"在该行之后,'CONF_VERSION' = 1"'.
As in the helloworld tutorial:
Step 10. Add package to conf/local.conf in variable IMAGE_INSTALL and set thedetails for next image
I added:
IMAGE_INSTALL_append=" mdns" after the line, 'CONF_VERSION' = "1"'.
我从我的构建目录进行了 bitbake:bitbake imx-image-multimedia
I did the bitbake from my build dir: bitbake imx-image-multimedia
在我的部署文件夹下,在~/Yocto/imx-yocto-bsp/build-wayland/tmp/deploy/images/imx8mnddr4evk/,我有imx-image-multimedia-imx8mnddr4evk-20210211215119.rootfs.wic.bz2最新时间戳为 2021/02/11(星期四)21:51:19 (0000 UTC).
Under my deploy folder, in~/Yocto/imx-yocto-bsp/build-wayland/tmp/deploy/images/imx8mnddr4evk/, I gotimx-image-multimedia-imx8mnddr4evk-20210211215119.rootfs.wic.bz2With the up-to-date timestamp of 2021/02/11 (Thurs) 21:51:19 (0000 UTC).
把它刷到我的 i.MX 8M nano 板上,它
-/lib/文件夹中没有 libdns_sd.so
- 根目录中没有/mDNSR-878.200.35 文件夹.
-find -iname mdns 没有找到 mDNSR-878.200.35;找到一屏文件.
-/mDNSR-878.200.35/mDNSPosix/build/prod/文件夹及其 8 个构建工件不在那里.
Flashing it onto my i.MX 8M nano board, it
-didn't have libdns_sd.so in the /lib/ folder
-didn't have a /mDNSR-878.200.35 folder in root.
-find -iname mdns doesn't find mDNSR-878.200.35; finds a screenful of files.
-the /mDNSR-878.200.35/mDNSPosix/build/prod/ folder with its 8 build artifactswasn't there.
然而,在bitbake主机上,发现了8个构建工件:
~/Yocto/imx-yocto-bsp/build-wayland/tmp/work/aarch64-poky-linux/mdns/878.200.35-r0/mDNSResponder-878.200.35/mDNSPosix/build/prod# ls -l
共 9452
-rwxr-xr-x 1 159200 2 月 11 日 16:07 libdns_sd.so
-rwxr-xr-x 1 239856 2 月 11 日 16:07 libnss_mdns-0.2.so
-rwxr-xr-x 1 1504904 2 月 11 日 16:07 mDNSClientPosix
-rwxr-xr-x 1 1750944 2 月 11 日 16:07 mdnsd
-rwxr-xr-x 1 1481136 2 月 11 日 16:07 mDNSIdentify
-rwxr-xr-x 1 1525392 2 月 11 日 16:07 mDNSNetMonitor
-rwxr-xr-x 1 1493112 Feb 11 16:07 mDNSProxyResponderPosix
-rwxr-xr-x 1 1511048 Feb 11 16:07 mDNSResponderPosix
However, on the bitbake host, the 8 build artifacts were found:
~/Yocto/imx-yocto-bsp/build-wayland/tmp/work/aarch64-poky-linux/mdns/878.200.35-r0/mDNSResponder-878.200.35/mDNSPosix/build/prod# ls -l
total 9452
-rwxr-xr-x 1 159200 Feb 11 16:07 libdns_sd.so
-rwxr-xr-x 1 239856 Feb 11 16:07 libnss_mdns-0.2.so
-rwxr-xr-x 1 1504904 Feb 11 16:07 mDNSClientPosix
-rwxr-xr-x 1 1750944 Feb 11 16:07 mdnsd
-rwxr-xr-x 1 1481136 Feb 11 16:07 mDNSIdentify
-rwxr-xr-x 1 1525392 Feb 11 16:07 mDNSNetMonitor
-rwxr-xr-x 1 1493112 Feb 11 16:07 mDNSProxyResponderPosix
-rwxr-xr-x 1 1511048 Feb 11 16:07 mDNSResponderPosix
我的结论是编译部分没问题,但我的 do_install 命令是错误的.
有人可以帮我改正我的食谱吗?
I concluded that the compile part was fine but my do_install command was wrong.
Can someone correct my recipe for me?
第二次尝试时,我只将配方中的 do_install() 更改为:
--------------------------------------------------------------------------------
do_install() {
安装 -t ${S} ${D}
install -d ${D}${base_libdir}
安装 -m 0755 ${S}/mDNSResponder-878.200.35/mDNSPosix/build/prod/libdns_sd.so ${D}${base_libdir}
}
--------------------------------------------------------------------------------
这是两个更改,首先从 S 复制到 D 以尝试获取mDNSResponder-878.200.35/dir 复制到目的地,然后尝试安装-m"来自 S 而不是 WORKDIR 的命令.
For my second try I changed only the do_install() in the recipe to this:
--------------------------------------------------------------------------------
do_install() {
install -t ${S} ${D}
install -d ${D}${base_libdir}
install -m 0755 ${S}/mDNSResponder-878.200.35/mDNSPosix/build/prod/libdns_sd.so ${D}${base_libdir}
}
--------------------------------------------------------------------------------
That's two changes, first copying from S to D to try to get themDNSResponder-878.200.35/ dir copied over to the destination, and then tryingthe "install - m" command from S rather than WORKDIR.
重试bitbake:bitbake imx-image-multimedia,最后提示所有 6968 个任务都不需要重新运行.
Retrying the bitbake: bitbake imx-image-multimedia, it indicated at the end thatall 6968 tasks didn't need to be rerun.
我试过:~/Yocto/imx-yocto-bsp/build-wayland$ bitbake -c clean mdns -- 得到:
注意:任务摘要:尝试了 1 个任务,其中 0 个不需要重新运行,并且一切顺利.
I tried: ~/Yocto/imx-yocto-bsp/build-wayland$ bitbake -c clean mdns -- and got:
NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be rerun andall succeeded.
~/Yocto/imx-yocto-bsp/build-wayland$ bitbake imx-image-multimedia -- 得到:
注意:任务摘要:尝试了 6968 个任务,其中 6967 个不需要重新运行并且都成功了.
它通常会闪烁并擦除一系列活动,这次是这样做的.它将剩余的部分展示出来以便研究它可能会很好.
~/Yocto/imx-yocto-bsp/build-wayland$ bitbake imx-image-multimedia -- got:
NOTE: Tasks Summary: Attempted 6968 tasks of which 6967 didn't need to be rerunand all succeeded.
It typically flashes and erases a bunch of activity, which it did this time. Itmight be nice to have that remaining displayed to be able to study it.
它没有更新任何内容:
~/Yocto/imx-yocto-bsp/build-wayland/tmp/deploy/images/imx8mnddr4evk#
不再有 mDNSResponder-878.200.35/~/Yocto/imx-yocto-bsp/build-wayland/tmp/work/aarch64-poky-linux/mdns/878.200.35-r0/.
It didn't update anything in:
~/Yocto/imx-yocto-bsp/build-wayland/tmp/deploy/images/imx8mnddr4evk#
No longer had mDNSResponder-878.200.35/ in~/Yocto/imx-yocto-bsp/build-wayland/tmp/work/aarch64-poky-linux/mdns/878.200.35-r0/ .
我试过:bitbake -c cleansstate mdns --得到:
注意:任务摘要:尝试了 2 个任务,其中 0 个不需要重新运行,并且一切顺利.
I tried: bitbake -c cleansstate mdns -- got:
NOTE: Tasks Summary: Attempted 2 tasks of which 0 didn't need to be rerun andall succeeded.
做了:~/Yocto/imx-yocto-bsp/build-wayland$ bitbake imx-image-multimedia
- 得到典型的 bitbake 输出,然后:
状态摘要:通缉 6 找到 0 错过 6 当前 2580(0% 匹配,99% 完成)
注意:任务摘要:尝试了 6968 个任务,其中 6954 个不需要重新运行并且都成功了.
这次看到了mdns和878.200.25等的do_compile
Did: ~/Yocto/imx-yocto-bsp/build-wayland$ bitbake imx-image-multimedia
-Got the typical bitbake output, then:
Sstate summary: Wanted 6 Found 0 Missed 6 Current 2580 (0% match, 99% complete)
NOTE: Tasks Summary: Attempted 6968 tasks of which 6954 didn't need to be rerunand all succeeded.
This time I saw do_compile of mdns and 878.200.25 etc.
再次有 mDNSResponder-878.200.35 在
~/Yocto/imx-yocto-bsp/build-wayland/tmp/work/aarch64-poky-linux/mdns/878.200.35-r0/.
在主机中的 mDNSPosix 中拥有构建工件:
~/Yocto/imx-yocto-bsp/build-wayland/tmp/work/aarch64-poky-linux/mdns/878.200.35-r0/mDNSResponder-878.200.35/mDNSPosix/build/prod/
自 2 月 11 日星期四以来仍然没有更新的图像~/Yocto/imx-yocto-bsp/build-wayland/tmp/deploy/images/imx8mnddr4evk/.
Again had mDNSResponder-878.200.35 in
~/Yocto/imx-yocto-bsp/build-wayland/tmp/work/aarch64-poky-linux/mdns/878.200.35-r0/.
Have the build artifacts in mDNSPosix in the host at:
~/Yocto/imx-yocto-bsp/build-wayland/tmp/work/aarch64-poky-linux/mdns/878.200.35-r0/mDNSResponder-878.200.35/mDNSPosix/build/prod/
Still don't have an updated image since Thurs Feb 11 in~/Yocto/imx-yocto-bsp/build-wayland/tmp/deploy/images/imx8mnddr4evk/ .
有人可以纠正我的食谱和我可能犯的任何其他错误吗?是我的吗do_install()?
Can someone correct my recipe and any other mistakes I may have made? Is it mydo_install()?
在我的 do_install() 中,我有:
安装 -m 0755 ${S}/mDNSResponder-878.200.35/mDNSPosix/build/prod/libdns_sd.so ${D}${base_libdir}
这是为了将其复制到 D 中的/lib/.我将如何正确地将该行写入复制到/lib/下
~/Yocto/imx-yocto-bsp/build-wayland/tmp/work/aarch64-poky-linux/用于链接到我必须在主机上构建的下一个模块?
In my do_install(), I have:
install -m 0755 ${S}/mDNSResponder-878.200.35/mDNSPosix/build/prod/libdns_sd.so ${D}${base_libdir}
which is for copying it to /lib/ in D. How would I correctly write that line tocopy it to /lib/ under
~/Yocto/imx-yocto-bsp/build-wayland/tmp/work/aarch64-poky-linux/ for use to linkto the next module I have to build on the host?
同时,我会尝试删除我的imx-image-multimedia-imx8mnddr4evk-20210211215119.rootfs.wic.bz2 并重做位烘焙.
...删除imx-image-multimedia-imx8mnddr4evk-20210211215119.rootfs .tar.bz2 和 .wic.bz2没有帮助;即使在我重新进行了上述清理和 bitbake 之后,它们也没有被重新创建.
In the meantime, I'll try deleting myimx-image-multimedia-imx8mnddr4evk-20210211215119.rootfs.wic.bz2 and redoing thebitbake.
...Deletingimx-image-multimedia-imx8mnddr4evk-20210211215119.rootfs .tar.bz2 and .wic.bz2didn't help; they didn't get recreated even after I redid the above cleans and bitbake.
最好的问候,
稍后:后续问题:Yocto 构建 mDNS 所需的 mdns.service 文件在哪里获取?
推荐答案
mDNS 版本 878.200.35 已经有一个配方:https://git.openembedded.org/meta-openembedded/tree/meta-networking/recipes-protocols/mdns/mdns_878.200.35.bb?h=zeus
There is already a recipe for mDNS version 878.200.35:https://git.openembedded.org/meta-openembedded/tree/meta-networking/recipes-protocols/mdns/mdns_878.200.35.bb?h=zeus
这篇关于如何在 Yocto 中正确构建 mDNS?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!