0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Ubuntu系統(tǒng)遷移指南:輕松駕馭國產(chǎn)3568嵌入式實(shí)驗(yàn)箱

創(chuàng)龍教儀 ? 2024-10-29 08:06 ? 次閱讀

94ec2274-9589-11ef-8084-92fbcf53809c.png

本文基于創(chuàng)龍教儀 TL3568-PlusTEB 嵌入式教學(xué)實(shí)驗(yàn)箱實(shí)現(xiàn) ubuntu 系統(tǒng)移植。

瑞芯微平臺提供的SDK支持buildroot、Debian、yocto,但Ubuntu需要自行定制文件系統(tǒng)。

本文詳細(xì)介紹了如何在Ubuntu虛擬機(jī)中使用ubuntu-base構(gòu)建根文件系統(tǒng),包括設(shè)置軟件源、配置DNS、安裝必要軟件和桌面環(huán)境,以及修改系統(tǒng)配置。以及如何打包鏡像文件,并將其燒錄到瑞芯微RK3568開發(fā)板上,涉及掛載、格式化、修復(fù)和調(diào)整鏡像大小的步驟。

Ubuntu 系統(tǒng)簡介

Ubuntu是一個(gè)以桌面應(yīng)用為主的Linux發(fā)行版操作系統(tǒng),其名稱來自非洲南部祖魯語或豪薩語的“ubuntu"一詞,意思是“人性”“我的存在是因?yàn)榇蠹业拇嬖?,是非洲傳統(tǒng)的一種價(jià)值觀。

Ubuntu基于Debian發(fā)行版和GNOME桌面環(huán)境,而從11.04版起,Ubuntu發(fā)行版放棄了GNOME桌面環(huán)境,改為Unity。

此前人們認(rèn)為Linux難以安裝、難以使用,在Ubuntu出現(xiàn)后這些都成為了歷史。Ubuntu也擁有龐大的社區(qū)力量,用戶可以方便地從社區(qū)獲得幫助。自Ubuntu 18.04 LTS起,Ubuntu發(fā)行版重新開始使用GNOME3桌面環(huán)境。


95139eee-9589-11ef-8084-92fbcf53809c.png


ubuntu-base 構(gòu)建根文件系統(tǒng)

1.獲取 ubuntu

在ubuntu官網(wǎng)獲取 ubuntu-base-18.04.5-base-arm64.tar.gz,創(chuàng)龍教儀提供對應(yīng)的文件:

952498a2-9589-11ef-8084-92fbcf53809c.png

2.解壓、拷貝文件

執(zhí)行以下命令將文件拷貝到ubuntu虛擬機(jī),新建目錄,解壓:

mkdir ubuntu_rootfs

sudo tar -xpf ubuntu-base-18.04.5-base-arm64.tar.gz -C ubuntu_rootfs/

3.安裝qemu-user-static

qemu-user-static是一個(gè)仿真器,可以選取arm64配置文件仿真開發(fā)板運(yùn)行環(huán)境,然后掛載下載的ubuntu-base文件,從而構(gòu)建ubuntu文件系統(tǒng):

sudo apt install qemu-user-static

由于下載的ubuntu-base是aarch64架構(gòu)的,因此需要拷貝 qemu-aarch64-static到ubuntu_rootfs/usr/bin/下:

sudo cp /usr/bin/qemu-aarch64-static ubuntu_rootfs/usr/bin

4.設(shè)置軟件源

需要注意的是,這里要用 ARM 源,不能復(fù)制我們本機(jī)的源:

sudo vim ./ubuntu_rootfs/etc/apt/sources.list

這里我們選擇華為國內(nèi)下載源,如下圖所示:

9532e29a-9589-11ef-8084-92fbcf53809c.png

5.配置DNS

為了可以聯(lián)網(wǎng)更新軟件,我們拷貝本機(jī)的dns配置文件到根文件系統(tǒng):

sudo cp /etc/resolv.conf ubuntu_rootfs/etc/resolv.conf

然后在/etc/resolv.conf文件中添加dns

sudo vim ./ubuntu_rootfs/etc/resolv.conf

添加內(nèi)容如下:

如下圖所示:

nameserver 8.8.8.8

nameserver 114.114.114.114

954c48ac-9589-11ef-8084-92fbcf53809c.png

6.掛載ubuntu-base文件系統(tǒng)

編寫掛載腳本:

#!/bin/bash

