找回密码
 注册
关于网站域名变更的通知
查看: 507|回复: 1
打印 上一主题 下一主题

迅为-iMX6ULL开发板-移植mjpg-streamer实现远程监控

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-5-14 11:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
文章目录. o' e" m8 C( N
1 在开发板上移植ssh
( U3 Z: a0 d7 ?8 S. ]+ b6 ?2 安装ssh
( X/ q1 t! o9 F) Q% y3 生成KEY文件,并安装6 q0 e/ x8 e# P7 y9 h
4 修改目标板密钥文件9 w/ a" e! Y# Y
5 测试+ g+ D& u; W' ?8 X! R
6 在Ubuntu上搭建QT开发环境
# ~9 }; }# [" x, ^7 D6 W9 @2 H7 配置编译套件
+ o  q% ?& L$ I' [2 @, P之前我们写好一个程序,都是先交叉编译完,然后在通过nfs/tftp或者其他的方法拷贝到开发板,然后在手动执行,如果我们调试程序很频繁,那我们每次都重新拷贝到开发板,那这样就太麻烦了,有没有方便一点的办法呢,这个就是接下来我们要介绍的一种方法,一键烧写QT程序到开发板,我们只需要在qtcreater上点击一下编译,那么QT程序会自动到开发板上来运行,是不是非常的方便?" y; ]7 ~  s" x  P) H
1 在开发板上移植ssh% o, E& _+ O( Q9 _9 ~+ u2 M
要想实现一键烧写,那么我们必须就先要在开发板上移植一个ssh,本次实验我们使用的是busybox文件系统,这个文件系统并不支持ssh,所以我们要先移植一个上去。接下来,我们一起来移植一下。
! ^3 H0 l  H1 C% W& x, K- J0 L移植环境:
6 H' ~1 e" Y% x) t# D9 ~编译器保持和编译文件系统和QT的编译器一致:
3 O/ X6 k$ o+ ?4 d2 d# [- X  r: JARM-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2  H6 D& U$ ^6 p) v! q! D9 j
Ubuntu版本:Ubuntu16
' ^2 e3 o0 r, I; D5 R! n( E, r(1)移植zlib, h5 C* D) b8 J# R+ A( ~
从迅为提供的资料中拷贝“ 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.12 ~9 ?! k( h" ], U. Z1 t& [8 l

& s, o; I1 B+ z. b2 `接着使用命令“./configure --prefix=/home/ssh/ssh_install/zlib-1.2.3”,设置配置文件,# T/ R* x' T/ M5 g3 [2 K
其中–prefix=/home/ssh/ssh_install/zlib-1.2.3指定了zlib的安装路径。4 v: ^7 k* ~) y! I# E8 S
如图 1.2所示 :
6 V5 Z, _. k& X9 n, \" s( h; h& O3 g% q) E' e' Y
使用命令“ vim Makefile” 修改编译参数,将所有 gcc 修改为“ arm-none-linux-gnueabi-gcc”& z; f" o* S" O% s8 k1 V8 |/ x; e
如图 1.3所示
+ B1 j" Z% {  G1 |& {1 I- ]9 o3 a& L, g3 Z9 w0 t$ W
接着使用编译命令“make” ,如图 1.4所示
* `: A  s* X* Z! y, P* B/ _+ }# {6 W) ~1 t: c4 I* i1 Q. m8 T
执行 make 无报错后,接着使用安装命令“make install” ,如图 1.5所示
. j* }2 Q* t' a2 R& p6 \- {9 i* T; Q' E0 f, B4 {3 H
现在已经安装好了 zlib 库,在后面编译 SSH 的时候,需要用到 zlib 库,作者这里的路径是“/home/ssh/ssh_install/zlib-1.2.3” ,后面配置的时候需要对应生成的库文件,如图 1.6所示
# D) J$ {3 f; N; Z; O
9 f, S8 W6 l5 E% e: b(2)移植 openssl' `% f" ~- i2 J; N3 I6 s9 t9 y
接着来移植 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所示。6 |5 }' ]& }; B4 f
/ m# {$ o4 Z3 B5 i8 Z
接着使用命令“./Configure linux-elf-arm -DB_ENDIAN linux:‘arm-none-linux
! ], Y9 W+ m/ [- [, J0 j2 w( o-gnueabi-gcc’ --prefix=/home/ssh/ssh_install/openssl-0.9.8h” 配置编译文件,如图 1.8所示。
8 K9 m4 w# J1 ~
: s1 d; }  @4 s( o  b使用编译命令“make” 编译完成,如图 1.9所示
) p8 r; Y( w" c% T+ j( B9 A7 y# r
* z9 U$ k2 ?) G) s最后使用安装命令“make install” ,如果在安装过程提示以下错误,如图 1.10所示:. T$ ^8 h) S  h0 I+ Y7 R
' K; ~! u7 Y+ w
执行命令rm -f /usr/bin/pod2man可以解决,如图 1.11所示:3 q, u. v) L1 `5 t/ X2 P* a

$ N' s. N5 C0 t) C8 l9 l然后再次执行make install即可安装成功,如图 1.12所示:/ _9 t8 L4 ~9 h: R1 u( Q
( N  X, Q% I1 K0 D. s
(3)移植 ssh$ J1 V1 r  s- C8 x" Z2 [& Z
接着来移植 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所示
; ~( J3 |" w( N7 I6 t& `
: r3 K3 F/ ^) [$ y  v% l8 `这里看一下 ssh 的 configure 的帮助文件,如下所示,使用“ ./configure --help
7 B7 x6 \( F6 q7 L* ^  \9 Ossh 的 configure 文件中需要配置的参数
" R/ ?! t, b/ @% T–host 表示编译出来要运行的平台3 [) ]; O. r4 k9 Q7 b3 A
–with-libs 表示需要的额外的库文件;
$ H- |6 P) y; h' y0 A& ]' ?–with-zlib 表示库文件 zlib 的 instal 路径 l;
# ~7 c3 D1 v" e" L+ x/ v2 o9 H–with-ssl-dir 表示 OpenSSl 文件的 install 路径;$ G" I8 Y) U% p* A6 T
–disable-etc-default-login 表示不使用当前环境变量的编译器, 所以后面配置参数时, 最后直接配置+ I& l3 X9 @2 i: J0 {% i
CC 和 AR 这两个编译器;
( O# u( M/ i2 v% }' d1 K; gCC 表示设置使用的编译器;
9 I( \1 e0 {, qAR 表示设置使用的编译器的路径(蛮奇怪, 配置文件中似乎没有这个参数, 用户可以执* Q. M' T1 X& f) W6 [# y8 t% g$ V' @
行验证下)0 q9 i0 [2 a$ `
接着使用配置命令,命令比较长,作者使用颜色给大家分段:
' G5 A. I  h8 Y, C- f: g* @./configure --host=arm-none-linux --with-libs
9 @) _$ m2 I& G6 p–with-zlib=/home/ssh/ssh_install/zlib-1.2.3# A1 h* D. w  F5 M; Z: E+ C
–with-ssl-dir=/home/ssh/ssh_install/openssl-0.9.8h
  x# W+ C& H! ^  f* H' r, B5 l- Z–disable-etc-default-login CC=/usr/local/arm/arm-2014.05/bin/arm-none-linux-gnueabi-gcc
