admin管理员组

文章数量:1563235

备注:该文章提到的从物理机还原到虚拟机的方法适用于多人共享物理机环境时使用,且ISO文件无法正常完成启动的情况下(本人就无法通过网上那些systemback大于4GB的sblive转换为ISO文件正常完成系统还原)

目录

  • 环境准备
  • 一、 虚拟机安装原始Ubuntu系统(制作系统启动盘)
    • 1、 下载iso文件
    • 2、 按照如下流程,加载iso到虚拟机
    • 3、 开启后会自动开始安装流程,等待进度条加载结束进入系统即可。
  • 二、 制作系统启动盘
    • 1、 安装systemback
    • 2、 将sblive文件放入根目录(/home)下
    • 3、 打开systemback
  • 三、启动盘启动 安装系统
    • 1、 删除原虚拟机
    • 2、 添加U盘设备
    • 3、 进入虚拟机BIOS
    • 4、 通过+、-号调整启动顺序
    • 5、 重启虚拟机
    • 6、 选择第二项
    • 7、 等待启动
    • 8、虚拟机设置
  • 四、 虚拟环境启动方法及代码修改方法

环境准备

仿真环境:PX4+Gazebo+ROS(MAVROS)
Ubuntu18.04原生系统ISO及附带环境的sblive文件下载链接:

链接:https://share.weiyun/gCeVnPf3 密码:e8xmum (原链接失效)请采用新地:https://share.weiyun/Rh5vzfVu
主目录文件包下载链接:链接:https://share.weiyun/kKKHWP6o 密码:pq4ib4
虚拟机环境:VMware Workstation 15.0 PRO以上(测试使用的是16.0 PRO版本)
提前准备一个无用(或者没有数据)的U盘(空间最好大于8GB)

一、 虚拟机安装原始Ubuntu系统(制作系统启动盘)

1、 下载iso文件

2、 按照如下流程,加载iso到虚拟机




之后一直确定即可。

3、 开启后会自动开始安装流程,等待进度条加载结束进入系统即可。

二、 制作系统启动盘

1、 安装systemback

(Ctrl+ALT+T打开终端,终端复制Ctrl+Shift+C,终端粘贴Ctrl+Shift+V)

删除源:

sudo add-apt-repository --remove ppa:nemh/systemback

添加源:

sudo add-apt-repository "deb http://ppa.launchpad/nemh/systemback/ubuntu xenial main"

添加签名

sudo apt-key adv --keyserver keyserver.ubuntu --recv-keys 382003C2C8B7B4AB813E915B14E4942973C62A1B

更新并安装:

sudo apt-get update
sudo apt-get install systemback -y(由于缺少依赖项会安装时间比较长)

2、 将sblive文件放入根目录(/home)下

(可以直接从本机传输到虚拟机,安装插件即可拖动)

直接从本地拖拽进当前用户home目录下(需要安装插件虚拟机会自动提示,发生错误多试几次,虚拟机管道传输文件会有可能发生文件错误)

然后执行如下命令:

cd ~
sudo mv systemback_live_2021-01-26.sblive /home/systemback_live_2021-01-26.sblive

3、 打开systemback

选择创建live系统,插入准备制作启动盘的U盘,预计至少需要16GB容量的U盘。

在本机下载UltraISO
打开后插入U盘,点击“写入硬盘映像”

点击格式化

完成后点击便捷启动 如下选择:

打开systemback:

sudo systemback

按照下方流程完成操作
① 插入U盘

② 选择Live system create

③ 制作启动盘
(截图有误 大小应该为5.91GiB)
等待完成即可。

三、启动盘启动 安装系统

1、 删除原虚拟机

(如果想留也可以留着)

新建空白虚拟机(硬盘大小根据情况调整 建议大于50GB 内存建议大于4GB)否则3D仿真环境运行会比较卡顿



之后一直下一步即可

2、 添加U盘设备

(执行此步前插入刚制作好的启动盘)



之后一直确认即可。

3、 进入虚拟机BIOS

在黑屏进度条阶段按住F2

4、 通过+、-号调整启动顺序

如下图所示顺序(记住原来的启动顺序,后面有用)。F10保存退出并重启虚拟机。

5、 重启虚拟机

6、 选择第二项

(乱码原因是原系统使用了中文)等待1~2秒后Enter键进入到如下界面(输入密码)

7、 等待启动

输入相关信息 建议用户名不要太复杂 后面需要进系统修改

对sda磁盘进行分区 分区结果建议如下:

(截图有误,正确分区如下:
sda1 /boot 1000MB sda2 / 30000MB sda3 SWAP 4000GB sda4 /home 剩下空间,安装Grub2引导程序选择Auto)

下一步,开始安装,如下所示为安装成功,拔出U盘,重新执行第三步,恢复启动顺序

8、虚拟机设置

移除U盘设备,启动虚拟机(启动可能比原生系统慢点)

四、 虚拟环境启动方法及代码修改方法

使用roslaunch及VSCode

首先安装VMware Tools 虚拟机会提示安装,如未提示,右击选项卡,点击安装VMware Tools即可。

下载主目录文件包,将文件包内文件全部拖拽到主目录中,如下所示:

首次启动终端,查看上方状态,如果出现如下提示

修改文件.bashrc,执行命令:

sudo nano ~/.bashrc

修改框选区域等号后面内容为~/PX4/Firmware

修改完重开虚拟终端,看到如下为正确:

执行命令:roslaunch px4 mavros_posix_sitl.launch
若出现如下报错

执行命令:source catkin_ws/devel/setup.bash
如果启动正常会自动打开gazebo 3D仿真环境
此时还有可能出现如下错误,因为虚拟机无法调用GPU,所以需要屏蔽GPU调用

执行命令:sudo nano ~/.bashrc
在下图框选区域添加: export SVGA_VGPU10=0

重新执行roslaunch px4 mavros_posix_sitl.launch,出现如下界面证明仿真环境没有问题

在此环境下可以打开QGC地面站,尝试通过IP地址连接无人机,可以实现地面站对无人机的控制
打开地面站前配置~/.bashrc文件:
执行命令ifconfig获取虚拟机IP地址:

执行命令sudo nano ~/.bashrc修改IP

双击主目录AppImage打开即可

以下为修改调试PX4代码方法,打开左侧收藏夹的VScode
在配置正确情况下打开后已经默认开启PX4的文件夹了,如果没有开启按照下图指引打开:

选择~/PX4/Firmware目录
打开后,VScode会提示C/C++ extension出问题 此时直接点击尝试修复,会自动完成修复引导(联网情况下才可能自动修复)
为了防止突破VScode最大查看限制,退出VScode,执行:

sudo nano /etc/sysctl.conf

在文件末尾添加:

fs.inotify.max_user_watches=524288

保存后退出
执行sudo sysctl -p
重新开启VScode
如果代码出现报错,但右下角没有任何错误提示,需要尝试多次重启VScode或者关闭虚拟机,增加内存和CPU核心数,重启虚拟机以提高link的速度

PX4代码修改和调试具体教程:
https://docs.px4.io/master/zh/modules/hello_sky.html

附环境配置教程链接:https://blog.csdn/weixin_43568893/article/details/104533500

本文标签: 镜像虚拟机物理环境方法