mnt() {

echo "MOUNTING"

sudo mount -t proc /proc ${2}proc

sudo mount -t sysfs /sys ${2}sys

sudo mount -o bind /dev ${2}dev

sudo mount -o bind /dev/pts ${2}dev/pts

sudo chroot ${2}

}

umnt() {

echo "UNMOUNTING"

sudo umount ${2}proc

sudo umount ${2}sys

sudo umount ${2}dev/pts

sudo umount ${2}dev

}

if [ "$1" == "-m" ] && [ -n "$2" ] ;

then

mnt $1 $2

elif [ "$1" == "-u" ] && [ -n "$2" ];

then

umnt $1 $2

else

echo ""

echo "Either 1'st, 2'nd or both parameters were missing"

echo ""

echo "1'st parameter can be one of these: -m(mount) OR -u(umount)"

echo "2'nd parameter is the full path of rootfs directory(with trailing '/')"

echo ""

echo "For example: ch-mount -m /media/sdcard/"

echo ""

echo 1st parameter : ${1}

echo 2nd parameter : ${2}

fi

增加腳本執(zhí)行權(quán)限:

sudo chmod +x mount.sh

掛載文件系統(tǒng):

bash mount.sh -m ubuntu_rootfs/

7. 安裝必要軟件

apt-get update

apt-get install net-tools

apt-get install ethtool

apt-get install ifupdown

apt-get install psmisc

apt-get install nfs-common

apt-get install htop

apt-get install vim

apt-get install rsyslog

apt-get install iputils-ping

apt-get install language-pack-en-base

apt-get install sudo

apt-get install network-manager

8. 安裝桌面環(huán)境

apt-get install ubuntu-desktop

9. 修改root用戶密碼

為了方便,我們可以把密碼也設(shè)置為:

tronlong

passwd root

10. 添加新用戶

adduser tronlong

需要輸入用戶的一些信息,也可以直接回車保留默認(rèn)值即可:

11. 新用戶使用sudo命令

默認(rèn)情況下新用戶是不能使用 sudo 命令的,我們需要修改/etc/sudoers 文件。

/etc/sudoers 文件默認(rèn)是只讀的,因此需要先修改此文件的寫權(quán)限,使用如下命令:

chmod u+w /etc/sudoers

然后使用 vim 打開/etc/sudoers,找到“root ALL=(ALL:ALL) ALL”這一行,在這一行下面添加:

vim /etc/sudoers

tronlong ALL=(ALL:ALL) ALL

修改完成以后保存退出,重新恢復(fù)/etc/sudoers 的只讀屬性,使用如下命令:

chmod u-w /etc/sudoers

12. 設(shè)置主機(jī)名稱和IP

echo "rk3568" > /etc/hostname

echo "127.0.0.1 localhost" >> /etc/hosts

echo "127.0.0.1 rk3568" >> /etc/hosts

13. 配置DHCP

我們配置一下網(wǎng)絡(luò) DHCP,這樣系統(tǒng)啟動(dòng)以后就會自動(dòng)設(shè)置好網(wǎng)絡(luò)

RK3568默認(rèn)有兩個(gè)網(wǎng)卡:

網(wǎng)卡eth0:

echo auto eth0 > /etc/network/interfaces.d/eth0

echo iface eth0 inet dhcp >> /etc/network/interfaces.d/eth0

網(wǎng)卡eth1:

echo auto eth1 > /etc/network/interfaces.d/eth1

echo iface eth1 inet dhcp >> /etc/network/interfaces.d/eth1

在實(shí)際測試中網(wǎng)口必須接入網(wǎng)線系統(tǒng)才能正常啟動(dòng),就是在不聯(lián)網(wǎng)的情況下,每次開機(jī)都要等待很久,卡在網(wǎng)絡(luò)連接上5分鐘,這里我們可以修改下面這個(gè)文件:

vim /lib/systemd/system/networking.service

將里面的TimeoutStartSec=5min 修改為:

TimeoutStartSec=10sec

14. 修改系統(tǒng)重啟默認(rèn)等待時(shí)間

重啟開發(fā)板的時(shí)候,如果有進(jìn)程沒有結(jié)束,系統(tǒng)就會等待,默認(rèn)等待時(shí)間很長,導(dǎo)致重啟速度慢。

我們可以修改默認(rèn)等待時(shí)間:


vim /etc/systemd/system.conf

找到這幾行:

#DefaultTimeoutStartSec=90s

