Yocto
Yocto系列讲解[入门篇] 1 - 快速入门熟悉Yocto的构建
Yocto系列讲解[入门篇] 2 - 演示运行qemux86-64虚拟机
Yocto系列讲解[理论篇] 3 - meta layer recipe class概念介绍
Yocto系列讲解[入门篇] 4 - 创建自己的meta layer
Yocto系列讲解[入门篇] 5 - 在meta-mylayer中添加helloworld recipe
Yocto系列讲解[理论篇] 6 - yocto是什么,学习它不难
Yocto系列讲解[实战篇] 7 - 开发工具devtool实操(创建新项目helloyocto)
Yocto系列讲解[实战篇] 8 - 开发工具devtool实操(添加git项目learnyocto)
Yocto系列讲解[实战篇] 9 - devtool验证并将learnyocto添加到meta-mylayer中
Yocto系列讲解[实战篇] 10 - 在qemux86机器运行时安装程序
Yocto系列讲解[实战篇] 11 - 在qemux86机器运行时卸载删除程序
Yocto系列讲解[实战篇]12 - 修改开源项目的代码(1)
Yocto系列讲解[技巧篇]13 - devtool修改workspace目录位置
Yocto系列讲解[技巧篇]14 - devtool edit-recipe命令(编辑bb文件命令)
本文档使用 MrDoc 发布
-
+
首页
Yocto系列讲解[实战篇] 10 - 在qemux86机器运行时安装程序
### devtool deploy-target命令 使用devtool deploy-target命令可以将recipe的构建的do_install任务中安装的所有文件直接输出部署到运行着的目标机器上,目标机器上面需要运行ssh服务。  > 注意:部署目标功能仅用于开发。您永远不要使用它来更新将在生产中使用的映像。 结合我们的qemux86-64平台,先运行系统,然后将上次安装到系统中的learnyocto程序删除: build]$ runqemu qemux86-64 ... runqemu - INFO - Network configuration: ip=192.168.7.2::192.168.7.1:255.255.255.0 ... 在另外一个shell终端上登录,并删除learnyocto: $ ssh root@192.168.7.2 root@qemux86-64:~# rm /usr/bin/learnyocto 为了演示我们正常的开发流程,我先在项目的main函数里面加一条打印: build]$ vim workspace/sources/learnyocto/main.c #include <stdio.h> int main (int argc, char **argv) { printf ("[develop branch]Hello Yocto!\n"); printf ("[develop branch]learn devtool deploy-target\n"); return 0; } /* ----- End of main() ----- */ 编译: $ devtool build learnyocto 编译通过后,想看实际修改的效果,还是每次要调用`devtool build-image`命令来生成目标镜像,然后再运行吗?No! ### 在线部署 我们今天学习一个新的方法,使用devtool deploy-target命令,将我们的recipe要安装的文件等直接部署到运行的机器中去,参考下面先将其部署到用户根目录下看看: build]$ devtool deploy-target learnyocto root@192.168.7.2:~/ $ ssh root@192.168.7.2 root@qemux86-64:~# ls -l usr/bin/ -rwxr-xr-x 1 root root 23512 Oct 24 02:55 learnyocto root@qemux86-64:~# ./usr/bin/learnyocto [develop branch]Hello Yocto! [develop branch]learn devtool deploy-target #后面加的一个打印 root@qemux86-64:~# 可见其执行程序已经部署到机器上了。这个部署的过程有点像是将下面目录: build]$ ls workspace/sources/learnyocto/oe-workdir/image/usr/ 复制到了板子上了。 正常部署时,目标路径应该是系统根目录,如下: build]$ devtool deploy-target learnyocto root@192.168.7.2:/ #另一个shell终端中: root@qemux86-64:~# learnyocto [develop branch]Hello Yocto! [develop branch]learn devtool deploy-target #后面加的一个打印 root@qemux86-64:~# ### 部署失败的情况 有些情况下部署会失败: 1. 需要部署程序正在运行,或者库被依赖使用中 2. 目标机器上没有没有安装应用程序所依赖的库或者其他程序 该命令不会自动部署程序依赖的其他库和程序
admin
2024年2月5日 15:39
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码