衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Ubuntu系統遷移指南:輕松駕馭國產3568嵌入式實驗箱

創龍教儀 ? 2024-10-29 08:06 ? 次閱讀

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

本文基于創龍教儀 TL3568-PlusTEB 嵌入式教學實驗箱實現 ubuntu 系統移植。

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

本文詳細介紹了如何在Ubuntu虛擬機中使用ubuntu-base構建根文件系統,包括設置軟件源、配置DNS、安裝必要軟件和桌面環境,以及修改系統配置。以及如何打包鏡像文件,并將其燒錄到瑞芯微RK3568開發板上,涉及掛載、格式化、修復和調整鏡像大小的步驟。

Ubuntu 系統簡介

Ubuntu是一個以桌面應用為主的Linux發行版操作系統,其名稱來自非洲南部祖魯語或豪薩語的“ubuntu"一詞,意思是“人性”“我的存在是因為大家的存在",是非洲傳統的一種價值觀。

Ubuntu基于Debian發行版和GNOME桌面環境,而從11.04版起,Ubuntu發行版放棄了GNOME桌面環境,改為Unity。

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


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


ubuntu-base 構建根文件系統

1.獲取 ubuntu

在ubuntu官網獲取 ubuntu-base-18.04.5-base-arm64.tar.gz,創龍教儀提供對應的文件:

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

2.解壓、拷貝文件

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

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是一個仿真器,可以選取arm64配置文件仿真開發板運行環境,然后掛載下載的ubuntu-base文件,從而構建ubuntu文件系統:

sudo apt install qemu-user-static

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

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

4.設置軟件源

需要注意的是,這里要用 ARM 源,不能復制我們本機的源:

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

這里我們選擇華為國內下載源,如下圖所示:

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

5.配置DNS

為了可以聯網更新軟件,我們拷貝本機的dns配置文件到根文件系統:

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

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

sudo vim ./ubuntu_rootfs/etc/resolv.conf

添加內容如下:

如下圖所示:

nameserver 8.8.8.8

nameserver 114.114.114.114

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

6.掛載ubuntu-base文件系統

編寫掛載腳本:

#!/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

增加腳本執行權限:

sudo chmod +x mount.sh

掛載文件系統:

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. 安裝桌面環境

apt-get install ubuntu-desktop

9. 修改root用戶密碼

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

tronlong

passwd root

10. 添加新用戶

adduser tronlong

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

11. 新用戶使用sudo命令

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

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

chmod u+w /etc/sudoers

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

vim /etc/sudoers

tronlong ALL=(ALL:ALL) ALL

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

chmod u-w /etc/sudoers

12. 設置主機名稱和IP

echo "rk3568" > /etc/hostname

echo "127.0.0.1 localhost" >> /etc/hosts

echo "127.0.0.1 rk3568" >> /etc/hosts

13. 配置DHCP

我們配置一下網絡 DHCP,這樣系統啟動以后就會自動設置好網絡

RK3568默認有兩個網卡:

網卡eth0:

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

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

網卡eth1:

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

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

在實際測試中網口必須接入網線系統才能正常啟動,就是在不聯網的情況下,每次開機都要等待很久,卡在網絡連接上5分鐘,這里我們可以修改下面這個文件:

vim /lib/systemd/system/networking.service

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

TimeoutStartSec=10sec

14. 修改系統重啟默認等待時間

重啟開發板的時候,如果有進程沒有結束,系統就會等待,默認等待時間很長,導致重啟速度慢。

我們可以修改默認等待時間:


vim /etc/systemd/system.conf

找到這幾行:

#DefaultTimeoutStartSec=90s

#DefaultTimeoutStopSec=90s

#DefaultTRestartSec=100ms

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

DefaultTimeoutStopSec=1s


保存退出

15. 設置開機免密登錄到圖形界面

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


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

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

greeter-show-manual-login=true

all-guest=false

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

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


vim /etc/pam.d/gdm-autologin

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

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

vim /etc/pam.d/gdm-password

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

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


vim /root/.profile

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

tty -s && mesg n || true

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

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

vim /etc/gdm3/custom.conf

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

[daemon]

AutomaticLoginEnable=true

AutomaticLogin=root

TimedLoginEnable=true

TimedLogin=root

TimedLoginDelay=10

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

17. 禁用系統休眠

查看:

sudo systemctl status sleep.target

禁用:

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

18. 卸載文件系統

退出仿真環境:

exit

卸載文件系統:

bash mount.sh -u ubuntu_rootfs/

三、打包鏡像文件

18. 創建空鏡像文件

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


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