#DefaultTimeoutStopSec=90s

#DefaultTRestartSec=100ms

解除注釋并將 DefaultTimeoutStopSec=90s 改為:

DefaultTimeoutStopSec=1s


保存退出

15. 設(shè)置開機(jī)免密登錄到圖形界面

我們使用以下命令修改 50-ubuntu.conf 文件:


vim /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

在文件末尾加入以下內(nèi)容,添加完成如下圖所示:

greeter-show-manual-login=true

all-guest=false

9564bd60-9589-11ef-8084-92fbcf53809c.png

修改完成后保存退出,然后輸入以下命令修改 gdm-autologin 文件內(nèi)容,修改完成如下圖所示:


vim /etc/pam.d/gdm-autologin

9577e34a-9589-11ef-8084-92fbcf53809c.png

接著輸入以下命令修改 gdm-password 文件內(nèi)容,修改完成如下圖所示:

vim /etc/pam.d/gdm-password

958c9c54-9589-11ef-8084-92fbcf53809c.png

然后輸入以下命令修改/root/.profile 文件:


vim /root/.profile

將文件最后一行改為以下內(nèi)容,修改完成如下圖所示:

tty -s && mesg n || true

95a3a5d4-9589-11ef-8084-92fbcf53809c.png

然后輸入以下命令修改 custom.conf 文件:

vim /etc/gdm3/custom.conf

到文件末尾添加以下內(nèi)容,添加完成如下圖所示(紅框部分):

[daemon]

AutomaticLoginEnable=true

AutomaticLogin=root

TimedLoginEnable=true

TimedLogin=root

TimedLoginDelay=10

95b39a3e-9589-11ef-8084-92fbcf53809c.png

17. 禁用系統(tǒng)休眠

查看:

sudo systemctl status sleep.target

禁用:

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

18. 卸載文件系統(tǒng)

退出仿真環(huán)境:

exit

卸載文件系統(tǒng):

bash mount.sh -u ubuntu_rootfs/

三、打包鏡像文件

18. 創(chuàng)建空鏡像文件

大小為20480MB(大概20G左右,注意這里需要根據(jù)實(shí)際EMMC的大小進(jìn)行修改,以我的為例子是32G版本的EMMC):


dd if=/dev/zero of=ubuntu_rootfs.img bs=1M count=20480

19. 將該文件格式化成ext4文件系統(tǒng)

mkfs.ext4 ubuntu_rootfs.img

20.鏡像文件掛載

將該鏡像文件掛載到一個(gè)空的文件夾上,然后將ubuntu_rootfs的文件復(fù)制到該空文件夾中:


mkdir ubuntu_base_rootfs

sudo mount ubuntu_rootfs.img ubuntu_base_rootfs

