0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

米尔瑞米派Remi Pi Ubuntu系统移植指南

米尔电子 2024-04-29 08:01 次阅读

1.概述

Linux系统平台上有许多开源的系统构建框架,这些框架方便了开发者进行嵌入式系统的构建和定制化开发,目前比较常见的有Buildroot, Yocto, OpenEmbedded等等。

同时更多的传统的桌面系统也加入到嵌入式环境体系中,如Ubuntu,debian等,为嵌入式提供更方便实用的系统。本文主要介绍基于ubuntu22.04 core和米尔核心板定制一个完整的嵌入式ubuntu22.04系统的完整流程,其中包括开发环境的准备,ubuntu22.04系统的获取与移植, LXDE轻量级桌面管理等。

本文档并不包含Linux BSP系统相关基础知识的介绍,将直接使用米尔发布的myir-image-full提供的的BSP。如需了解BSP文件的制作请查看《Remi Pi_Linux软件开发指南》

1.1.软件资源

Remi Pi使用的Ubuntu系统基于ubuntu-base-22.04-base-arm64.tar.gz版本制作(下载地址如下),在此版本基础上添加了丰富的系统资源和其他软件资源。

Ubuntu Base 22.04.2 LTS (Jammy Jellyfish)

表1-1.资源列表

功能项

文件名

Ubuntu22.04 base

ubuntu-base-22.04-base-arm64.tar.gz

启动管理

Xinit

网络管理

network-manager

network-manager-gnome

⾳频管理

xine

视频播放器

xine

注意:米尔提供的ubuntu系统的登录名为:root 密码为:123456

2.开发环境准备

基于ubuntu base系统在开发过程中所需的一些软硬件环境,包括必要的开发主机环境,必备的软件工具,代码和资料的获取等,具体的准备工作下面将进行详细介绍。

2.1.开发主机环境

本节将介绍如何搭建适用于瑞萨Remi Pi平台的开发环境,该平台使用的RZ/G系列处理器是多核异构的处理器,RZ/G2L拥有两个2个ARM Cortex A53。通过阅读本章节,您将了解相关硬件工具,软件开发调试工具的安装和使用。并能快速的搭建相关开发环境,为后面的开发和调试做准备。

主机硬件

整个SDK包项目的构建对开发主机的要求比较高,要求处理器具有双核以上CPU,8GB以上 内存,100GB硬盘或更高配置。可以是安装Linux系统的PC或服务器,也可以是运行Linux系统的虚拟机,Windows系统下的WSL2等。

主机操作系统

一般选择在安装Fedora, openSUSE, Debian, Ubuntu, RHEL或者 CentOS等Linux发行版的本地主机上进行,这里推荐的是Ubuntu22.04 64bit桌面版系统,后续开发也是以此系统为例进行介绍。

安装必备软件包

基础软件包请查看《Remi Pi_Linux软件开发指南》进行安装,这里只需安装一个软件包即可。

PC@system1:~$ sudo apt-get updatePC@system1:~$ sudo apt-get install qemu-user-static

3.Ubuntu22.04 文件系统移植

3.1.简介

ubuntu-base 是Ubuntu官方构建的ubuntu最小文件系统,包含debain软件包管理器,基础包大小通常只有几十兆,其背后有整个ubuntu软件源支持,ubuntu软件一般稳定性比较好,基于ubuntu-base按需安装Linux软件,深度可定制等,常用于嵌入式rootfs构建。

嵌入式常见的几种文件系统构建方法:busybox、yocto、buildroot,但Ubuntu方便,强大的包管系统,有强大的社区支持,可以直接apt-get install来安装新软件包。本文介绍了如何基于Ubuntu-base构建完整的ubuntu 系统。ubuntu支持很多架构,arm、X86、powerpc、ppc等,本文主要基于arm为例,构建一个较为完整的ubuntu系统。

3.2.获取源码

我们提供两种获取源码的方式,一种是直接从米尔光盘镜像04-sources目录中获取压缩包,另外一种是使用wget获取位官方的上源码进行构建,请用户根据实际需要选择其中一种进行构建。

3.2.1.通过wget获取源码

具体操作方法如下:

PC@system1:~$ sudo wget https://cdimage.ubuntu.com/ubuntu-base/releases/22.04/release/ubuntu-base-22.04-base-arm64.tar.gz

创建rootfs目录,然后将下载的ubuntu-base-22.04-base-arm64.tar.gz压缩包解压到rootfs目录下:(用户请根据自己实际路径和目录操作)

