zoukankan      html  css  js  c++  java
  • 迅为-iMX6ULL开发板-移植mjpg-streamer实现远程监控

    文章目录
    1 在开发板上移植ssh
    2 安装ssh
    3 生成KEY文件,并安装
    4 修改目标板密钥文件
    5 测试
    6 在Ubuntu上搭建QT开发环境
    7 配置编译套件
    之前我们写好一个程序,都是先交叉编译完,然后在通过nfs/tftp或者其他的方法拷贝到开发板,然后在手动执行,如果我们调试程序很频繁,那我们每次都重新拷贝到开发板,那这样就太麻烦了,有没有方便一点的办法呢,这个就是接下来我们要介绍的一种方法,一键烧写QT程序到开发板,我们只需要在qtcreater上点击一下编译,那么QT程序会自动到开发板上来运行,是不是非常的方便?
    1 在开发板上移植ssh
    要想实现一键烧写,那么我们必须就先要在开发板上移植一个ssh,本次实验我们使用的是busybox文件系统,这个文件系统并不支持ssh,所以我们要先移植一个上去。接下来,我们一起来移植一下。
    移植环境:
    编译器保持和编译文件系统和QT的编译器一致:
    arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
    Ubuntu版本:Ubuntu16
    (1)移植zlib
    从迅为提供的资料中拷贝“ zlib-1.2.3.tar.gz” 到 Ubuntu 系统,使用命令“ tar -vxf zlib-1.2.3.tar.gz” 解压,得到“zlib-1.2.3” 文件夹,使用命令“cd zlib-1.2.3” 进入“ zlib-1.2.3”文件夹,如图 1.1

    接着使用命令“./configure --prefix=/home/ssh/ssh_install/zlib-1.2.3”,设置配置文件,
    其中–prefix=/home/ssh/ssh_install/zlib-1.2.3指定了zlib的安装路径。
    如图 1.2所示 :

    使用命令“ vim Makefile” 修改编译参数,将所有 gcc 修改为“ arm-none-linux-gnueabi-gcc”
    如图 1.3所示

    接着使用编译命令“make” ,如图 1.4所示

    执行 make 无报错后,接着使用安装命令“make install” ,如图 1.5所示

    现在已经安装好了 zlib 库,在后面编译 SSH 的时候,需要用到 zlib 库,作者这里的路径是“/home/ssh/ssh_install/zlib-1.2.3” ,后面配置的时候需要对应生成的库文件,如图 1.6所示

    (2)移植 openssl
    接着来移植 openssl 库,拷贝“openssl-0.9.8h.tar.gz” 到 Ubuntu 系统,使用命令“tar -vxf openssl-0.9.8h.tar.gz” 解压,得到“openssl-0.9.8h” 文件夹,使用命令“cd openssl-0.9.8h”进入“openssl-0.9.8h” 文件夹,如图 1.7所示。

    接着使用命令“./Configure linux-elf-arm -DB_ENDIAN linux:‘arm-none-linux
    -gnueabi-gcc’ --prefix=/home/ssh/ssh_install/openssl-0.9.8h” 配置编译文件,如图 1.8所示。

    使用编译命令“make” 编译完成,如图 1.9所示

    最后使用安装命令“make install” ,如果在安装过程提示以下错误,如图 1.10所示:

    执行命令rm -f /usr/bin/pod2man可以解决,如图 1.11所示:

    然后再次执行make install即可安装成功,如图 1.12所示:

    (3)移植 ssh
    接着来移植 openssh, 拷贝“ openssh-4.6p1.tar.gz” 到 Ubuntu 系统,使用命令“ tar -vxfopenssh-4.6p1.tar.gz” 解压,得到“openssh-4.6p1” 文件夹,使用命令“cd openssh-4.6p1/” 进入“openssh-4.6p1” 文件夹,如图 1.13所示

    这里看一下 ssh 的 configure 的帮助文件,如下所示,使用“ ./configure --help
    ssh 的 configure 文件中需要配置的参数
    –host 表示编译出来要运行的平台
    –with-libs 表示需要的额外的库文件;
    –with-zlib 表示库文件 zlib 的 instal 路径 l;
    –with-ssl-dir 表示 OpenSSl 文件的 install 路径;
    –disable-etc-default-login 表示不使用当前环境变量的编译器, 所以后面配置参数时, 最后直接配置
    CC 和 AR 这两个编译器;
    CC 表示设置使用的编译器;
    AR 表示设置使用的编译器的路径(蛮奇怪, 配置文件中似乎没有这个参数, 用户可以执
    行验证下)
    接着使用配置命令,命令比较长,作者使用颜色给大家分段:
    ./configure --host=arm-none-linux --with-libs
    –with-zlib=/home/ssh/ssh_install/zlib-1.2.3
    –with-ssl-dir=/home/ssh/ssh_install/openssl-0.9.8h
    –disable-etc-default-login CC=/usr/local/arm/arm-2014.05/bin/arm-none-linux-gnueabi-gcc
    AR=/usr/local/arm/arm-2014.05/bin/arm-none-linux-gnueabi-ar
    如图 1.14所示:

    执行成功如图 1.15所示:

    使用编译命令“make” ,编译完成,如图 1.16所示

    编译完成,最后肯定是需要安装到开发板上的,如图 62.6.1.17所示。最后在目录下
    “/home/ssh/openssh-4.6p1” 有这几个二进制文件“scp 、 sftp 、 ssh、 sshd、
    ssh-add、 ssh-agent、 ssh-keygen、 ssh-keyscan” 需要安装到开发板上。最终编译出来的二进制文件,可以使用 file 命令查看文件属性,如下图所示, 使用命令“file scp” ,可以看到“scp” 文件是 32 位 ARM上使用的可执行文件

  • 相关阅读:
    Redis学习笔记-安装篇(Centos7)
    图片上传预览方式,了解下?
    Angular中依赖注入方式的几种写法
    Javascript实现打开或退出浏览器全屏
    从头开始学Web开发—CSS_01
    JavaScript DOM知识 (一)
    javascript中的scroll事件
    javascript中继承的实现
    认识Javascript中的作用域和作用域链
    javascript中的闭包
  • 原文地址:https://www.cnblogs.com/liyue3/p/14767861.html
Copyright © 2011-2022 走看看