sudo cp -rfp ubuntu_rootfs/* ubuntu_base_rootfs/

21.修復(fù)鏡像文件

復(fù)制完后用e2fsck修復(fù)及檢測鏡像文件系統(tǒng),resize2fs 減小鏡像文件的大小:

sudo umount ubuntu_base_rootfs/

e2fsck -p -f ubuntu_rootfs.img

22.修改文件夾名稱

將ubuntu_rootfs.img拷貝到SDK的rockdev文件夾,并將ubuntu_rootfs.img改名為rootfs.img:

95c8a046-9589-11ef-8084-92fbcf53809c.png

23.修改parameter.txt文件

這里需要注意要根據(jù)實(shí)際的emmc大小進(jìn)行修改,以我為例子是32G版本的EMMC:


修改前:

95d6db84-9589-11ef-8084-92fbcf53809c.png

修改后

95e8ed42-9589-11ef-8084-92fbcf53809c.png

0x03200000@0x00058000(rootfs),0x00040000@0x03258000(oem),0x00010000@0x03298000(amp),-@0x032a8000(userdata:grow)

@之前是大小,@之后的是地址

每0x100000為512MB,那么我這里rootfs分配的為25G.當(dāng)然修改了前面的,后面的oem,amp,userdata的起始地址也需要需改。

然后回到SDK,運(yùn)行./build.sh updateimg

9618db10-9589-11ef-8084-92fbcf53809c.png

9627a65e-9589-11ef-8084-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5122

    文章

    19423

    瀏覽量

    312774
  • Ubuntu
    +關(guān)注

    關(guān)注

    5

    文章

    580

    瀏覽量

    30642
  • 實(shí)驗(yàn)箱
    +關(guān)注

    關(guān)注

    0

    文章

    65

    瀏覽量

    9254
收藏 0人收藏

    評論

    相關(guān)推薦

    國產(chǎn)芯RK3568教學(xué)實(shí)驗(yàn)操作案例:顏色識別抓取積木

    。 本實(shí)驗(yàn)中使用的是TL3568-PlusTEB實(shí)驗(yàn),所需的配件為Micro SD卡、Type-C線、電源、機(jī)械臂套件和網(wǎng)線。 四、操作現(xiàn)象 硬件連接 (1)將
    發(fā)表于 12-05 14:30

    RK3568國產(chǎn)處理器_教學(xué)實(shí)驗(yàn)_操作教程:1-22 密碼學(xué)編程實(shí)驗(yàn)

    調(diào)試工具Xshell。 本實(shí)驗(yàn)中使用的是TL3568-PlusTEB實(shí)驗(yàn),所需的配件為Micro SD卡、Type-C線、電源和網(wǎng)線。 硬件連接 (1)將
    發(fā)表于 12-02 16:20

    國產(chǎn)處理器RK3568教學(xué)實(shí)驗(yàn)操作案例:LED燈控制實(shí)驗(yàn)

    一、產(chǎn)品簡介TL3568-PlusTEB人工智能實(shí)驗(yàn)國產(chǎn)高性能處理器64位4核低功耗2.0GHz超高主頻1T超高算力NPU兼容鴻蒙等國產(chǎn)
    的頭像 發(fā)表于 10-18 08:07 ?1106次閱讀
    <b class='flag-5'>國產(chǎn)</b>處理器RK<b class='flag-5'>3568</b>教學(xué)<b class='flag-5'>實(shí)驗(yàn)</b><b class='flag-5'>箱</b>操作案例:LED燈控制<b class='flag-5'>實(shí)驗(yàn)</b>

    深度探索RK3568嵌入式教學(xué)平臺實(shí)戰(zhàn)案例:設(shè)備驅(qū)動(dòng)開發(fā)實(shí)驗(yàn)

    一、產(chǎn)品簡介TL3568-PlusTEB人工智能實(shí)驗(yàn)國產(chǎn)高性能處理器64位4核低功耗2.0GHz超高主頻1T超高算力NPU兼容鴻蒙等國產(chǎn)
    的頭像 發(fā)表于 09-24 08:05 ?697次閱讀
    深度探索RK<b class='flag-5'>3568</b><b class='flag-5'>嵌入式</b>教學(xué)平臺實(shí)戰(zhàn)案例:設(shè)備驅(qū)動(dòng)開發(fā)<b class='flag-5'>實(shí)驗(yàn)</b>

    RK3568教學(xué)實(shí)驗(yàn)_操作案例:5-19 超聲波測距實(shí)驗(yàn)

    一、產(chǎn)品簡介 TL3568-PlusTEB人工智能實(shí)驗(yàn) 國產(chǎn)高性能處理器 64 位 4 核低功耗 2.0 GHz超高主頻 1T 超高算力 NPU 兼容鴻蒙等
    發(fā)表于 09-23 15:40

    RK3568教學(xué)實(shí)驗(yàn)_操作教程:5-15 直流電機(jī)控制實(shí)驗(yàn)

    一、產(chǎn)品簡介 TL3568-PlusTEB人工智能實(shí)驗(yàn) 國產(chǎn)高性能處理器 64 位 4 核低功耗 2.0 GHz超高主頻 1T 超高算力 NPU 兼容鴻蒙等
    發(fā)表于 09-23 15:10

    基于RK3568教學(xué)實(shí)驗(yàn)操作案例分享:4-1 LED燈控制實(shí)驗(yàn)

    一、產(chǎn)品簡介 TL3568-PlusTEB人工智能實(shí)驗(yàn) 國產(chǎn)高性能處理器 64 位 4 核低功耗 2.0 GHz超高主頻 1T 超高算力 NPU 兼容鴻蒙等
    發(fā)表于 09-23 14:06

    深度探索RK3568嵌入式教學(xué)平臺實(shí)戰(zhàn)案例:設(shè)備驅(qū)動(dòng)開發(fā)實(shí)驗(yàn)

    ?一、產(chǎn)品簡介 TL3568-PlusTEB人工智能實(shí)驗(yàn) 國產(chǎn)高性能處理器 64 位 4 核低功耗 2.0 GHz超高主頻 1T 超高算力 NPU 兼容鴻蒙等
    發(fā)表于 09-23 11:59

    【北京迅為】《stm32mp157開發(fā)板嵌入式linux開發(fā)指南》第五章 Ubuntu使用apt-get下載

    【北京迅為】《stm32mp157開發(fā)板嵌入式linux開發(fā)指南》第五章 Ubuntu使用apt-get下載
    的頭像 發(fā)表于 09-03 16:26 ?1028次閱讀
    【北京迅為】《stm32mp157開發(fā)板<b class='flag-5'>嵌入式</b>linux開發(fā)<b class='flag-5'>指南</b>》第五章 <b class='flag-5'>Ubuntu</b>使用apt-get下載

    開啟全新AI時(shí)代 智能嵌入式系統(tǒng)快速發(fā)展——“第六屆國產(chǎn)嵌入式操作系統(tǒng)技術(shù)與產(chǎn)業(yè)發(fā)展論壇”圓滿結(jié)束

    第六屆國產(chǎn)嵌入式操作系統(tǒng)技術(shù)與產(chǎn)業(yè)發(fā)展論壇聯(lián)合主辦單位陣容強(qiáng)大,論壇由北京航空航天大學(xué)計(jì)算機(jī)學(xué)院、軟件學(xué)院、中國科學(xué)院軟件所以及物聯(lián)網(wǎng)標(biāo)準(zhǔn)與應(yīng)用工業(yè)和信息化部重點(diǎn)實(shí)驗(yàn)室聯(lián)合主辦,北
    發(fā)表于 08-30 17:24

    RK3568J“麒麟”+“翼輝”國產(chǎn)系統(tǒng)正式發(fā)布,“鴻蒙”也正在路上!

    發(fā)揮重大作用。創(chuàng)龍科技RK3568J平臺“硬件+ 軟件”從里到外都是全國產(chǎn),它將在國產(chǎn)化替代進(jìn)程中發(fā)揮更大的優(yōu)勢。 麒麟KylinOS簡介 銀河麒麟嵌入式操作
    發(fā)表于 07-09 11:44

    飛凌嵌入式FET3568/3568J-C核心板現(xiàn)已適配OpenHarmony4.1

    近日,飛凌嵌入式為FET3568/3568J-C核心板適配了OpenHarmony4.1系統(tǒng),新系統(tǒng)的加持使核心板在兼容性、穩(wěn)定性與安全性等
    的頭像 發(fā)表于 05-31 14:17 ?991次閱讀
    飛凌<b class='flag-5'>嵌入式</b>FET<b class='flag-5'>3568</b>/<b class='flag-5'>3568</b>J-C核心板現(xiàn)已適配OpenHarmony4.1

    為什么更推薦Cortex-A55教學(xué)實(shí)驗(yàn)?我來告訴您!

    國產(chǎn)嵌入式芯片,助力“中國芯”工程!TL3568-PlusTEB是一款基于瑞芯微RK3568國產(chǎn)化處理器設(shè)計(jì)的4核ARMCortex-A5
    的頭像 發(fā)表于 05-31 08:32 ?1140次閱讀
    為什么更推薦Cortex-A55教學(xué)<b class='flag-5'>實(shí)驗(yàn)</b><b class='flag-5'>箱</b>?我來告訴您!

    高校嵌入式教學(xué)實(shí)驗(yàn),開啟智慧教學(xué)新篇章

    高校嵌入式教學(xué)實(shí)驗(yàn),開啟智慧教學(xué)新篇章
    的頭像 發(fā)表于 05-23 08:32 ?675次閱讀
    高校<b class='flag-5'>嵌入式</b>教學(xué)<b class='flag-5'>實(shí)驗(yàn)</b><b class='flag-5'>箱</b>,開啟智慧教學(xué)新篇章

    米爾瑞米派Remi Pi Ubuntu系統(tǒng)移植指南

    的傳統(tǒng)的桌面系統(tǒng)也加入到嵌入式環(huán)境體系中,如Ubuntu,debian等,為嵌入式提供更方便實(shí)用的系統(tǒng)。本文主要介紹基于
    的頭像 發(fā)表于 04-29 08:01 ?1149次閱讀
    米爾瑞米派Remi Pi <b class='flag-5'>Ubuntu</b><b class='flag-5'>系統(tǒng)</b>移植<b class='flag-5'>指南</b>

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品