本指導(dǎo)文檔適用開發(fā)環(huán)境:
windows開發(fā)環(huán)境:Windows 7 64bit、Windows 10 64bit
linux開發(fā)環(huán)境:Ubuntu 14.04.3 64bit
虛擬機:VMware14.1.1
U-Boot:U-Boot-2020.04
Kernel:Linux-5.4.70
Linux SDK:5.4.70_2.3.0
評估板支持通過Linux系統(tǒng)啟動卡和板載eMMC存儲設(shè)備兩種方式啟動。本文檔主要演示Linux系統(tǒng)啟動卡制作,以及將Linux系統(tǒng)固化至eMMC的方法。
1 Linux系統(tǒng)啟動卡制卡工具包說明
1.1 制卡工具包版本說明
產(chǎn)品資料“4-軟件資料LinuxMakesdboot”目錄下的mksdboot_AA_BB_CC.tar.gz壓縮文件是Linux系統(tǒng)啟動卡制卡工具包,主要包含U-Boot、Linux內(nèi)核、設(shè)備樹鏡像文件,以及文件系統(tǒng)壓縮包等內(nèi)容。AA_BB_CC為制卡工具包的版本號,具體版本說明如下。
(1) AA:U-Boot發(fā)布版本。詳細信息請查看“4-軟件資料LinuxU-Boot”目錄下的特性支持說明文件。
(2) BB:Linux內(nèi)核發(fā)布版本。詳細信息請查看“4-軟件資料LinuxKernel”目錄下的特性支持說明文件。
(3) CC:文件系統(tǒng)發(fā)布版本。詳細信息請查看“4-軟件資料LinuxFilesystem”目錄下的特性支持說明文件。
1.2 制卡工具包目錄說明
打開Ubuntu,將制卡工具包復(fù)制到"/home/tronlong/IMX8/"工作目錄下,進入制卡工具包所在路徑執(zhí)行如下命令將其解壓至當前目錄,工具包名稱請根據(jù)實際情況修改。
Host# tar -xvf mksdboot_10_10_10.tar.gz -C .
圖 1
執(zhí)行如下命令,查看解壓后的制卡工具包具體內(nèi)容。
Host# tree -L 3 mksdboot_10_10_10
圖 2
(1) boot目錄
Ø flash.bin:U-Boot啟動鏡像。
Ø Image:Linux內(nèi)核鏡像。
Ø *.dtb:基礎(chǔ)設(shè)備樹文件。
Ø README.md文件:制卡工具包、U-Boot、Linux內(nèi)核、文件系統(tǒng)等版本信息說明文件。
(2) filesystem目錄
Ø modules目錄:主要存放Linux內(nèi)核模塊壓縮包。
Ø rootfs目錄:主要存放文件系統(tǒng)壓縮包。
Ø tools目錄:存放Shell腳本。
(3) mksdboot.sh文件:Linux系統(tǒng)啟動卡制作腳本文件。
2 Linux系統(tǒng)啟動卡制作
評估板出廠時,默認提供一張配套的Micro SD卡,此卡為可正常使用的Linux系統(tǒng)啟動卡。本章節(jié)主要說明Linux系統(tǒng)啟動卡的制作方法,可使用配套的Linux系統(tǒng)啟動卡,或者使用新的空白Micro SD卡。如下步驟使用配套的Linux系統(tǒng)啟動卡進行操作,如使用空白Micro SD卡,步驟類似。
2.1 Micro SD卡掛載
將Micro SD卡通過讀卡器連接至PC機,Ubuntu系統(tǒng)識別后,一般會自動掛載Micro SD卡分區(qū),如下圖所示。
圖 3
如Ubuntu系統(tǒng)未自動識別,請右擊右下角的USB大容量存儲設(shè)備圖標,再點擊"Connect (Disconnect from Host)"進行識別。
圖 4
如無以上圖標或者連接不成功,請嘗試如下方法:
(1) 請將Micro SD卡通過讀卡器插到PC機USB 2.0接口,而不是USB 3.0接口,部分版本VMware可能不兼容USB 3.0。
(2) 請將Micro SD卡插在PC機上,然后重啟Ubuntu,在Ubuntu重啟過程中不要取出。Ubuntu系統(tǒng)重啟后,存儲設(shè)備圖標會重新出現(xiàn)。
2.2 Micro SD卡設(shè)備節(jié)點名確認
執(zhí)行如下命令,確認Micro SD卡在Ubuntu系統(tǒng)的設(shè)備節(jié)點名。
Host# sudo fdisk -l
圖5
可看到Micro SD卡設(shè)備節(jié)點是"/dev/sdb",并且有三個分區(qū),分別為sdb1、sdb2和sdb3分區(qū)。設(shè)備節(jié)點名字是可變的,一般插拔多次或者使用不同的卡插拔后,可能會顯示sdc或者sdd。
2.3 PV工具安裝
PV(Pipe Viewer)是一種基于終端的工具,用于通過管道監(jiān)測數(shù)據(jù)的進度。
為了更直觀地顯示系統(tǒng)啟動卡的制作進度,Linux系統(tǒng)啟動卡制作過程中會使用到PV工具。請執(zhí)行如下命令通過網(wǎng)絡(luò)安裝PV工具,如未安裝PV工具將會導(dǎo)致系統(tǒng)啟動卡制作失敗。
Host# sudo apt-get install pv
圖 6
2.4 Linux系統(tǒng)啟動卡制作
如下為Linux系統(tǒng)啟動卡制作命令。命令中"/dev/sdb"為Micro SD卡設(shè)備節(jié)點,如錯誤輸入其他存儲介質(zhì)設(shè)備節(jié)點,將會造成存儲介質(zhì)數(shù)據(jù)損壞,請確認命令中設(shè)備節(jié)點無誤后,再執(zhí)行命令。
Host# sudo ./mksdboot.sh -d /dev/sdb
圖 7
根據(jù)提示按回車鍵,進行Linux系統(tǒng)啟動卡制作。
圖 8
耗時約15~25min,Linux系統(tǒng)啟動卡制作完成。同時,系統(tǒng)會打印提示信息,如下圖所示。制作時間與Linux系統(tǒng)大小、Micro SD卡容量和接口性能有關(guān)。
圖 9
執(zhí)行如下命令,可看到新制作的Linux系統(tǒng)啟動卡共有BOOT、rootfs和rootfs-backup三個分區(qū)。其中BOOT分區(qū)為FAT32格式,rootfs分區(qū)和rootfs-backup分區(qū)為EXT4格式。FAT32格式分區(qū)在Windows系統(tǒng)下可見,EXT4格式分區(qū)在Windows系統(tǒng)下不可見,三個分區(qū)在Linux系統(tǒng)下均可見。
圖 10
BOOT分區(qū):主要存放U-Boot啟動鏡像flash.bin、內(nèi)核鏡像Image、基礎(chǔ)設(shè)備樹文件等文件,從制卡工具包boot目錄復(fù)制而來。使用Linux系統(tǒng)啟動卡啟動系統(tǒng)時,將使用此目錄的flash.bin文件啟動U-Boot。
rootfs分區(qū):存放文件系統(tǒng)。
rootfs-backup分區(qū):存放備份的文件系統(tǒng)。系統(tǒng)固化時,將其內(nèi)容固化至eMMC文件系統(tǒng)分區(qū)。
點擊右下角的大容量存儲設(shè)備圖標,選擇"Disconnect(Connect to host)"選項(如下圖),斷開Micro SD卡和Ubuntu的連接,完成Linux系統(tǒng)啟動卡制作。
圖 11
2.5 從Linux系統(tǒng)啟動卡啟動系統(tǒng)
評估板斷電,將Linux系統(tǒng)啟動卡插入評估板Micro SD卡槽,根據(jù)評估底板絲印將撥碼開關(guān)撥為11100(1~5),此檔位為系統(tǒng)啟動卡啟動模式。使用Micro USB線連接評估板的USB TO UART2調(diào)試串口至PC機,然后將評估板上電啟動,串口調(diào)試終端會打印如下類似啟動信息。
圖 12
圖 13
系統(tǒng)啟動后會自動登陸root用戶,說明使用Linux系統(tǒng)啟動卡啟動評估板成功。
圖 14
可執(zhí)行如下命令查看當前Linux內(nèi)核版本信息。
Host# cat /proc/version
圖 15
3 eMMC固化Linux系統(tǒng)
3.1 系統(tǒng)啟動卡和eMMC掛載信息說明
進入評估板系統(tǒng)后執(zhí)行如下命令,查看Linux系統(tǒng)啟動卡和eMMC掛載詳細信息。
Target# df -h
圖 16
表 1
|
Linux系統(tǒng)啟動卡 |
BOOT分區(qū) |
設(shè)備節(jié)點:/dev/mmcblk1p1 |
|
掛載路徑:/run/media/mmcblk1p1 |
||
|
rootfs-backup分區(qū) |
設(shè)備節(jié)點:/dev/mmcblk1p3 |
|
|
掛載路徑:/run/media/mmcblk1p3 |
||
|
eMMC設(shè)備 |
BOOT分區(qū) |
設(shè)備節(jié)點:/dev/mmcblk0p1 |
|
掛載路徑:/run/media/mmcblk0p1 |
||
|
rootfs分區(qū) |
設(shè)備節(jié)點:/dev/mmcblk0p2 |
|
|
掛載路徑:/run/media/mmcblk0p2 |
||
|
data分區(qū)(用戶分區(qū)) |
設(shè)備節(jié)點:/dev/mmcblk0p3 |
|
|
掛載路徑:/run/media/mmcblk0p3 |
3.2 eMMC固化Linux系統(tǒng)
Linux系統(tǒng)啟動卡制作時,已將eMMC固化系統(tǒng)的腳本文件mkemmcboot.sh復(fù)制到了Linux系統(tǒng)啟動卡文件系統(tǒng)的"/opt/tools/"目錄下。
圖 17
執(zhí)行如下命令進行一鍵固化。
Target# /opt/tools/mkemmcboot.sh
圖 18
腳本會進行如下操作:
(1) 將Linux系統(tǒng)啟動卡BOOT分區(qū)中的文件固化至eMMC的BOOT分區(qū),包括U-Boot啟動鏡像、內(nèi)核鏡像和基礎(chǔ)設(shè)備樹文件。
(2) 將Linux系統(tǒng)啟動卡rootfs-backup分區(qū)中的文件系統(tǒng)固化至eMMC的rootfs分區(qū)。
用時約5min,eMMC成功固化Linux系統(tǒng),同時串口調(diào)試終端打印提示信息。
3.3 從eMMC啟動系統(tǒng)
評估板斷電,將Linux系統(tǒng)啟動卡從評估板Micro SD卡槽中取出,根據(jù)評估底板絲印將撥碼開關(guān)撥為00010(1~5),此檔位為eMMC啟動模式。評估板上電,串口調(diào)試終端將會打印如下類似啟動信息。
圖 19
圖 20






