Linux上实现树莓派的交叉编译及文件传输,远程登(2)

发现这是个文本文件,内容为libc-2.13.so 根据之前的经验,libc.so.6应该是指向libc-2.13.so 而编译器默认使用libc.so.6 但实际应该使用libc-2.13.so ,只需要把libc-2.13.so重命名为libc.so.6即可(先备份libc.so.6文本文件).

再次编译如下

Linux上实现树莓派的交叉编译及文件传输,远程登

问题同上,只需修改ld-linux-armhf.so.3中指定的ld-2.13.so文件的名字为ld-linux-armhf.so.3即可

再次编译已无报错

Linux上实现树莓派的交叉编译及文件传输,远程登

在源文件路径下可以看到生成的可执行文件,注意需要copy到树莓派上执行

Linux上实现树莓派的交叉编译及文件传输,远程登

5.在树莓派上执行可执行文件

5.1安装filezilla

由于条件限制,树莓派不能联网,也不能使用U盘,只有Ubuntu主机可以上网.之前尝试过在Ubuntu主机安装vsftpd,树莓派ftp 主机ip 来传输文件,结果发现树莓派系统没有安装ftp指令.最终使用filezilla软件实现Ubuntu和树莓派的文件传输.

我是使用.deb 安装,需要手动安装几个依赖库,Ubuntu14.04 64位的filezilla链接如下https://pkgs.org/ubuntu-14.04/ubuntu-universe-amd64/filezilla_3.7.3-1ubuntu1_amd64.deb/download/

条件允许可以直接在线安装,Ubuntu 12.10下安装FileZilla 3.5.3

查看Ubuntu 是32位还是64位可以用命令

1

 

uname -a

 

如果出现x86_64是amd64位,出现i686(其它系统可能i386)是32位

我的64位ubuntu如下

5.2 copy hellowd可执行文件

树莓派和Ubuntu PC分别通过网线连接到交换机(或者路由器),如果树莓派外接液晶屏可以直接在树莓派操作,否则可以通过putty软件在PC远程登陆树莓派操作,然而putty需要知道树莓派的ip地址

使用路由器的可以在浏览器上路由器地址里查询树莓派的ip

有显示屏的可以在树莓派上命令行查看ip

1

 

ifconfig

 

无显示屏查看ip 和 树莓派和PC直连参考  参考  

获取到了树莓派的ip后,例如我的是192.168.2.46 可以用filezilla传输文件到树莓派

Host填树莓派ip: 192.168.2.46

Username: pi

Password:raspberry (默认的密码)

Port:22

点击Quickconnect连接成功

右键hellowd文件,add files to queue添加到传输队列

下方传输队列右键process queue处理队列,完成传输.刷新可以看到右侧树莓派已经有hellowd文件

Linux上实现树莓派的交叉编译及文件传输,远程登

5.3执行hellowd

树莓派外接显示屏可以直接cd到hellowd路径,然后./hellowd执行

也可以在PC上通过putty登陆树莓派执行

Linux上实现树莓派的交叉编译及文件传输,远程登

默认登录名pi 密码raspberry 密码不会显示,输入完直接回车,输错可以backspace删除

Linux上实现树莓派的交叉编译及文件传输,远程登

需要改权限使hellowd可被树莓派执行,执行如下

可以看到与程序预期一致,交叉编译成功

在树莓派液晶屏上终端效果如下:

Linux上实现树莓派的交叉编译及文件传输,远程登

scrot是一个截图软件,可以在树莓派上截图,链接:https://packages.debian.org/jessie/scrot

用uname -a查看树莓派架构为armhf,安装相应版本即可.

关于scrot的使用,可以scrot --help查看

-------------------------------------------------------更新分割线--------------------------------------------------------------------

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14938.html