树莓派三代是32位系统的,四代是64位系统的,所以我们安装镜像时要看清楚是树莓派几代的,多少位系统的。树莓派4B是64位系统,我所使用的是树莓派4B,这里安装Ubuntu18.04.
好像Ubuntu16.04太早就不维护更新了,就没有64位系统了。
提一句:虚拟机下载的是后缀为.iso的镜像,树莓派烧录的是.img的镜像
本文所需的资料在下:
链接: https://pan.baidu.com/s/1uEpgTqhBcbfkRSCyFHRXkQ?pwd=6666提取码:6666
树莓派3B以下 Ubuntu16.04 MATE镜像地址: https://releases.ubuntu-mate.org/archived/16.04/armhf/ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img.xz
各个虚拟机Ubuntu操作系统资源列表:https://releases.ubuntu-mate.org/
这里选用树莓派官方烧录软件:Raspberry Pi Imager
https://www.raspberrypi.com/software/
当我们下载安装好了烧录软件之后,我们把TF内存卡通过读卡器插入电脑。
依次点击选择SD卡,选择操作系统
如果你的tf卡的格式不是FAT32的或者不是空白的,需要先进行格式化,选择擦除之后,点击烧录就可以格式化内存卡了!
选择镜像系统下载位置
对树莓派烧录软件进行初步设置,添加ssh,和配置WiFi账号密码,方便后面联网配置ROS1
主机名字随便起,勾选ssh
写你自己的WiFi的名称和密码
点击保存,然后烧录,等待就行!
因为烧录软件的存在bug的原因,烧录后的网络配置的密码会变成其他编码格式,我们要对文件进行一定的修改。
将WiFi名字和密码改成自己的,保存退出。
非常重要的一点:
如果这时候直接插入TF卡启动树莓派,系统会报错:缺少启动文件
$ start4.elf: is not compatible
$ This board requires newer software
因此需要在github上面下载最新的启动文件来替换旧的启动文件,地址:https://github.com/raspberrypi/rpi-firmware
把下图 .dat和 .elf 共16个文件复制替换掉TF卡上面的文件即可。
第一次启动后,键入用户名(在烧录软件中设置的,我这里的是pi),输入密码。然后等待ssh的登录信息。然后就可以关掉了重启了(就是拔掉电源再插上,哈哈哈哈哈哈哈)
第一次启动网络连接是不正常的,很大可能ping不通网址,重启之后就会变正常了。
ifconfig
ping www.baidu.com
使用ROS的rviz, gazebo等仿真工具,需要桌面图形环境。桌面安装就是和报错做斗争的过程了
sudo apt-get upgrade
报错:
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
尝试关闭进程
sudo killall apt apt-get
报错:
apt: no process found
apt-get: no process found
修改以下部分:
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a
sudo apt update
完成以上设置基本就可以安装Ubuntu桌面了
sudo apt-get install ubuntu-desktop
这里推荐使用鱼香ros的一键安装ros和depc,比较省事。
wget http://fishros.com/install -O fishros && . fishros
依照提示,快速安装ROS,这里推荐安装ROS1,因为Ubuntu18.04和ROS1比较适配。
使用一下语句可以测试ros是否安装成功
roscore
启动小海龟节点
rosrun turtlesim turtlesim_node
启动海龟位置控制节点
rosrun turtlesim turtle_teleop_key