RK3399 Ubuntu系統在PC虛擬機中使用apt-get修改文件系統
本文主要講解RK3399Ubuntu系統在PC虛擬機中使用apt-get修改文件系統(使用qemu在PC模擬開發板環境),采用硬件平臺為飛凌嵌入式OK3399-C開發板,本文使用的思路和方法僅供參考使用,其它arm開發板雖然芯片不同,但思路和方法有很多的共性,希望對您在板卡的使用中能夠有所幫助,更多ARM開發板相關資訊,關注飛凌嵌入式。
OK3399開發板功能接口圖
首先在VM虛擬機中安裝qemu相關環境
forlinx@ubuntu:$ sudo apt-get install qemu-user-static
將Forlinx Desktop源碼目錄下OK3399-desktop-release/rootfs/ubuntu.img文件擴容后掛載()
forlinx@ubuntu:~/OK3399-desktop-release/rootfs$ sudo fsck.ext3 -f IMAGE
forlinx@ubuntu:~/OK3399-desktop-release/rootfs$ sudo resize2fs IMAGE SIZE
(IMAGE為要修改的鏡像名稱,SIZE為塊的數量、一個塊的大小為4K(即當SIZE為783770時,783770*4=3135080,大概為3.2G,1250000時為5G))按需求擴容對應的容量大小,ubuntu.img鏡像大小與開發板rootfs分區有關,擴容為5G沒有問題,再往上擴容需要查看開發板rootfs分區大小,ubuntu.img ≤ rootfs分區大小,rootfs分區修改方法可參考我司知識庫描述:http://www.tkbv.cn/article_view_925.html
擴容后將ubuntu.img文件掛載到target目錄下
forlinx@ubuntu:~/OK3399-desktop-release/rootfs$ sudo mount ubuntu.img target/
forlinx@ubuntu:~/OK3399-desktop-release/rootfs$ cd target
修改配置
forlinx@ubuntu:~/OK3399-desktop-release/rootfs/target$ sudo cp /usr/bin/qemu-arm-static usr/bin/
拷貝PC主機端的dns配置,因為待會安裝程序時要用網絡:
forlinx@ubuntu:~/OK3399-desktop-release/rootfs/target$ sudo cp -b /etc/resolv.conf etc/resolv.conf
forlinx@ubuntu:~/OK3399-desktop-release/rootfs/target$ sudo vim etc/apt/source.list
添加
deb http://ports.ubuntu.com/ubuntu-ports/ xenial main universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main universe
創建qemu掛載腳本
forlinx@ubuntu:~/OK3399-desktop-release/rootfs/target$ cd ..
forlinx@ubuntu:~/OK3399-desktop-release/rootfs$ touch mount.sh
forlinx@ubuntu:~/OK3399-desktop-release/rootfs$ vi 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
保存退出
forlinx@ubuntu:~/OK3399-desktop-release/rootfs$ chmod +x mount.sh
forlinx@ubuntu:~/OK3399-desktop-release/rootfs$ sudo ./mount.sh -m target/
到此,成功將ubuntu.img掛載到qemu上,虛擬機操作用戶應該變為root@ubuntu:/# ,此時執行apt等操作會保留在ubuntu.img文件中
做對應的修改即可
退出 exit
取消掛載
forlinx@ubuntu:~/OK3399-desktop-release/rootfs$ sudo ./mount.sh -u target/
forlinx@ubuntu:~/OK3399-desktop-release/rootfs$ sudo umount target/
然后運行編譯腳本生成update.img即可。
相關產品 >
-
FET3399-C核心板
飛凌RK3399安卓高性能核心板采用 采用六核Rockchip RK3399芯片,雙Cortex-A72大核+四Cortex-A53小核結構,對整數、浮點、內存等作了大幅優化,在整體性能、功耗及核心面積三個方面提升。以下將對瑞芯微芯片RK3399參數,RK3399核心板方案及其性能做具體介紹。如您對飛凌RK3399系列核心板有興趣,歡迎咨詢了解。
了解詳情 -
OK3399-C開發板
飛凌嵌入式RK3399安卓開發板主芯片采用高性能六核CPU Rockchip RK3399,GPU采用Mail-T860四核 GPU,RK3399作為目RK產品線中低功耗、高性能的代表,可滿足人臉識別設備、機器人、無人機、IoT物聯網領域應用。飛凌RK3399開發板在整體性能、功耗及核心面積做了大幅度優化,更加滿足工業設計需求。飛凌RK3399開發板為進一步減少用戶二次開發難度,開放了底板原理圖,并提供了RK3399用戶手冊、芯片手冊,加上優質的技術服務,讓您的方案從構思到上市時間縮短。