米爾瑞米派Remi Pi Ubuntu系統(tǒng)移植指南
1. 概述
Linux系統(tǒng)平臺(tái)上有許多開(kāi)源的系統(tǒng)構(gòu)建框架,這些框架方便了開(kāi)發(fā)者進(jìn)行嵌入式系統(tǒng)的構(gòu)建和定制化開(kāi)發(fā),目前比較常見(jiàn)的有Buildroot, Yocto, OpenEmbedded等等。
同時(shí)更多的傳統(tǒng)的桌面系統(tǒng)也加入到嵌入式環(huán)境體系中,如Ubuntu,debian等,為嵌入式提供更方便實(shí)用的系統(tǒng)。本文主要介紹基于ubuntu22.04 core和米爾核心板定制一個(gè)完整的嵌入式ubuntu22.04系統(tǒng)的完整流程,其中包括開(kāi)發(fā)環(huán)境的準(zhǔn)備,ubuntu22.04系統(tǒng)的獲取與移植, LXDE輕量級(jí)桌面管理等。
本文檔并不包含Linux BSP系統(tǒng)相關(guān)基礎(chǔ)知識(shí)的介紹,將直接使用米爾發(fā)布的myir-image-full提供的的BSP。如需了解BSP文件的制作請(qǐng)查看《米爾瑞米派Remi Pi_Linux軟件開(kāi)發(fā)指南》。
1.1. 軟件資源
Remi Pi使用的Ubuntu系統(tǒng)基于ubuntu-base-22.04-base-arm64.tar.gz版本制作(下載地址如下),在此版本基礎(chǔ)上添加了豐富的系統(tǒng)資源和其他軟件資源。
Ubuntu Base 22.04.2 LTS (Jammy Jellyfish)
表1-1.資源列表
2. 開(kāi)發(fā)環(huán)境準(zhǔn)備
基于ubuntu base系統(tǒng)在開(kāi)發(fā)過(guò)程中所需的一些軟硬件環(huán)境,包括必要的開(kāi)發(fā)主機(jī)環(huán)境,必備的軟件工具,代碼和資料的獲取等,具體的準(zhǔn)備工作下面將進(jìn)行詳細(xì)介紹。
2.1. 開(kāi)發(fā)主機(jī)環(huán)境
本節(jié)將介紹如何搭建適用于瑞薩Remi Pi平臺(tái)的開(kāi)發(fā)環(huán)境,該平臺(tái)使用的RZ/G系列處理器是多核異構(gòu)的處理器,RZ/G2L擁有兩個(gè)2個(gè)ARM Cortex A53。通過(guò)閱讀本章節(jié),您將了解相關(guān)硬件工具,軟件開(kāi)發(fā)調(diào)試工具的安裝和使用。并能快速的搭建相關(guān)開(kāi)發(fā)環(huán)境,為后面的開(kāi)發(fā)和調(diào)試做準(zhǔn)備。
? 主機(jī)硬件
整個(gè)SDK包項(xiàng)目的構(gòu)建對(duì)開(kāi)發(fā)主機(jī)的要求比較高,要求處理器具有雙核以上CPU,8GB以上 內(nèi)存,100GB硬盤或更高配置??梢允前惭bLinux系統(tǒng)的PC或服務(wù)器,也可以是運(yùn)行Linux系統(tǒng)的虛擬機(jī),Windows系統(tǒng)下的WSL2等。
? 主機(jī)操作系統(tǒng)
一般選擇在安裝Fedora, openSUSE, Debian, Ubuntu, RHEL或者 CentOS等Linux發(fā)行版的本地主機(jī)上進(jìn)行,這里推薦的是Ubuntu22.04 64bit桌面版系統(tǒng),后續(xù)開(kāi)發(fā)也是以此系統(tǒng)為例進(jìn)行介紹。
? 安裝必備軟件包
基礎(chǔ)軟件包請(qǐng)查看《Remi Pi_Linux軟件開(kāi)發(fā)指南》進(jìn)行安裝,這里只需安裝一個(gè)軟件包即可。
3. Ubuntu 22.04 文件系統(tǒng)移植
3.1. 簡(jiǎn)介
ubuntu-base 是Ubuntu官方構(gòu)建的ubuntu最小文件系統(tǒng),包含debain軟件包管理器,基礎(chǔ)包大小通常只有幾十兆,其背后有整個(gè)ubuntu軟件源支持,ubuntu軟件一般穩(wěn)定性比較好,基于ubuntu-base按需安裝Linux軟件,深度可定制等,常用于嵌入式rootfs構(gòu)建。
嵌入式常見(jiàn)的幾種文件系統(tǒng)構(gòu)建方法:busybox、yocto、buildroot,但Ubuntu方便,強(qiáng)大的包管系統(tǒng),有強(qiáng)大的社區(qū)支持,可以直接apt-get install來(lái)安裝新軟件包。本文介紹了如何基于Ubuntu-base構(gòu)建完整的ubuntu 系統(tǒng)。ubuntu支持很多架構(gòu),arm、X86、powerpc、ppc等,本文主要基于arm為例,構(gòu)建一個(gè)較為完整的ubuntu系統(tǒng)。
3.2. 獲取源碼
我們提供兩種獲取源碼的方式,一種是直接從米爾光盤鏡像04-sources目錄中獲取壓縮包,另外一種是使用wget獲取位官方的上源碼進(jìn)行構(gòu)建,請(qǐng)用戶根據(jù)實(shí)際需要選擇其中一種進(jìn)行構(gòu)建。
具體代碼參考米爾電子公眾號(hào)文章
4. 認(rèn)識(shí)LXDE
4.1. LXDE介紹
LXDE是一個(gè)輕量級(jí)和快速的桌面環(huán)境。它被設(shè)計(jì)為用戶友好和占用資源少,同時(shí)保持資源使用率低。LXDE使用更少的內(nèi)存和CPU來(lái)盡可能地展現(xiàn)功能豐富的桌面環(huán)境。與其它的桌面環(huán)境不同,LXDE努力成為模塊化的桌面環(huán)境,所以每個(gè)組件可以獨(dú)立使用。這使得移植LXDE不同分布和平臺(tái)更容易。
LXDE包含多個(gè)核心組件,可用于桌面環(huán)境下來(lái)管理整個(gè)系統(tǒng)資源。主要組件如下:
? ?LXPanel:這是LXDE的面板系統(tǒng),類似于GNOME的GNOME Panel或KDE的Kicker。它提供了快速訪問(wèn)應(yīng)用程序、系統(tǒng)工具、文件夾和剪貼板的方式。
? LXSession:這是LXDE的會(huì)話管理器,它負(fù)責(zé)啟動(dòng)和終止LXDE桌面環(huán)境。
? LXDE-OpenBox: 這是一個(gè)窗口管理器,提供窗口布局和導(dǎo)航。LXDE使用OpenBox作為其默認(rèn)的窗口管理器。
? PCManFM:這是一個(gè)輕量級(jí)的文件管理器,提供文件和目錄的瀏覽、復(fù)制、移動(dòng)、刪除等操作
除了這些核心組件外,LXDE還有其他一些輔助工具,如LXAppearance(用于更改主題和圖標(biāo))、LXTask(任務(wù)管理器)等。
4.2. 啟動(dòng)LXDE
開(kāi)機(jī)啟動(dòng)后,可手動(dòng)輸入密碼123456登錄,或者在串口終端執(zhí)行(startx /usr/bin/lxsession -s LXDE &)命令進(jìn)行登錄,如圖4-1:
圖4-1:lxde登錄界面
登錄成功后,由于默認(rèn)背景是黑色的,可以點(diǎn)擊鼠標(biāo)右鍵后選擇Desktop Preferences->Appearance->Wallpaper(/usr/share/lxde/wallpapers/lxde_blue.jpg)來(lái)選擇背景圖片,如圖4-2:
圖4-2:lxde背景圖片修改
背景圖片修改成功,如圖4-3:
圖4-3:lxde背景圖片
5. 參考資料
? Linux kernel 開(kāi)源社區(qū)
?ubuntu
? freedesktop
米爾瑞米派 Remi Pi
瑞薩第一款MPU生態(tài)板卡,兼容樹(shù)莓派擴(kuò)展模塊
采用瑞薩RZ/G2L工業(yè)級(jí)處理器,便于企業(yè)客戶產(chǎn)品開(kāi)發(fā);
Remi Pi兼容樹(shù)莓派所有配件,方便產(chǎn)品原型搭建和創(chuàng)新應(yīng)用;
更多的工業(yè)接口,兼顧開(kāi)發(fā)、學(xué)習(xí)和實(shí)際應(yīng)用;
軟件系統(tǒng)豐富,支持Debian/Ubuntu/Linux等。