嵌入式Linux能克隆,嵌入式Linux移植rz和sz命令

rz、sz是Linux/Unix 同Windows 进行ZModem 文件传输的命令行工具,windows 端需要支持ZModem 的telnet/ssh 客户端,例如:SecureCRT。

运行命令rz,即是接收文件,SecureCRT就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到当前目录 (默认使用二进制方式传送),运行命令sz …(可以同时传送 多个文件)就是发文件到windows上。

rz、sz 传输文件是通过串口进行传输,传输速率较慢,只适用于小文件的传输。

1、下载rzsz源码包

http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz

我在网上尝试找了一下,没有找到下载文件。感兴趣的可以自己去尝试下载源码。这里百度rzsz 源码下面可以下载到

如果在Linux系统命令行下,可以使用wget 命令进行下载。

wget http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz wget http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz

2、解压rzsz 文件。

使用tar xvzf 命令进行解压。使用-C选项可以解压到指定目录下

[root@codeMonkey rzsz]# tar xvzf rzsz-3.48.tar.gz -C /root/ARM/

解压完成后可以在解压的目录中看到一个src 的文件。

3、修改Makefile 文件。

将第3行和第4行修改成如下所示:

CC=arm-linux-gcc

OFLAG= -O -DREGISTERED -static

第3行的意思是指定交叉编译器,第4行的意思是去掉"UNREGISTERED COPY"提示,并且使用静态编译。

注意:这里一定要指定静态编译!

因为第一次我并没有加-static 选项,编译出来的命令下载到根文件系统的/usr/bin 目录中。执行rz 命令的时候,系统提示找不到该命令!移植的Linux系统一般是没有移植库文件的,所以动态编译出来的程序会提示找不到。这也间接的证明了Linux系统下的编译默认是使用的动态编译。

关于静态编译和动态编译的区别,请自行搜索!这里不再解释,也可以参考:

397c61f15a7f736df29e04bb93f48612.png

4、执行make posix 生成可执行程序。

424c9a06b947edd1d97b2b01604754a5.png

使用ls 命令进行查看

可以发现生成了很多可执行文件,如rz、sz、sx 等。

5、将生成的可执行文件复制到根文件系统的/usr/bin目录下

使用cp 命令进行赋值

[root@codeMonkey src]# cp gz rb rc rx rz sb sx sz zcommand zcommandi ../../rootfs/usr/bin

6、下载到开发板中运行。

Linux系统启动成功后,执行rz 命令进行文件的传输。

[root@MINI2440 /]# rz

rz ready. Type "sz file ..." to your modem program

Starting zmodem transfer.  Press Ctrl+C to cancel.

Transferring test.txt...

Transferring test.txt...

rz 3.48 01-27-98 finished.

这里我传输了一个test.txt 文件。如果执行rz 命令后能出现下面的图,应该就没有什么问题。

d8b55f2a563a59e8c9936c2143ce3c8e.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值