加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專(zhuān)業(yè)用戶(hù)
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

手把手教你在Ubuntu定制文件系統(tǒng)

2022/12/16
1768
閱讀需 10 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

為了給客戶(hù)的測(cè)試和開(kāi)發(fā)提供便利,飛凌嵌入式開(kāi)發(fā)板產(chǎn)品一般都支持多種操作系統(tǒng),以基于全志T507H處理器設(shè)計(jì)研發(fā)的OKT507-C開(kāi)發(fā)板為例,它支持三種操作系統(tǒng),分別是:Linux、Android 和 Forlinx Desktop(Ubuntu),這里提到的Forlinx Desktop系統(tǒng)是飛凌嵌入式在Ubuntu base的基礎(chǔ)上構(gòu)建的桌面操作系統(tǒng),完全兼容Ubuntu18.04,相對(duì)傳統(tǒng)的Linux系統(tǒng)而言易用性更高。

Forlinx
Desktop(Ubuntu)系統(tǒng)基于Ubuntu官方為嵌入式設(shè)備制作的操作系統(tǒng)-Lubuntu,該操作系統(tǒng)具備apt-get、ldd等常用的命令,若需要安裝軟件則直接apt-get在線(xiàn)安裝即可,不需進(jìn)行交叉編譯移植等繁瑣操作。但是每次重新燒寫(xiě)鏡像之后,之前安裝的軟件就得重新安裝,比較繁瑣,如果需要批量操作則每塊開(kāi)發(fā)板都需要去apt-get安裝,這樣會(huì)大幅增加工作量,很不便于批量化生產(chǎn)。

能不能把軟件一起打包到鏡像呢?這樣每次燒寫(xiě)完就不用再去apt-get在線(xiàn)安裝了。答案當(dāng)然是肯定的,這就涉及到文件系統(tǒng)的定制了,那么接下來(lái),小編就為大家介紹在Forlinx Desktop(Ubuntu)系統(tǒng)上定制文件系統(tǒng)的操作過(guò)程。

1. 解壓文件系統(tǒng)

首先,找到OKT507-desktop-release源碼的文件系統(tǒng)所在的目錄,然后將文件系統(tǒng)壓縮包解壓,路徑如下:

OKT507-desktop-release/ubuntu

解壓后,可看到文件系統(tǒng)目錄OKT507-linux-ubuntu,進(jìn)入到此目錄后可看到如下文件夾:

2. 安裝QEMU

這里簡(jiǎn)單介紹下QEMU,它是一個(gè)小巧的模擬器,可以模擬很多硬件如ARM、x86、AMD64/Intel64等。QEMU用途廣泛,比如Xen、Android模擬器等都是基于QEMU的。下面我們開(kāi)始在虛擬機(jī)進(jìn)行安裝QEMU,如下:

① 更新下載源:

sudo apt-get update

②執(zhí)行命令安裝:

sudo apt-get install qemu-aarch64-static

sudo apt-get install qemu-user-static

3. 修改配置

① 將QEMU的qemu-arm-static拷貝到文件系統(tǒng)目錄OKT507-linux-ubuntu,如下:

sudo cp /usr/bin/qemu-arm-static usr/bin/

② 拷貝PC主機(jī)端的DNS配置,因?yàn)榇龝?huì)我們安裝程序時(shí)要用網(wǎng)絡(luò):

sudo cp -b /etc/resolv.conf ?etc/resolv.conf

③ 修改下載源:

sudo vim etc/apt/sources.list

添加

deb http://ports.ubuntu.com/ubuntu-ports/ xenial main universe

deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main universe

4. 掛載文件系統(tǒng)

因?yàn)槲覀冞@里是通過(guò)腳本的方式掛載和卸載文件系統(tǒng),所以需要編寫(xiě)一個(gè)腳本掛載和卸載文件系統(tǒng)。

