全志T507如何在Ubuntu定制文件系統(tǒng)
為了給客戶的測試和開發(fā)提供便利,飛凌嵌入式的開發(fā)板產(chǎn)品一般都支持多種操作系統(tǒng),以基于全志T507H處理器設(shè)計(jì)研發(fā)的OKT507-C開發(fā)板為例,它支持三種操作系統(tǒng),分別是:Linux、Android 和 Forlinx Desktop(Ubuntu),這里提到的Forlinx Desktop系統(tǒng)是飛凌嵌入式在Ubuntu base的基礎(chǔ)上構(gòu)建的桌面操作系統(tǒng),完全兼容Ubuntu18.04,相對傳統(tǒng)的Linux系統(tǒng)而言易用性更高。
Forlinx Desktop(Ubuntu)系統(tǒng)基于Ubuntu官方為嵌入式設(shè)備制作的操作系統(tǒng)-Lubuntu,該操作系統(tǒng)具備apt-get、ldd等常用的命令,若需要安裝軟件則直接apt-get在線安裝即可,不需進(jìn)行交叉編譯移植等繁瑣操作。但是每次重新燒寫鏡像之后,之前安裝的軟件就得重新安裝,比較繁瑣,如果需要批量操作則每塊開發(fā)板都需要去apt-get安裝,這樣會大幅增加工作量,很不便于批量化生產(chǎn)。
能不能把軟件一起打包到鏡像呢?這樣每次燒寫完就不用再去apt-get在線安裝了。答案當(dāng)然是肯定的,這就涉及到文件系統(tǒng)的定制了,那么接下來,小編就為大家介紹在Forlinx Desktop(Ubuntu)系統(tǒng)上定制文件系統(tǒng)的操作過程。
1. 解壓文件系統(tǒng)
首先,找到OKT507-desktop-release源碼的文件系統(tǒng)所在的目錄,然后將文件系統(tǒng)壓縮包解壓,路徑如下:
OKT507-desktop-release/ubuntu
解壓后,可看到文件系統(tǒng)目錄OKT507-linux-ubuntu,進(jìn)入到此目錄后可看到如下文件夾:
2. 安裝QEMU
這里簡單介紹下QEMU,它是一個小巧的模擬器,可以模擬很多硬件如ARM、x86、AMD64/Intel64等。QEMU用途廣泛,比如Xen、Android模擬器等都是基于QEMU的。下面我們開始在虛擬機(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)榇龝覀儼惭b程序時要用網(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)槲覀冞@里是通過腳本的方式掛載和卸載文件系統(tǒng),所以需要編寫一個腳本掛載和卸載文件系統(tǒng)。
① 新建一個腳本文件命名為ch-mount.sh,附代碼如下:
#!/bin/bash
function 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 chroot ${2}
}
function umnt() {
echo "UNMOUNTING"
sudo umount ${2}proc
sudo umount${2}sys
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
② 設(shè)置這個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模擬器,接下來就可以安裝我們所需要的軟件了。
① 更新下載源:
apt update
注意:更新下載源可能會報錯,這里需要注意一下,因?yàn)閠mp文件夾權(quán)限不夠,chmod為其賦予權(quán)限。
如下:
chmod 777 /tmp
② 安裝軟件:
至此,便可以安裝所需軟件了,在這里用apt-get安裝自己所需軟件,根據(jù)所需安裝。我們這里來安裝一個minicom串口測試工具。如下:
③ 安裝完成后,exit退出QEMU。
④ 執(zhí)行ch-mount.sh腳本卸載文件系統(tǒng),指定參數(shù)-u,卸載成功后打印如下:
注意:我們exit退出后,只是退出了QEMU模擬器,并沒有卸載文件系統(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
③ 將剛打包好的壓縮包替換到上一級目錄下的舊的文件系統(tǒng)壓縮包。
④ 重新編譯打包后生成新的鏡像燒錄開發(fā)板。
7. 測試方法
燒錄到板子后,在終端啟動minicom,驗(yàn)證下是否安裝上。如下:
從上圖紅框可以看出,通過終端命令啟動了minicom,說明我們在QEMU中安裝成功了,至此Ubuntu文件系統(tǒng)定制就做完了。
通過這種方法可以個性化的定制屬于自己文件系統(tǒng),安裝自己所需軟件,也可以根據(jù)自己需求將出廠不需要的軟件用相同的方式卸載掉,這樣既能減少工作量,又利于批量化生產(chǎn)。
以上就是小編為大家?guī)淼脑贔orlinx Desktop(Ubuntu)系統(tǒng)上定制文件系統(tǒng)的操作過程。想要了解有關(guān)OKT507-C開發(fā)板更多的功能和詳情,可以點(diǎn)擊下方產(chǎn)品圖片進(jìn)入飛凌嵌入式官網(wǎng)查看。
相關(guān)產(chǎn)品 >
-
OKT507-C 開發(fā)板
CPU: T507 工業(yè)級處理器,超低功耗,10年+生命周期|推薦全志工業(yè)級T507開發(fā)板系列,飛凌OKT507-C開發(fā)板采用全志T507 四核工業(yè)級處理器 T507設(shè)計(jì)開發(fā),Cortex-A53架構(gòu),工業(yè)級寬溫,性能強(qiáng),低功耗,是一款高性價比的工業(yè)級產(chǎn)品,提供豐富的開發(fā)設(shè)計(jì)資料,提供產(chǎn)品規(guī)格書,軟硬件手冊等,全志的T507適用于車載電子、電力、醫(yī)療、工業(yè)控制、物聯(lián)網(wǎng)、智能終端等領(lǐng)域。
了解詳情 -
FETT507-C核心板
推薦T507,全志T507核心板采用工業(yè)級處理器設(shè)計(jì)開發(fā),提供T507規(guī)格書,T507各類設(shè)計(jì)資料。FETT507-C核心板集成全志T507四核工業(yè)級處理器設(shè)計(jì)開發(fā),Cortex-A53架構(gòu),主頻1.5GHz,集成G31 GPU,內(nèi)存2GB DDR3L,存儲8GB eMMC。整板工業(yè)級運(yùn)行溫寬,支持絕大部分當(dāng)前流行的視頻及圖片格式解碼,具有穩(wěn)定可靠的工業(yè)級產(chǎn)品性能、低功耗以及豐富的用戶接口等優(yōu)勢,搭載Linux、Android、Ubuntu*操作系統(tǒng),適用于車載電子、電力、醫(yī)療、工業(yè)控制、物聯(lián)網(wǎng)、智能終端等領(lǐng)域 了解詳情