大家好,又见面了,我是你们的朋友全栈君。
前记
最近项目需要,需要给树莓派4B 安装Ubuntu mate,本来是一件很简单的事情,因为Ubuntu mate官网已经开始支持树莓派4B了,但是实际操作后,才发现烧录官方的桌面系统,树莓派无法启动,而放在树莓派3B 上面就可以完美运行。但是项目还是得继续,所以花了点功夫折腾了一下,完成任务之后,记录一下过程。
网上的树莓派4B 安装Ubuntu mate的很多教程,但是实际上只是改了标题,内容还是3B 的安装过程,根本行不通,这也算是一篇技术文档,分享一下。
一、直接安装Ubuntu mate
时代在进步,软件在更新,为了不失一般性,所以先说一下正常的安装流程,说不定等你看到这篇文章的时候,直接就可以安装了,不用那么折腾。当然试了之后就算不行,也不复杂,不妨先做一下,如果成功可以节省很多时间。
1.1 下载镜像
去Ubuntu mate官网下载所需镜像
官网地址:Ubuntu mate官网
根据需要选择版本,然后选择需要的系统。
推荐使用迅雷。
1.2 格式化SD卡
等系统下好之后,安装系统之前不妨先把SD卡格式化一下。
这里使用的工具是SDFormatter
插上SD卡之后,软件会自动识别SD卡盘符,你只需要点击格式化按钮,等待格式化成功就行了,这个过程很快,一般几秒就能完成.
1.3 烧录系统
格式化SD卡之后,接下来就是激动人心的烧录阶段了。
这里使用的软件是Win32DiskImager软件。
同样,等你插上SD卡之后,他会自动识别Device,此时的你只需要点击红色方框,选择之前下载好的镜像文件,然后点击Write
就行了.这里花费的时间会长一点,耐心等待即可.
1.4 插卡上电
系统全部烧录完成之后,接下来就是上电开机了.
把卡插上树莓派,连接屏幕,如果能够点亮屏幕,那烧录工作你就成功了.剩下的就是点击鼠标选择,完整安装Ubuntu mate,相信大家都会的.
如果没有显示器,你也可以看看系统指示灯,正常情况下,开机绿灯亮几下,会转入短时间闪烁,如果不亮,那就是没有启动成功,不过最好还是接一下显示器更加方便。
如果你能启动,那么恭喜你,你将省去人生中很长一段时间,如果不成功,那也没什么,工科生不怕折腾.
二、间接安装Ubuntu mate
间接安装的过程稍微麻烦一点,不过也不是很麻烦,看懂了,加上网速快,很快也能搞定。
2.1 安装Ubuntu Server
官网地址:Ubuntu mate下载
选择红色方框里面的点击下载就可以了。
至于烧录系统,跟前面的一样,这里不再赘述。
这里再提一点,很多文章或者教程都会说在这个时候,在SD卡根目录建什么文件夹,复制粘贴什么的,如果你看不懂,建议新手直接跳过,不影响。
2.2 登录换源
2.2.1 更改账号密码
首先,成功启动之后,是没有图像界面的,只有命令行模式。没有接触过命令行的朋友可能会有点懵,但是其实也很简单的。
首先是输入账户和密码,都是ubuntu
。
然后系统会让你改密码,但是不能再用Ubuntu
或者123456
这种,否则系统会让你重新设置。
一切搞定之后,你就可以使用Ubuntu了,不过仍然是命令行的,还有一些工作需要做。
2.2.2 换源
首先你要连接网线,保证有网,联网需要登录的不行,最好通过电脑网口共享网络,稍微有一点麻烦,也就是设置共享,感兴趣可以查一下相关教程,实在不行的话留言。如果在家里,找一个插上网线就能上网的路由器就行了。 先执行一下以下命令
代码语言:javascript复制sudo apt-get update
当然,正常情况下,你会失败。因为默认的源是在英国,访问不了。
此时输入
代码语言:javascript复制sudo vi /etc/apt/sources.list
三、安装桌面
换完源之后,我们的树莓派就可以顺利的访问互联网了。
命令行
代码语言:javascript复制sudo apt-get install ubuntu-mate-desktop
一句命令就行了。
然后输入命令进行重启
代码语言:javascript复制sudo reboot
重启完成之后,就安装完成了
注意事项
在每次开机之后,会有个5分钟的等待时间,这是因为安装时连接了网络,所以系统被自动设置成连接路由器自动通过DHCP来获取ip地址完成上网。但是由于网络断开,他会有个重连过程,等待时间为5分钟。
解决方法
进入系统后修改文件/etc/systemd/system/network-online.target.wants/networking.service
打开终端,输入命令
代码语言:javascript复制sudo vi /etc/systemd/system/network-online.target.wants/networking.service
找到TimeoutStartSec=5min
修改为TimeoutStartSec=2sec
这样就可以完美解决了。
四、安装ROS
4.1 添加源
添加ROS源
代码语言:javascript复制sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
注意: 有些人可能在安装ROS的时候,因为源的问题出现安装失败,这里给出ROS的几个国内源地址,选择自己喜欢的源复制到终端执行,添加即可。 USTC:
代码语言:javascript复制sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
Tsinghua University
代码语言:javascript复制sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
Beijing Foreign Studies University
代码语言:javascript复制sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.bfsu.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
Shanghai Jiao Tong University
代码语言:javascript复制sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.sjtug.sjtu.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
4.2 添加密钥 (可能会过期,有问题可以留言)
代码语言:javascript复制sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
如果您在连接到密钥服务器时遇到问题,可以尝试用上一个命令替换hkp://pgp.mit.edu:80或hkp://keyserver.ubuntu.com:80
。(一般不用)
另外,您可以使用curl而不是apt-key命令,如果您位于代理服务器后面,则可能会有所帮助:(一般不用)
代码语言:javascript复制 curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -
注意: 有时候可能会出现密钥失效的情况,可以留言或直接访问ROS官网解决。
4.3 安装
4.3.1 首先更新一下
代码语言:javascript复制sudo apt update
4.3.2 安装的不同版本
ROS根据不同需求提供安装选择,你自己可以看安装哪一种。
- 桌面完整版安装(推荐新手安装这个) : 包括ROS, rqt, rviz, 机器人通用库, 2D/3D simulators and 2D/3D perception
sudo apt install ros-melodic-desktop-full
然后问你是否安装时,点击Y
就行了,剩下的交给网络,如遇失败,重复执行就行了。剩下的同理。
- 桌面安装: 包括ROS, rqt, rviz, 和机器人通用库
sudo apt install ros-melodic-desktop
- ROS-Base: (Bare Bones) 包括ROS 包, build和通信库。没有GUI工具。
sudo apt install ros-melodic-ros-base
4.4 安装各种常用工具
代码语言:javascript复制sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
4.5 初始化rosdep
代码语言:javascript复制sudo rosdep init
rosdep update
五、测试
5.1 运行小乌龟仿真
打开三个终端窗口,每个分别运行一下三条命令:
代码语言:javascript复制roscore
代码语言:javascript复制rosrun turtlesim turtlesim_node
代码语言:javascript复制rosrun turtlesim turtle_teleop_key
此时出现窗口,使能最后一个终端,移动方向键,小乌龟开始移动。自此完成所有安装工作。
如有问题请留言,相互交流,共同学习。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142070.html原文链接:https://javaforall.cn