① 新建一個(gè)腳本文件命名為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 chroot ${2}}function umnt() {echo "UNMOUNTING"sudo umount ${2}procsudo umount ${2}syssudo 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?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 rootfsdirectory(with?trailing?'/')"echo?""echo?"For?example:?ch-mount?-m?/media/sdcard/"echo?""echo?1st?parameter?:?${1}echo 2nd parameter : ${2}fi

② 設(shè)置這個(gè)shell腳本可執(zhí)行權(quán)限,如下:

sudo
chmod 777 ch-mount.sh

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

執(zhí)行ch-mount.sh腳本
指定參數(shù)-m,掛載成功如下:

sudo
./ch-mount.sh -m ./

5. 安裝軟件

前面我們掛載了文件系統(tǒng),已將文件系統(tǒng)掛載到了QEMU模擬器,接下來(lái)就可以安裝我們所需要的軟件了。

① 更新下載源:

apt update

注意:更新下載源可能會(huì)報(bào)錯(cuò),這里需要注意一下,因?yàn)閠mp文件夾權(quán)限不夠,chmod為其賦予權(quán)限。

如下:

chmod 777 /tmp

② 安裝軟件:

至此,便可以安裝所需軟件了,在這里用apt-get安裝自己所需軟件,根據(jù)所需安裝。我們這里來(lái)安裝一個(gè)minicom串口測(cè)試工具。如下:

③ 安裝完成后,exit退出QEMU。

④ 執(zhí)行ch-mount.sh腳本卸載文件系統(tǒng),指定參數(shù)-u,卸載成功后打印如下:

注意:我們exit退出后,只是退出了QEMU模擬器,并沒(méi)有卸載文件系統(tǒng),一定要執(zhí)行腳本卸載文件系統(tǒng)。

6. 打包文件系統(tǒng)

① 完成前面的步驟后,用tar命令將當(dāng)前文件夾下所有文件壓縮,命名為OKT507-linux-ubuntu.tar.gz。如下:

sudo tar -cvzf OKT507-linux-ubuntu.tar.gz ./*

② 壓縮完成后,為文件系統(tǒng)壓縮包OKT507-linux-ubuntu.tar.gz賦予權(quán)限,如下:

sudo chmod a+w OKT507-linux-ubuntu.tar.gz

③ 將剛打包好的壓縮包替換到上一級(jí)目錄下的舊的文件系統(tǒng)壓縮包。

④ 重新編譯打包后生成新的鏡像燒錄開(kāi)發(fā)板。

7. 測(cè)試方法

燒錄到板子后,在終端啟動(dòng)minicom,驗(yàn)證下是否安裝上。如下:

從上圖紅框可以看出,通過(guò)終端命令啟動(dòng)了minicom,說(shuō)明我們?cè)赒EMU中安裝成功了,至此Ubuntu文件系統(tǒng)定制就做完了。

通過(guò)這種方法可以個(gè)性化的定制屬于自己文件系統(tǒng),安裝自己所需軟件,也可以根據(jù)自己需求將出廠不需要的軟件用相同的方式卸載掉,這樣既能減少工作量,又利于批量化生產(chǎn)。

以上就是小編為大家?guī)?lái)的在Forlinx Desktop(Ubuntu)系統(tǒng)上定制文件系統(tǒng)的操作過(guò)程。想要了解有關(guān)OKT507-C開(kāi)發(fā)板更多的功能和詳情,可以進(jìn)入飛凌嵌入式官網(wǎng)查看。

 

Ubuntu

Ubuntu

Ubuntu是Linux上用于企業(yè)服務(wù)器、桌面、云和物聯(lián)網(wǎng)的現(xiàn)代開(kāi)源操作系統(tǒng)。

Ubuntu是Linux上用于企業(yè)服務(wù)器、桌面、云和物聯(lián)網(wǎng)的現(xiàn)代開(kāi)源操作系統(tǒng)。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

秉承專(zhuān)業(yè)態(tài)度,專(zhuān)注智能設(shè)備核心平臺(tái)研發(fā)與制造,以技術(shù)研發(fā)創(chuàng)新為主導(dǎo),以客戶(hù)實(shí)用化,產(chǎn)品化為目標(biāo),把握嵌入式行業(yè)的前沿發(fā)展需求,利用核心技術(shù)為客戶(hù)提供穩(wěn)定、可靠、功能優(yōu)異的高品質(zhì)產(chǎn)品。合作聯(lián)系:17713286011