PC@system1:~$ mkdir rootfsPC@system1:~$ tar -xf ubuntu-base-22.04.1-base-arm64.tar.gz -C rootfs/

解压出的目录内容如下:

PC@system1:~$ tree -d -L 1 rootfs
ubuntu_rootfs
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── snap
├── srv
├── sys
├── tmp
├── usr
└── var

3.3.准备chroot环境

3.3.1.安装interwetten与威廉的赔率体系

PC@system1:~$ cp /usr/bin/qemu-aarch64-static ./rootfs/usr/bin/


(如果主机没有安装qemu-user-static工具包,可输入以下命令安装工具包)

PC@system1:~$ sudo apt install qemu-user-static

拷贝主机 DNS 配置文件到 arm 架构 Ubuntu 文件系统内(必须拷贝,否则可能会导致下面操作无法进行)。

PC@system1:~$ cp /etc/resolv.conf ./rootfs/etc/resolv.conf


3.3.2.制作挂载脚本

将下列脚本代码拷贝到ch-mount.sh文件中,并改变权限(777)为可执行。

PC@system1:~$ vi ch-mount.sh #!/bin/bashfunction mnt() {echo "MOUNTING"sudo mount -t proc /proc ${2}procsudo mount -t sysfs /sys ${2}syssudo mount -o bind /dev ${2}devsudo mount -o bind /dev/pts ${2}dev/pts sudo chroot ${2}}function umnt(){echo "UNMOUNTING"sudo umount ${2}procsudo umount ${2}syssudo umount ${2}dev/ptssudo umount ${2}dev}if [ "$1" == "-m" ] && [ -n "$2" ] ;thenmnt $1 $2elif [ "$1" == "-u" ] && [ -n "$2" ];thenumnt $1 $2elseecho ""echo "Either 1'st, 2'nd or bothparameters were missing"echo ""echo "1'st parameter can be one ofthese: -m(mount) OR -u(umount)"echo "2'nd parameter is the full pathof rootfs directory(with trailing '/')"echo ""echo "For example: ch-mount -m/media/sdcard/"echo ""echo 1st parameter : ${1}echo 2nd parameter : ${2}fi

3.4.安装包文件

3.4.1.挂载系统

首先使用ch-mount.sh将ubuntu文件系统挂载。

PC@system1:~$ ./ch-mount.sh -m ./rootfs/MOUNTINGroot@system1:/#root@system1:/# lsbin dev home media opt root sbin sys usrboot etc lib mnt proc run srv tmp var

挂载成功即可配置ubuntu文件系统与安装一些必要的软件。

3.4.2.基础包安装

可根据需要自行安装下列包文件,推荐全部安装。(请按照顺序安装,避免安装时出错)

root@system1:/# chmod 777 /tmp (避免update时失败)root@system1:/# apt updateroot@system1:/# apt-get install language-pack-zh-hant language-pack-zh-hansroot@system1:/# apt install language-pack-en-baseroot@system1:/# apt install dialog rsyslogroot@system1:/# apt install systemd avahi-daemon avahi-utils udhcpc ssh(必备安装)root@system1:/# apt install sudoroot@system1:/# apt install vimroot@system1:/# apt install net-toolsroot@system1:/# apt install ethtoolroot@system1:/# apt install ifupdownroot@system1:/# apt install iputils-pingroot@system1:/# apt install htoproot@system1:/# apt install lrzszroot@system1:/# apt install gpiodroot@system1:/# apt install wpasupplicantroot@system1:/# apt install kmodroot@system1:/# apt install iwroot@system1:/# apt install usbutilsroot@system1:/# apt install memtesterroot@system1:/# apt install alsa-utilsroot@system1:/# apt install ufwroot@system1:/# apt install psmisc

添加log,用户调试ubuntu系统的调试

root@system1:/# touch /var/log/rsyslogroot@system1:/# chown syslog:adm /var/log/rsyslogroot@system1:/# chmod 666 /var/log/rsyslogroot@system1:/# systemctl unmask rsyslogroot@system1:/# systemctl enable rsyslog

安装网络和语言包支持

root@system1:/# apt-get install synapticroot@system1:/# apt-get install rfkillroot@system1:/# apt-get install network-managerroot@system1:/# apt install -y --force-yes --no-install-recommends fonts-wqy-microheiroot@system1:/# apt install -y --force-yes --no-install-recommends ttf-wqy-zenhei

