嵌入式应用开发环境

虚拟机工具

VirtualBox

VirtualBox 6.1.30: https://www.fujieace.com/virtualbox/oracle-vm-download-install-windows.html

虚拟机

安装完成后, 若apt包下载速度较慢, 可考虑更换源, https://blog.csdn.net/fx_yzjy101/article/details/124901416

Ubuntu 22.04

Ubuntu 22.04: https://blog.csdn.net/fx_yzjy101/article/details/123921383

Ubuntu 18.04

Ubuntu 18.04: https://blog.csdn.net/smartvxworks/article/details/107538407

连接工具

远程连接软件也相当多,像ssh、mobaxterm等

MobaXterm

MobaXterm: https://blog.csdn.net/xuanying_china/article/details/120080644

文件传输

SFTP

ftp文件传输工具众多,此处仅介绍了FileZilla工具的使用,像SSH、MobaXterm都是较好的工具。
FileZilla 客户端是一个快速可靠的、跨平台的FTP,FTPS和SFTP客户端。下载地址https://www.filezilla.cn/download/client

此处介绍针对于Ubuntu系统, 使用也非常简单,填写主机地址、用户、密码、端口(默认为22)即可使用,如下图所示:
image.png
能够正常连接需要服务端正常开启SSH服务
查看是否安装了ssh-server服务,默认只安装了ssh-client
dpkg -l | grep ssh
image.png
安装ssh-server服务
sudo apt install openssh-server
安装完成后查看是否安装完成
image.png
查看服务是否启动(默认已经开启)
sudo systemctl status sshd
image.png
可通过修改ssh配置文件,变更端口等设置,配置文件在/etc/ssh/sshd_config
image.png
可通过如下命令对ssh服务进行启停以及状态查询, sudo systemctl status sshd

文件夹共享

环境: VirtualBox6.1 Ubuntu18.04

适用于在Windows上编辑代码, 在Ubuntu中编译调试的场景。若代码修改非常频繁,通过ftp客户端传输效率低下,使用文件夹共享即可省略传输这一步,编辑完成后直接在Ubuntu中直接编译调试。注意:因为是Windows和Ubuntu共享,文件其实只有一份,所以在任何一端删除文件,另一端也会被删除。如果担心此情况发生,可以在共享时设置“只读”,但相应地在其中一端将失去编辑的权限,后续会涉及。

在VirtualBox主界面选择指定的虚拟机,再点击菜单栏中的“设置”按扭。
image.png
进入设置界面后,选择共享文件夹,在右侧会出现现有的共享文件夹列表,可新增、编辑和删除。
image.png
新增和编辑页面内容相同,如下:
image.png

  • 共享文件夹路径:Windows系统中文件夹所在路径
  • 共享文件夹名称:在VirtualBox这个配置界面的列表中显示的名称
  • 只读分配:分配后在Ubuntu系统中只能读取,不能进行新增、编辑和删除
  • 自动挂载:Ubuntu系统启动(配置修改后是否需要重启请参考挂载点部分说明)后会自动挂载Windows系统中的文件夹到Ubuntu系统中,若未勾选,Ubuntu系统启动或者重启后也不会挂载,需要使用命令手动挂载,命令是mount -t vboxsf sharing /home/aaron-clark-aic/mycode
  • 挂载点:文件夹存放在Ubuntu系统中的路径,在配置界面配置(或者修改)后,若Ubuntu系统中改后的文件夹存在,会将该内容挂载到该文件夹下(无需重启),改前的文件夹以及其下的文件会被隐藏,以后再改成其它文件夹后会再次显示。若改后的文件夹不存在,则会映射一个文件夹并挂载该内容,修改后则会取消挂,若未自动挂载, 可尝试重启虚拟机
  • 固定分配:勾选则表示固定分配(重启虚拟机后,此配置还存在),不勾选则表示临时分配(重启虚拟机后,此配置不存在,需要重新设置)

进入Ubuntu系统后,可能会遇到无权限访问该文件夹的情况,使用ll指令查看发现文件夹所有者是root,用户组是vboxsf,可以使用将当前用户加入vboxsf用户组的方法解决

cat /etc/group //查看所有组,每行意义->组名:密码:组ID:该用户组中的用户列表(以,分隔) 
usermod -a -G vboxsf wh //将已有用户添加至指定用户组
groups //查看当前登录用户的组内成员
groups test //查看test用户所在的组,以及组内成员
whoami //查看当前登录用户名
chgrp -R modbustest // chgrp [-R] dirname //更改文件夹所属组

主机与虚拟机网络互通:

  1. 主机访问虚拟机
    方案一:VirtualBox端口映射: https://zhuanlan.zhihu.com/p/358704138
    方案二:Host-Only:http://t.zoukankan.com/james641-p-13409084.html
  2. 虚拟机访问主机, 通过NAT可直接访问主机ip,例192.168.2.176

可能遇到的问题

Ubuntu22.04

  1. virtualbox 共享文件夹不能共享

https://blog.csdn.net/wodekelene/article/details/124045331
image.png
安装增强功能,完成后可以不使用如下指令即可自动完成挂载

sudo mount -t vboxsf share ~/share/     //挂载
sudo umount -t vboxsf share ~/share/    //取消挂载

1.1 virtualbox“安装增强功能”报错
https://www.fujieace.com/virtualbox/linux-ubuntu-install-enhancements.html
1.2“安装增强功能”不能自动弹出的问题
https://blog.csdn.net/m0_65188455/article/details/124599745
1.3安装包速度太慢的问题(变更apt源)
https://blog.csdn.net/fx_yzjy101/article/details/124901416
2 安装系统或者启动系统时遇到Kernel Panic
https://blog.csdn.net/ramondq/article/details/125081827

Ubuntu18.04

  1. 遇到gcc/g++安装时的版本不对的问题
    系统安装完成后,记得一定先将apt包的源更新为阿里云

  2. 遇到/usr/bin/aarch64-linux-gnu-ld: /usr/lib/gcc-cross/aarch64-linux-gnu/7/liblto_plugin.so: error loading plugin: /usr/lib/gcc-cross/aarch64-linux-gnu/7/liblto_plugin.so: wrong ELF class: ELFCLASS64
    https://www.thinbug.com/q/52121510
    很可能是没有安装binutils-aarch64-linux-gnu这个包

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值