![](https://img-blog.csdnimg.cn/20201203213539977.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0p1bjYyNg==,size_16,color_FFFFFF,t_70)
上面是我的微信和QQ群,欢迎新朋友的加入。
现在我已经自己编译过uboot、kernel和rootfs了。遇到一个比较麻烦的事情,拷贝文件需要插拔SD卡。
考虑的之后开发的便捷性,准备实现rz sz方式的数据传输.
1.修改内核配置
把设备树和默认配置更换为核心板厂家提供的
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j4
打印启动时间
![](https://img-blog.csdnimg.cn/20191104225154250.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0p1bjYyNg==,size_16,color_FFFFFF,t_70)
开启网络驱动
![](https://img-blog.csdnimg.cn/20191104225243400.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0p1bjYyNg==,size_16,color_FFFFFF,t_70)
编译
![](https://img-blog.csdnimg.cn/20191104225421832.png)
2.配置网络连接
更新编译出来的内核,和设备树文件
![](https://img-blog.csdnimg.cn/20191104225721590.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0p1bjYyNg==,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20191104225806821.png)
查看电脑端ip
![](https://img-blog.csdnimg.cn/20191104225956988.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0p1bjYyNg==,size_16,color_FFFFFF,t_70)
设置开发板IP
ifconfig eth0 up
ifconfig eth0 192.168.1.163
尝试ping通电脑
![](https://img-blog.csdnimg.cn/20191104230054249.png)
尝试ping通开发板
![](https://img-blog.csdnimg.cn/20191104230125147.png)
这里问题应该不大了
3.下载rz/sz源码
https://ohse.de/uwe/software/lrzsz.html
![](https://img-blog.csdnimg.cn/20191104230310941.png)
4.编译rz/sz源码
解压源码
![](https://img-blog.csdnimg.cn/20191104230446543.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0p1bjYyNg==,size_16,color_FFFFFF,t_70)
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- CFLAGS=-O2 ./configure
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j4
![](https://img-blog.csdnimg.cn/20191104230625464.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0p1bjYyNg==,size_16,color_FFFFFF,t_70)
打开src目录,可以看到生成了可执行文件
![](https://img-blog.csdnimg.cn/20191104231006551.png)
5.更新文件系统
将可执行文件拷贝到文件系统usr/sbin目录下
![](https://img-blog.csdnimg.cn/20191104231301811.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0p1bjYyNg==,size_16,color_FFFFFF,t_70)
重新生成文件系统镜像
genext2fs -b 131072 -d rootfs/ ramdisk
gzip -9 –f ramdisk
mkimage -A arm -O linux -T ramdisk -C none -a 0x81800000 -n "ramdisk" -d ramdisk.gz ramdisk.img
![](https://img-blog.csdnimg.cn/20191104231459176.png)
更新开发板的文件系统
6.测试
![](https://img-blog.csdnimg.cn/20191104233628111.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0p1bjYyNg==,size_16,color_FFFFFF,t_70)
现在编译好的可执行文件已经在板子里面了
重新配置网络连接,确定网络正常
![](https://img-blog.csdnimg.cn/20191104233823143.png)
进入root目录,准备测试
![](https://img-blog.csdnimg.cn/20191104233839282.png)
在电脑端做一个测试文件
![](https://img-blog.csdnimg.cn/20191104233927902.png)
输入lrz
![](https://img-blog.csdnimg.cn/20191104234815988.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0p1bjYyNg==,size_16,color_FFFFFF,t_70)
可以看到已经拷贝到了设备上
![](https://img-blog.csdnimg.cn/20191104234837813.png)
![](https://img-blog.csdnimg.cn/20191104234848405.png)
尝试导出文件,修改测试文件
![](https://img-blog.csdnimg.cn/20191104234944518.png)
输入lsz juntest.c
![](https://img-blog.csdnimg.cn/20191104235038398.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0p1bjYyNg==,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20191104235044343.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0p1bjYyNg==,size_16,color_FFFFFF,t_70)