3.4.3.桌面系统的安装

LXDE桌面系统安装

root@system1:/# apt-get install xinitroot@system1:/# apt-get install lxde

浏览器和音频安装

root@system1:/# sudo apt install epiphany-browserroot@system1:/# sudo apt install xine-ui

3.4.4.创建用户

设置root密码: 123456

root@system1:/# passwd rootEnter new UNIX password:Retype new UNIX password:passwd: password updated successfully

可删除root用户密码登录

root@system1:/# passwd -d root

一定要执行下面的指令,不然会sudo报错sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set

root@system1:/# chown root:root /usr/bin/sudoroot@system1:/# chmod 4755 /usr/bin/sudo

创建一个用户名为:myir 密码为:123456

root@system1:/# adduser myirperl: warning: Setting locale failed.perl: warning: Please check that your locale settings:LANGUAGE = (unset),LC_ALL = (unset),LC_TIME = "zh_CN.UTF-8",LC_IDENTIFICATION = "zh_CN.UTF-8",LC_TELEPHONE = "zh_CN.UTF-8",LC_NUMERIC = "zh_CN.UTF-8",LC_ADDRESS = "zh_CN.UTF-8",LC_NAME = "zh_CN.UTF-8",LC_MONETARY = "zh_CN.UTF-8",LC_PAPER = "zh_CN.UTF-8",LC_MEASUREMENT = "zh_CN.UTF-8",LANG = "zh_CN.UTF-8"are supported and installed on your system.perl: warning: Falling back to the standard locale ("C").Adding user `myir' ...Adding new group `myir' (1000) ...Adding new user `myir' (1000) with group `myir' ...Creating home directory `/home/myir' ...Copying files from `/etc/skel' ...Enter new UNIX password:Retype new UNIX password:passwd: password updated successfullyChanging the user information for myirEnter the new value, or press ENTER for the defaultFull Name []: cy Room Number []: 604Work Phone []:Home Phone []:Other []:Is the information correct? [Y/n] y

设置权限

sudo vi /etc/sudoersroot ALL=(ALL:ALL) ALLmyir(根据自己添加的用户来添加) ALL=(ALL:ALL) ALL

上面添加用户的时候,中间出现的警告可使用下列命令:

root@system1:/# export LC_ALL=C

3.4.5.其他配置

设置hosts和主机名称,添加127.0.0.1 myir

root@system1:/# vi /etc/hosts


清空hostname文件内容,添加myir(根据实际添加的用户名来添加)

root@system1:/# vi /etc/hostname


修改passwd文件

root@system1:/# vi /etc/passwd找到这一行:_apt100:/nonexistent:/usr/sbin/nologin修改为:_apt0:/nonexistent:/usr/sbin/nologin

创建链接文件(一定要执行,不然执行二进制可执行程序时会报错)

root@system1:/# ln -s /lib /lib64

配置网卡接口,添加如下内容

root@system1:/# vi /etc/network/interfacesauto eth0iface eth0 inet dhcp

3.4.6.卸载系统

以上步骤操作完成后即可卸载系统。直接在系统中输入exit退出系统,并使用命令来卸载

root@system1:/# exitexitPC@system1:~$PC@system1:~$ ./ch-mount.sh -u ubuntu-rootfs/UNMOUNTING

至此ubuntu 文件系统已经配置完成。

3.5.ubuntu系统打包

3.5.1.制作ext4格式文件

根据以上步骤已经制作好了ubuntu-rootfs文件系统,此时要将它制作成.ext4格式的文件,用于刷写到开发板中。

PC@system1:~$ dd if=/dev/zero of=ubuntu22.04.ext4 bs=1M count=3300

请用户根据实际情况来决定大小,这里以3.3G大小举例制作。

PC@system1:~$ mkfs.ext4 ubuntu22.04.ext4

创建一个临时目录temp,然后将ubuntu22.04.ext4文件挂载

PC@system1:~$ mkdir tempPC@system1:~$ sudo mount ubuntu22.04.ext4 temp

将ubuntu-rootfs目录中的内容复制到挂载的文件系统中,然后卸载。

