1 SD系統啟動卡說明 SD卡啟動是開發板系統啟動方式的一種。SD系統啟動卡共有boot分區、rootfs分區和rootfs-backup分區三個分區,其中boot分區為FAT32格式、rootfs分區和rootfs-backup分區為EXT4格式。FAT32格式分區在Windows系統下可見,EXT4格式分區在Windows系統下不可見,三個分區在Linux系統下均可見。boot分區存放U-Boot、內核、設備樹等;rootfs分區存放文件系統;rootfs-backup分區用于備份文件系統,系統固化時將其拷貝并固化到eMMC。 開發板出廠時已經提供一個正常使用的Linux SD系統啟動卡。以下步驟是Linux SD系統啟動卡的制作過程。 l 操作環境: Ubuntu 14.04.3 64bit l 制作文件說明 制作文件為光盤“Shell\Linux-4.4.19-mksdboot.tar.gz”壓縮包,基于Linux-4.4.19內核,適用于TL5728-EasyEVM、TL5728-IDK。 根據制作文件制作的SD卡默認支持TL5728-EasyEVM開發板,若要支持其它型號開發板,需要設置系統啟動的U-Boot環境變量。 2 SD系統啟動卡制作步驟2.1 拷貝啟動卡制作文件到Ubuntu打開Ubuntu,執行如下命令創建“/home/tronlong/AM57xx/Linux-4.4.19-mksdboot”目錄,將光盤“Shell\Linux-4.4.19-mksdboot.tar.gz”壓縮包復制到該目錄下,進入制卡壓縮包所在路徑執行如下指令將其解壓到當前目錄: Host# mkdir -p /home/tronlong/AM57xx/Linux-4.4.19-mksdboot Host# cd /home/tronlong/AM57xx/Linux-4.4.19-mksdboot Host# tar -xvf Linux-4.4.19-mksdboot.tar.gz -C . ![]() 解壓后的Linux-4.4.19-mksdboot文件夾內容結構大致如下圖: ![]() boot目錄: 該目錄下的MLO、u-boot.img和uEnv.txt文件會復制到SD卡的boot分區,該目錄下的zImage文件和dtb目錄下的全部文件會復制到SD卡rootfs分區的boot目錄下。 Ø MLO:U-Boot一級啟動鏡像; Ø u-boot.img:U-Boot二級啟動鏡像; Ø zImage:Linux內核鏡像; Ø dtb目錄:存放.dtb設備樹文件,由內核編譯步驟產生。 filesystem目錄: 該目錄存放了將要復制到SD卡rootfs分區的文件系統。 Ø modules目錄:內核驅動壓縮包,和內核版本對應; Ø product-test目錄:生產測試壓縮包,會解壓到rootfs分區的opt目錄下; Ø rootfs目錄:存放根文件系統壓縮包; Ø tools目錄:tools目錄里存放著部分shell腳本,會被復制到SD啟動卡的boot分區; Ø mksdboot.sh:Linux SD系統啟動卡制作腳本。 以上文件如需替換,務必保證命名、格式與原文件保持一致。 2.2 識別SD卡將Micro SD卡通過讀卡器連接到計算機,虛擬機Ubuntu系統識別后會自動識別SD卡分區,如下圖所示: ![]() 如果沒有自動識別,請右擊右下角的USB大容量存儲設備圖標,再點擊“Connect (Disconnect from Host)”。 ![]() 如果沒有以上圖標或者連接不成功,請嘗試如下方法: l 請將Micro SD卡通過讀卡器插到USB 2.0接口,而不是USB 3.0接口,部分版本VMware可能不支持USB 3.0。 l 請將Micro SD卡插在PC上,然后重啟Ubuntu,在Ubuntu重啟過程中不要撥出來,開機后圖標會重新出現。 2.3 確認SD卡設備節點名執行如下命令,確認SD卡設備節點名: Host# sudo fdisk -l ![]() 可以看到SD卡設備節點是sdb,其中有1個分區,分區名字是sdb1。SD卡設備節點名字是可變的,一般插拔多次或者不同的卡插拔后,可能會顯示sdc或者sdd甚至sde。 2.4 運行SD系統啟動卡制作腳本系統啟動卡制作腳本mksdboot.sh主要有如下作用: l 將SD卡格式化為boot分區、rootfs分區和rootfs-backup分區。 l 將rootfs文件夾中的文件系統壓縮包解壓安裝到rootfs分區,同時還將文件系統壓縮包解壓備份到rootfs-backup分區。 l 將boot目錄下的U-Boot鏡像文件MLO、u-boot.img拷貝到boot分區。SD卡模式啟動時,系統會使用boot分區U-Boot鏡像文件。 l 將“boot/dtb”目錄下的所有dtb設備樹文件,拷貝到rootfs分區“/boot”目錄。在U-Boot命令行下,通過修改環境變量board_name的參數值,系統會根據修改加載rootfs分區“/boot”目錄下不同型號開發板對應的設備樹文件。 l 將boot目錄下的內核鏡像文件zImage拷貝到rootfs分區“/boot”目錄。SD卡模式啟動時,系統會使用rootfs分區“/boot”目錄下的內核鏡像文件。 使用SD系統啟動卡啟動系統時,如需替換U-Boot鏡像、設備樹、內核鏡像、文件系統,有如下方法: (1) 使用新的U-Boot鏡像文件,保持文件名與原文件一致,替換SD系統啟動卡boot分區下的對應文件;使用新的設備樹文件,替換SD系統啟動卡rootfs分區“/boot”目錄下的對應文件;使用新的內核鏡像文件,保持文件名與原文件一致,替換SD系統啟動卡rootfs分區“/boot”目錄下的對應文件,同時還需替換與新內核版本對應的內核驅動壓縮包;先刪除SD系統啟動卡rootfs分區所有內容,再使用新的文件系統壓縮包,將其解壓到SD系統啟動卡rootfs分區,并將設備樹文件、內核鏡像文件拷貝到SD系統啟動卡rootfs分區“/boot”目錄。 (2) 使用新的U-Boot鏡像文件、設備樹文件、內核鏡像文件、文件系統壓縮包,保持文件名與原文件一致,替換SD系統啟動卡制作文件目錄下的對應文件,然后重新制作SD系統啟動卡。 進入Linux-4.4.19-mksdboot目錄下的mksdboot文件夾,執行如下命令,運行SD系統啟動卡制作腳本。 Host# cd /home/tronlong/AM57xx/Linux-4.4.19-mksdboot/mksdboot/ Host# sudo ./mksdboot.sh --device /dev/sdb “/dev/sdb”為SD卡設備節點。請再次確認SD卡設備節點一致,如錯誤輸入其他存儲介質設備節點,將會造成存儲介質數據損壞。 ![]() 按回車鍵,進行SD系統啟動卡制作,耗時約30 min,制卡耗時跟SD卡容量和接口性能有關。SD系統啟動卡制作完成,如下圖所示: ![]() 根據以上步驟制作的SD系統啟動卡默認支持TL5728-EasyEVM開發板。開發板斷電,將開發板的撥碼開關撥為01000(1~5),這個檔位是Micro SD卡(MMC1)啟動模式。 使用Micro USB線連接PC和開發板的USB轉串口調試口,然后將開發板上電,串口終端會打印以下啟動信息,并可以成功登陸系統,說明SD系統啟動卡制作成功,如下圖所示: ![]() ![]() 銷售郵箱:www.tronlong.com 技術論壇:www.51ele.net 線上商城:https://tronlong.taobao.com |