19. 將該文件格式化成ext4文件系統

mkfs.ext4 ubuntu_rootfs.img

20.鏡像文件掛載

將該鏡像文件掛載到一個空的文件夾上,然后將ubuntu_rootfs的文件復制到該空文件夾中:


mkdir ubuntu_base_rootfs

sudo mount ubuntu_rootfs.img ubuntu_base_rootfs

sudo cp -rfp ubuntu_rootfs/* ubuntu_base_rootfs/

21.修復鏡像文件

復制完后用e2fsck修復及檢測鏡像文件系統,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文件

這里需要注意要根據實際的emmc大小進行修改,以我為例子是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.當然修改了前面的,后面的oem,amp,userdata的起始地址也需要需改。

然后回到SDK,運行./build.sh updateimg

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5092

    文章

    19178

    瀏覽量

    307694
  • Ubuntu
    +關注

    關注

    5

    文章

    566

    瀏覽量

    30034
  • 實驗箱
    +關注

    關注

    0

    文章

    62

    瀏覽量

    9114
收藏 人收藏

    評論

    相關推薦

    國產芯RK3568教學實驗操作案例:顏色識別抓取積木

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

    RK3568國產處理器_教學實驗_操作教程:1-22 密碼學編程實驗

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

    國產處理器RK3568教學實驗操作案例:LED燈控制實驗

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

    深度探索RK3568嵌入式教學平臺實戰案例:設備驅動開發實驗

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

    RK3568教學實驗_操作案例:5-19 超聲波測距實驗

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

    RK3568教學實驗_操作教程:5-15 直流電機控制實驗

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

    基于RK3568教學實驗操作案例分享:4-1 LED燈控制實驗

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

    深度探索RK3568嵌入式教學平臺實戰案例:設備驅動開發實驗

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

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

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

    RK3568J“麒麟”+“翼輝”國產系統正式發布,“鴻蒙”也正在路上!

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

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

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

    為什么更推薦Cortex-A55教學實驗?我來告訴您!

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

    高校嵌入式教學實驗,開啟智慧教學新篇章

    高校嵌入式教學實驗,開啟智慧教學新篇章
    的頭像 發表于 05-23 08:32 ?564次閱讀
    高校<b class='flag-5'>嵌入式</b>教學<b class='flag-5'>實驗</b><b class='flag-5'>箱</b>,開啟智慧教學新篇章

    基于“中國芯”RK3568 ARM Cortex-A55教學實驗強勢首發

    ,支持鴻蒙OS、安卓、Linux、Ubuntu、Debian等操作系統實驗支持翼輝操作系統顯示界面。丨?
    的頭像 發表于 04-04 08:31 ?828次閱讀
    基于“中國芯”RK<b class='flag-5'>3568</b> ARM Cortex-A55教學<b class='flag-5'>實驗</b><b class='flag-5'>箱</b>強勢首發

    創龍教儀基于瑞芯微3568的ARM Cortex A-55教學實驗 適用于人工智能 傳感器 物聯網等領域

    RK3568J處理器設計的四核 ARM Cortex-A55 國產嵌入式教學實驗,提供了豐富的教學
    發表于 03-22 14:29
    大发888官网df888esbgfwz| 赌球网站排名| 利博| 百家乐官网彩金| 百家乐AG| 金赞娱乐| 巴黎人百家乐官网的玩法技巧和规则 | 太阳神百家乐官网的玩法技巧和规则 | 百家乐官网是骗人吗| 百家乐为什么庄5| 百家乐官网如何制| 万人迷百家乐的玩法技巧和规则| 亿博娱乐| 百家乐官网种类| 大发888最新网址| 百家乐官网桌子轮盘| 大杀器百家乐学院| 百家乐官网必胜绝技| 百家乐庄闲当哪个好| 澳门金沙国际| 24山在风水中的作用| 大发888线上娱乐城二十一点| 网上百家乐官网大赢家筹码| 百家乐加牌规| 百家乐官网1个人| 玩百家乐免费| 澳门百家乐官网是骗人的| 乐天堂百家乐娱乐平台| 电子百家乐官网博彩正网| 作弊百家乐赌具| 百家乐官网庄和闲的赌法| 百家乐科学| 百家乐官网免费是玩| 百家乐看盘技巧| 百家乐官网有免费玩| 怎么玩百家乐网上赌博| 百家乐官网在线小游戏| 游戏机百家乐的玩法技巧和规则| 澳门百家乐官网家用保险柜 | 百家乐实时赌博| 在百家乐官网二庄两闲揽的概率 |