PC@system1:~$ sudo cp -avrf ubuntu-rootfs/* tempPC@system1:~$ sudo umount temp

3.5.2.制作SD启动镜像

先将下载资源的03_Tools/myir tools目录下的RemiPi_SDUpdate.tar.bz2解压到虚拟机中(用户请根据自己实际情况解压)

PC@system1:~$ tar -xf RemiPi_SDUpdate.tar.bz2PC@system1:~$ cd RemiPi_SDUpdate/renesas-sdPC@system1:~/RemiPi_SDUpdate/renesas-sd$ lsimage README.md rzg2_bsp_scripts fat16 output rootfs

把打包好的ubuntu22.04文件系统替换到rootfs/home/root/g2l_images目录

PC@system1:~/RemiPi_SDUpdate/renesas-sd/rootfs/home/root/g2l_images$ tree -L 1.├── DDR_1G├── Image├── Manifest├── mys-rzg2l-sdcard.dtb├── mys-rzg2l-wifi.dtb└── ubuntu22.04.ext41 directory, 5 files

修改Manifest文件

PC@system1:~/RemiPi_SDUpdate/renesas-sd/rootfs/home/root/g2l_images$ cat Manifestbl2file="bl2_bp-myir-remi-1g_pmic.bin"fipfile="fip-myir-remi-1g_pmic.bin"imagefile="Image"dtbfile="*.dtb"rootfsfile="ubuntu22.04.ext4"ledname="162"

修改自己实际路径的配置,这个请参考《RemiPi_Linux 软件开发指南》4.3章节,修改myir_config.ini配置文件,将里面的路径修改成自己实际的路径。

最后进入到下面目录,执行制作镜像的脚本即可。

PC@system1:~/RemiPi_SDUpdate/renesas-sd$ cd rzg2_bsp_scripts/image_creator/PC@system1: ~/RemiPi_SDUpdate/renesas-sd/rzg2_bsp_scripts/image_creator$ ./create_image.sh myir_config.ini

烧录步骤请参考《RemiPi_Linux 软件开发指南》中4.2章节。

4.认识LXDE

4.1.LXDE介绍

LXDE是一个轻量级和快速的桌面环境。它被设计为用户友好和占用资源少,同时保持资源使用率低。LXDE使用更少的内存和CPU来尽可能地展现功能丰富的桌面环境。与其它的桌面环境不同,LXDE努力成为模块化的桌面环境,所以每个组件可以独立使用。这使得移植LXDE不同分布和平台更容易。

LXDE包含多个核心组件,可用于桌面环境下来管理整个系统资源。主要组件如下:

LXPanel:这是LXDE的面板系统,类似于GNOME的GNOME Panel或KDE的Kicker。它提供了快速访问应用程序、系统工具、文件夹和剪贴板的方式。

LXSession:这是LXDE的会话管理器,它负责启动和终止LXDE桌面环境。

LXDE-OpenBox:这是一个窗口管理器,提供窗口布局和导航。LXDE使用OpenBox作为其默认的窗口管理器。

PCManFM:这是一个轻量级的文件管理器,提供文件和目录的浏览、复制、移动、删除等操作

除了这些核心组件外,LXDE还有其他一些辅助工具,如LXAppearance(用于更改主题和图标)、LXTask(任务管理器)等。

4.2.启动LXDE

开机启动后,可手动输入密码123456登录,或者在串口终端执行(startx /usr/bin/lxsession -s LXDE &)命令进行登录,如图4-1:

a59fca84-05bb-11ef-9118-92fbcf53809c.png图4-1:lxde登录界面

登录成功后,由于默认背景是黑色的,可以点击鼠标右键后选择Desktop Preferences->Appearance->Wallpaper(/usr/share/lxde/wallpapers/lxde_blue.jpg)来选择背景图片,如图4-2:

a5c0d0d0-05bb-11ef-9118-92fbcf53809c.png图4-2:lxde背景图片修改

背景图片修改成功,如图4-3:

a5f4b120-05bb-11ef-9118-92fbcf53809c.png图4-3:lxde背景图片


米尔瑞米派 Remi Pi

瑞萨第一款MPU生态板卡,兼容树莓派扩展模块

采用瑞萨RZ/G2L工业级处理器,便于企业客户产品开发;

Remi Pi兼容树莓派所有配件,方便产品原型搭建和创新应用;

更多的工业接口,兼顾开发、学习和实际应用;

软件系统丰富,支持Debian/Ubuntu/Linux等。

a5fab08e-05bb-11ef-9118-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5086

    文章

    19143

    浏览量

    306095
  • Linux
    +关注

    关注

    87

    文章

    11319

    浏览量

    209830
  • 米尔电子
    +关注

    关注

    0

    文章

    110

    浏览量

    468
收藏 人收藏

    评论

    相关推荐

    米尔-兼容树莓扩展模块-试用体验】基于ROS系统的三麦轮小车自主导航

    1、前言 非常感谢myir和电子发烧友举办的米尔Remi Pi开发板的试用活动。作为一名研
    发表于 04-16 22:51

    米尔-兼容树莓扩展模块-试用体验】初始开发板_米尔-兼容树莓扩展模块

    收到米尔-兼容树莓扩展模块几天了,今天抽时间给大家介绍一下这块生态板,让大家有对这块米尔
    发表于 04-29 11:42

    米尔-兼容树莓扩展模块-试用体验】用视频来了解这块生态板_米尔-兼容树莓扩展模块

    今天为大家展示一下初始开发板_米尔-兼容树莓扩展模块, 米尔-
    发表于 04-29 11:51

    米尔-兼容树莓扩展模块-试用体验】米尔Remi Pi系统与Ethercat移植

    米尔** Remi Pi** 萨第一款MPU
    发表于 04-29 12:04

    实时系统与EtherCAT移植-米尔Remi Pi

    米尔 Remi Pi萨第一款MPU生态板
    发表于 04-30 18:14

    米尔-兼容树莓扩展模块-试用体验】测试安装VNC远程桌面

    今天测试一下收到的这块米尔-兼容树莓扩展模块来安装VNC远程桌面。 先简单介绍一下这块板卡: 超高性价比的RZ/G2L工业级处理器
    发表于 05-13 11:19

    米尔-兼容树莓扩展模块-试用体验】值得拥有的米尔-兼容树莓派生态板

    今天为大家介绍一块米尔出的精致生态开发板-米尔-兼容树莓扩展模块。 超高性价比的RZ
    发表于 05-13 11:28

    Ubuntu系统移植指南-米尔RemiPi

    的myir-image-full提供的的BSP。如需了解BSP文件的制作请查看《Remi Pi_Linux软件开发指南》。1.1. 软件资源Remi
    发表于 05-24 20:03

    米尔集聚5种操作系统,兼顾学习开发和项目产品需要的

    米尔电子发布的萨第一款MPU生态板卡-Remi P
    发表于 07-05 17:26

    领万元大奖!米尔电子Remi Pi 创意秀

    创意秀、Remi Pi米尔电子、树莓
    发表于 09-02 14:58

    米尔- Remi Pi 创意秀】 01 - 开发环境搭建

    使用。 这里wsl2就是我的服务器(没钱专门搞台服务器),PC主要是使用 MobaXterm作为工作台与交互,主要是通过串口和网口的形式。 wsl2 端参考米尔的文档配置好了交
    发表于 09-27 21:29

    米尔电子和萨电子推出首款MPU生态开发板

    近日,米尔电子和萨电子共同定义和开发了萨第一款MPU生态开发板——
    的头像 发表于 01-25 09:21 1128次阅读

    米尔更新面向工业产品的软件系统-基于Remi Pi

    米尔电子发布的萨第一款MPU生态板卡——Remi
    的头像 发表于 03-15 18:25 896次阅读
    <b class='flag-5'>米尔</b>更新面向工业产品的软件<b class='flag-5'>系统</b>-基于<b class='flag-5'>瑞</b><b class='flag-5'>米</b><b class='flag-5'>派</b>(<b class='flag-5'>Remi</b> <b class='flag-5'>Pi</b>)

    领万元大奖!米尔电子Remi Pi 创意秀

    大赛简介为鼓励工程师勇于创新探索的精神,提升实践动手能力,更深度的体验产品,米尔电子联合萨共同发起“
    的头像 发表于 08-30 11:48 362次阅读
    领万元大奖!<b class='flag-5'>米尔</b>电子<b class='flag-5'>Remi</b> <b class='flag-5'>Pi</b> <b class='flag-5'>瑞</b><b class='flag-5'>米</b><b class='flag-5'>派</b>创意秀

    领万元大奖!米尔电子Remi Pi 创意秀

    为鼓励工程师勇于创新探索的精神,提升实践动手能力,更深度的体验产品,米尔电子联合萨共同发起“米尔
    的头像 发表于 09-02 17:15 428次阅读
    领万元大奖!<b class='flag-5'>米尔</b>电子<b class='flag-5'>Remi</b> <b class='flag-5'>Pi</b> <b class='flag-5'>瑞</b><b class='flag-5'>米</b><b class='flag-5'>派</b>创意秀