為了給客戶的測試和開發提供便利,飛凌嵌入式的開發板產品一般都支持多種操作系統,以基于全志T507H處理器設計研發的OKT507-C開發板為例,它支持三種操作系統,分別是:Linux、Android 和 Forlinx Desktop(Ubuntu),這里提到的Forlinx Desktop系統是飛凌嵌入式在Ubuntu base的基礎上構建的桌面操作系統,完全兼容Ubuntu18.04,相對傳統的Linux系統而言易用性更高。
ForlinxDesktop(Ubuntu)系統基于Ubuntu官方為嵌入式設備制作的操作系統-Lubuntu,該操作系統具備apt-get、ldd等常用的命令,若需要安裝軟件則直接apt-get在線安裝即可,不需進行交叉編譯移植等繁瑣操作。但是每次重新燒寫鏡像之后,之前安裝的軟件就得重新安裝,比較繁瑣,如果需要批量操作則每塊開發板都需要去apt-get安裝,這樣會大幅增加工作量,很不便于批量化生產。
能不能把軟件一起打包到鏡像呢?這樣每次燒寫完就不用再去apt-get在線安裝了。答案當然是肯定的,這就涉及到文件系統的定制了,那么接下來,小編就為大家介紹在Forlinx Desktop(Ubuntu)系統上定制文件系統的操作過程。
1. 解壓文件系統
首先,找到OKT507-desktop-release源碼的文件系統所在的目錄,然后將文件系統壓縮包解壓,路徑如下:
OKT507-desktop-release/ubuntu
![b38fd11e-7ce3-11ed-b116-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9C/9D/wKgZomTn5tiAZ_-HAACV9HCHyJ0048.png)
解壓后,可看到文件系統目錄OKT507-linux-ubuntu,進入到此目錄后可看到如下文件夾:
![b3a764c8-7ce3-11ed-b116-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9C/9D/wKgZomTn5tiAaZuUAADbxz-jnFw059.png)
2. 安裝QEMU
這里簡單介紹下QEMU,它是一個小巧的模擬器,可以模擬很多硬件如ARM、x86、AMD64/Intel64等。QEMU用途廣泛,比如Xen、Android模擬器等都是基于QEMU的。下面我們開始在虛擬機進行安裝QEMU,如下:
① 更新下載源:
sudo apt-get update
②執行命令安裝:
sudo apt-get install qemu-aarch64-static
sudo apt-get install qemu-user-static
3. 修改配置
① 將QEMU的qemu-arm-static拷貝到文件系統目錄OKT507-linux-ubuntu,如下:
sudo cp /usr/bin/qemu-arm-static usr/bin/
![b3c7f4ae-7ce3-11ed-b116-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9C/9D/wKgZomTn5tiAMnpRAAC9K-wHCIs396.png)
② 拷貝PC主機端的DNS配置,因為待會我們安裝程序時要用網絡:
sudo cp -b /etc/resolv.conf etc/resolv.conf
![b3e9c2c8-7ce3-11ed-b116-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9C/9D/wKgZomTn5tiABJzmAADG5kb8974004.png)
③ 修改下載源:
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
![b412f148-7ce3-11ed-b116-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9C/9D/wKgZomTn5tiABqXvAAM1A0KnW1I465.png)
4. 掛載文件系統
因為我們這里是通過腳本的方式掛載和卸載文件系統,所以需要編寫一個腳本掛載和卸載文件系統。
① 新建一個腳本文件命名為ch-mount.sh,附代碼如下:
#!/bin/bash
② 設置這個shell腳本可執行權限,如下:
sudochmod 777 ch-mount.sh
③ 掛載文件系統:
執行ch-mount.sh腳本指定參數-m,掛載成功如下:
sudo./ch-mount.sh -m ./
![b4362bcc-7ce3-11ed-b116-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9C/9D/wKgZomTn5tmAUFTcAACtUyUCqWM602.png)
5. 安裝軟件
前面我們掛載了文件系統,已將文件系統掛載到了QEMU模擬器,接下來就可以安裝我們所需要的軟件了。
① 更新下載源:
apt update
注意:更新下載源可能會報錯,這里需要注意一下,因為tmp文件夾權限不夠,chmod為其賦予權限。
如下:
chmod 777 /tmp
② 安裝軟件:
至此,便可以安裝所需軟件了,在這里用apt-get安裝自己所需軟件,根據所需安裝。我們這里來安裝一個minicom串口測試工具。如下:
![b458919e-7ce3-11ed-b116-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9C/9D/wKgZomTn5tmAERA_AAGdXkJg51I375.png)
③ 安裝完成后,exit退出QEMU。
④ 執行ch-mount.sh腳本卸載文件系統,指定參數-u,卸載成功后打印如下:
![b49f1aba-7ce3-11ed-b116-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9C/9D/wKgZomTn5tmAcwD5AADdeCYqZY0373.png)
注意:我們exit退出后,只是退出了QEMU模擬器,并沒有卸載文件系統,一定要執行腳本卸載文件系統。
6. 打包文件系統
① 完成前面的步驟后,用tar命令將當前文件夾下所有文件壓縮,命名為OKT507-linux-ubuntu.tar.gz。如下:
sudo tar -cvzf OKT507-linux-ubuntu.tar.gz ./*
② 壓縮完成后,為文件系統壓縮包OKT507-linux-ubuntu.tar.gz賦予權限,如下:
sudo chmod a+w OKT507-linux-ubuntu.tar.gz
![b4c6a846-7ce3-11ed-b116-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9C/9D/wKgZomTn5tmAIHLwAAEp65Qdtb4006.png)
③ 將剛打包好的壓縮包替換到上一級目錄下的舊的文件系統壓縮包。
![b4f2d344-7ce3-11ed-b116-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9C/9D/wKgZomTn5tmACe88AAECwx0Rl7g799.png)
④ 重新編譯打包后生成新的鏡像燒錄開發板。
![b51038bc-7ce3-11ed-b116-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9C/9E/wKgZomTn5tmAHGbFAAIIEDlruUg290.png)
7. 測試方法
燒錄到板子后,在終端啟動minicom,驗證下是否安裝上。如下:
![b52e62e2-7ce3-11ed-b116-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9C/9E/wKgZomTn5tqAdINEAABC51ZEx0s384.png)
從上圖紅框可以看出,通過終端命令啟動了minicom,說明我們在QEMU中安裝成功了,至此Ubuntu文件系統定制就做完了。
通過這種方法可以個性化的定制屬于自己文件系統,安裝自己所需軟件,也可以根據自己需求將出廠不需要的軟件用相同的方式卸載掉,這樣既能減少工作量,又利于批量化生產。
以上就是小編為大家帶來的在Forlinx Desktop(Ubuntu)系統上定制文件系統的操作過程。
-
文件系統
+關注
關注
0文章
287瀏覽量
19985 -
Ubuntu
+關注
關注
5文章
566瀏覽量
30038
發布評論請先 登錄
相關推薦
《手把手教你做星閃無人機》即將開播,鎖定15日晚七點!
![《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做星閃無人機》即將開播,鎖定15日晚七點!](https://file.elecfans.com/web2/M00/35/6C/poYBAGIq5qqAQJzlAAA5OpNWiJA439.png)
《手把手教你做PC》課程即將啟動!深開鴻引領探索KaihongOS筆記本電腦開發實戰
![《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做PC》課程即將啟動!深開鴻引領探索KaihongOS筆記本電腦開發實戰](https://file.elecfans.com/web2/M00/35/6C/poYBAGIq5qqAQJzlAAA5OpNWiJA439.png)
Ubuntu系統遷移指南:輕松駕馭國產3568嵌入式實驗箱
![<b class='flag-5'>Ubuntu</b><b class='flag-5'>系統</b>遷移指南:輕松駕馭國產3568嵌入式實驗箱](https://file1.elecfans.com/web2/M00/89/B2/wKgZomSJgEKAOHdxAAA0XdNROPc592.png)
Linux根文件系統的掛載過程
手把手教你通過宏集物聯網工控屏&網關進行協議轉換,將底層PLC/傳感器的數據轉換為TCP協議并傳輸到用戶
![<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>通過宏集物聯網工控屏&網關進行協議轉換,將底層PLC/傳感器的數據轉換為TCP協議并傳輸到用戶](https://file1.elecfans.com//web2/M00/02/B6/wKgZoma9kj-AOb0tAACF0naSlO875.webp)
linux--sysfs文件系統
![linux--sysfs<b class='flag-5'>文件系統</b>](https://file1.elecfans.com/web2/M00/F9/A4/wKgZomaLXwqAbGxzAAAQ6QVA7SI028.png)
手把手教你排序算法怎么寫
![<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>排序算法怎么寫](https://file.elecfans.com/web2/M00/9B/3D/poYBAGQjnauAVXOgAABFcEbXdEE684.png)
評論