6 Y& D7 T: t0 k- C8 ~8 `6 \AR=/usr/local/arm/arm-2014.05/bin/arm-none-linux-gnueabi-ar
1 z2 F: {) N. ~6 o$ H" y! S& [. _如图 1.14所示:, Z. K0 j" m0 w: y0 Q& n$ u
  A+ u/ n" E# k$ [( s, O
执行成功如图 1.15所示:% y2 ~% z$ Z1 q/ q2 j

3 t8 y3 J; k, @: v- @使用编译命令“make” ,编译完成,如图 1.16所示, r1 U# z- I- e& F- {* I
1 U. ?$ r- ?# j/ K. E* ?4 I
编译完成,最后肯定是需要安装到开发板上的,如图 62.6.1.17所示。最后在目录下
- f3 \/ w7 S, Y& D5 _“/home/ssh/openssh-4.6p1” 有这几个二进制文件“scp 、 sftp 、 ssh、 sshd、7 g) c3 D5 H4 `9 F
ssh-add、 ssh-agent、 ssh-keygen、 ssh-keyscan” 需要安装到开发板上。最终编译出来的二进制文件,可以使用 file 命令查看文件属性,如下图所示, 使用命令“file scp” ,可以看到“scp” 文件是 32 位 ARM上使用的可执行文件% j3 q" t! D& d
$ N  y/ |0 K% v6 B! U
  • TA的每日心情
    开心
    2023-6-2 15:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2021-5-20 10:31 | 只看该作者
    666                                                   
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-2 22:24 , Processed in 0.093750 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表