openEuler下移植ROS Melodic运行时环境

任务动机:在openEuler下移植ROS Melodic运行时环境,为openEuler研发ROS repo创建原型。

任务描述:在openEuler下分步骤手工编译安装ros-comm,ros-desktop和ros-destopfull,由于openEuler 20.03 LTS暂不支持桌面,因此gui相关的ros包安装本任务略过。

1. 环境

操作系统版本:openEuler 20.03 LTS

内核版本:4.19.90-2003.4.0.0036

硬件:raspberrypi4+16G SSD

最新镜像

openEuler 20.03 LTS 的内测版本镜像,下载

openEuler 20.03 + ROS Melodic Desktopfull + SLAM + Navigation raspberrypi4镜像,下载。提取码781g

刷镜像(第2条命令可能不自动跳出终止,不影响使用。拷贝完成的标志是15G的分区能访问,且已有文件。已验证)

$ sudo umount /dev/sdb1 /dev/sdb2 /dev/sdb3
$ gzip -dc openeuler.gz | sudo dd of=/dev/sdb
$ cat ~/.bashrc
source /root/devel_isolated/setup.bash
source /root/ws/devel/setup.bash                         #gmapping
source /root/ws1/devel/setup.bash                        #navigation
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64   

export ROS_MASTER_URI=http://127.0.0.1:11311
export ROS_HOSTNAME=127.0.0.1

该镜像的基本信息:

2. openEuler安装和配置

2.1 实验环境

  • Windows10/Linux/Mac
  • 树莓派 3B/3B+/4B
  • 16G 以上的 Micro SD 卡

2.2获取树莓派 img 镜像

下载适配树莓派的最新 openEuler 镜像,下面以 XXX.img 表示该镜像。

2.3 刷机操作

Windows 环境

2.3.1 格式化 SD 卡

下载应用:SDFormater,用于格式化 SD 卡。

若 SD 卡之前未安装过镜像,盘符正常只有一个,选择 SD 卡对应盘符,直接格式化即可;

若 SD 卡之前安装过镜像,盘符会有三个,选择 SD 卡对应盘符(图例中为 E: 盘),格式化即可:

2.3.2 写入 SD 卡

  • 下载应用:Win32 Disk Imager。
  • 右键选择“以管理员身份运行”,打开 Win32 Disk Imager,选择镜像 img 文件和待写入的 SD 卡,点击【写入/Write】。

写入完成即可。

写入成功后,SD 卡自动分区后的盘符为:

2.4 树莓派配置

版本要求:树莓派 3B/3B+/4B。

默认用户名:root,密码:openeuler。

将刷好的 SD 卡插入树莓派,通电启用。树莓派正常启动,还需连接网线至局域网。

由于使用树莓派时,大多都使用 ssh 远程连接;在树莓派启动联网时,无法得知其 IP 地址。

有以下两种方式:

  1. 如果树莓派连接已知路由器,可登录路由器管理,新增的 IP 即为树莓派 IP:

  1. 将树莓派连接显示器,需注意,树莓派视频输出接口为 Micro HDMI

连接显示器后,直接用户名/密码登录,登录成功后,树莓派即显示本机相关信息,包括本机 IP。如下图(ssh 登录也显示这些信息):

配置无线网络

$ nmtui

添加用户

$ useradd -d /home/xbot -m xbot
$ passwd xbot

2.4.1 根目录分区扩展

默认根目录分区空间比较小,在使用之前,需要对分区进行扩容。

2.4.1.1 查看磁盘分区信息

fdisk -l

获取 SD 卡磁盘信息,例如 SD 卡对应磁盘为 /dev/mmcblk0。openEuler 镜像包括 3 个分区,分别为

  • 引导分区 /dev/mmcblk0p1
  • 交换分区 /dev/mmcblk0p2
  • 根目录分区 /dev/mmcblk0p3

这里我们需要将根目录分区进行扩容。

2.4.1.2 分区扩容

2.4.1.2.1 操作磁盘 /dev/mmcblk0

fdisk /dev/mmcblk0

2.4.1.2.2 查看当前分区情况

p

记录下分区 /dev/mmcblk0p3 的起始扇区号,这里记为 xxx

2.4.1.2.3 删除分区 /dev/mmcblk0p3

d

2.4.1.2.4 选择要删除的分区序号

回车(默认为 3)或 输入 3

2.4.1.2.5 创建新的分区

n

2.4.1.2.6 选择创建分区类型

回车(默认为 p)或 输入 p

2.4.1.2.7 选择要创建的分区序号

回车(默认为 3)或 输入 3

2.4.1.2.8 输入新分区的起始扇区号(下图为1593344)

注意!!!不要直接输入回车或使用默认参数。这是需要输入删除分区 /dev/mmcblk0p3 之前查看到的的起始扇区号。

xxx,上图是16G的SSD,/dev/mmcblk0p3的起始扇区为1593344

2.4.1.2.9 输入新分区的终止扇区号

回车

取默认的最后一个扇区号。

2.4.1.2.10 是否修改扇区标记

N

不修改。

2.4.1.2.11 保存并退出

w

该操作结束后,使用 fdisk -l 命令可以看到 /dev/mmcblk0p3 大小已经扩展。但是通过 df -lh 可以看到根目录大小没有变化。

2.4.1.2.12 增大未加载的文件系统大小

resize2fs /dev/mmcblk0p3

如果该命令失败,可通过命令 reboot 重启树莓派之后再执行 resize2fs /dev/mmcblk0p3

该操作结束后,通过 df -lh 可以看到根目录大小已经扩展。

至此,根目录分区扩容结束。扩容过程见下图:

3. ROS安装准备

3.1 设置repo

后续安装需要两个repo来回切换,需要编辑如下文件

$ vim /etc/yum.repos.d/openEuler-20.03-LTS.repo
  1. 设置成 oe-repo的内容
[eveything]
name=everything
baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS/everything/$basearch
enabled=1
gpgcheck=0

[epol]
name=epol
baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS/EPOL/$basearch
enabled=1
gpgcheck=0

[fedora29]
name=fed
baseurl=http://mirrors.aliyun.com/fedora/releases/29/Everything/aarch64/os/
enabled=0
gpgcheck=0
  1. 设置成 fed-repo的内容
[eveything]
name=everything
baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS/everything/$basearch
enabled=0
gpgcheck=0

[epol]
name=epol
baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS/EPOL/$basearch
enabled=0
gpgcheck=0

[fedora29]
name=fed
baseurl=http://mirrors.aliyun.com/fedora/releases/29/Everything/aarch64/os/
enabled=1
gpgcheck=0

3.2 设置/etc/hosts

添加raw.githubusercontent.com中国镜像站点(镜像站点IP会经常更新)

$ vim /etc/hosts
151.101.76.133      raw.githubusercontent.com 

3.3 添加pip镜像站点

$ mkdir ~/.pip
$ vim ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

3.4 OVERRIDE操作系统信息

$ export ROS_OS_OVERRIDE=centos:7.6

4. 安装ROS

官方源码安装指导

4.1 安装依赖

  1. 设置成 oe-repo,安装如
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值