Linux 确保XMODEM忠实地传输文件
我使用XMODEM将二进制文件从Ubuntu VM传输到嵌入式Linux目标,如下所示:Linux 确保XMODEM忠实地传输文件,linux,xmodem,Linux,Xmodem,我使用XMODEM将二进制文件从Ubuntu VM传输到嵌入式Linux目标,如下所示: $ sudo screen /dev/ttyUSB0 115200 $ rx test CTRL-A: 现在,“test”传输成功了,但是当我在VM和目标上检查它时,我得到以下结果: VM:Size=22938字节 目标:大小=23040字节 此外,目标上的权限也会减少 这是为什么?我如何确保传输的文件与源文件相同?XMODEM以128字节块传输,因此文件将始终填充到下一个128字节边界。YMODEM
$ sudo screen /dev/ttyUSB0 115200
$ rx test
CTRL-A:
现在,“test”传输成功了,但是当我在VM和目标上检查它时,我得到以下结果:
- VM:Size=22938字节
- 目标:大小=23040字节
这是为什么?我如何确保传输的文件与源文件相同?XMODEM以128字节块传输,因此文件将始终填充到下一个128字节边界。YMODEM和ZMODEM在协议中包含文件大小,并且可以传输正确的字节数,但是如果您仅限于XMODEM,我建议使用
tar
在主机上包装文件,这将对文件大小和排列进行编码,然后在目标上对其进行解压缩tar
可能会抱怨多余的填充字节,但它仍然可以工作。谢谢,这很有用。现在我只需要解决如何在Busybox配置中启用解压缩TAR!如果您的busybox配置有tar
,但不支持gzip或bzip,则不需要它们。只需在VM端使用tar-cvf files.tar二进制文件
,在目标端使用tar-xvf files.tar
。作为奖励,您可以在其中打包任意数量的文件。但是如果文件很大,您可能需要启用压缩(-z
或-j
选项)。
$ exec !! sx -b test