Linux系統啟動制作及系統固化

      網友投稿 1471 2022-05-30

      前言

      本指導文檔適用開發環境:

      Windows開發環境:Windows 7 64bit、Windows 10 64bit

      linux開發環境:Ubuntu 14.04.3 64bit

      虛擬機:VMware14.1.1

      Kernel:Linux-4.9.65、Linux-RT-4.9.65

      Linux Processor SDK:ti-processor-sdk-linux-rt-am335x-evm-04.03.00.05

      評估板支持通過Linux系統啟動卡、eMMC、NAND FLASH三種方式啟動。本文檔主要演示Linux系統啟動卡制作,以及將Linux系統固化到eMMC的方法。將Linux系統固化到NAND FLASH的方法,另見文檔。

      1.Linux系統啟動卡制卡工具包說明

      1.1制卡工具包版本說明

      產品資料“4-軟件資料\Linux\Makesdboot\”目錄下的mksdboot_AA_BB_CC_DD.tar.gz壓縮文件是Linux系統啟動卡制卡工具包,主要包含U-Boot、Linux內核、設備樹鏡像文件,以及文件系統壓縮包等內容。AA_BB_CC_DD為制卡工具包的版本號,具體版本說明如下:

      AA: U-Boot發布版本。詳細信息請查看“4-軟件資料\Linux\U-Boot\”目錄下的特性支持說明文件。

      BB:Linux內核發布版本。詳細信息請查看“4-軟件資料\Linux\Kernel\”目錄下的特性支持說明文件。

      CC:文件系統發布版本。詳細信息請查看“4-軟件資料\Linux\Filesystem\”目錄下的特性支持說明文件。

      DD:產品測試程序發布版本。在文件系統下執行“cat /opt/product-test/version.txt”命令可查看具體版本信息。

      1.2制卡工具包目錄說明

      打開Ubuntu,將制卡工具包復制到“/home/tronlong/AM335x”工作目錄下,進入制卡工具包所在路徑將其解壓到當前目錄。工具包名稱需根據實際情況修改。

      Host# cd /home/tronlong/AM335x/

      Host# tar -xvf mksdboot_21_21_21_14.tar.gz -C .

      圖 1

      執行以下命令,查看解壓后的制卡工具包具體內容。

      Host# tree -L 5 mksdboot_21_21_21_14

      圖 2

      boot目錄

      MLO文件:U-Boot一級啟動鏡像。

      u-boot.img文件:U-Boot二級啟動鏡像。

      README.md文件:制卡工具包、U-Boot、Linux內核、文件系統等版本信息說明文件。logo.bmp文件:LOGO圖片。

      filesystem目錄

      boot目錄:主要包含Linux內核鏡像zImage、Linux-RT內核鏡像zImage-rt、基礎設備樹dtb文件、Linux-RT內核模塊壓縮包等。

      firmware目錄:主要包含動態設備樹dtbo文件。

      modules目錄:主要存放Linux內核模塊壓縮包。

      rootfs目錄:主要存放文件系統壓縮包。

      tests目錄:主要存放產品測試文件壓縮包。

      tools目錄:主要存放Shell腳本壓縮包。

      mksdboot.sh文件:Linux系統啟動卡制作腳本文件。

      1.3Linux-RT內核版本Linux系統啟動卡制作說明

      制卡工具包包含Linux內核鏡像、Linux內核模塊,以及Linux-RT內核鏡像、Linux-RT內核模塊。默認情況下,制作的是Linux內核版本的Linux系統啟動卡。如需制作Linux-RT內核版本的Linux系統啟動卡,請按照本小節方法替換內核鏡像和內核模塊,否則請跳過此小節內容。

      進入制卡工具包“filesystem/boot/”目錄,備份Linux內核鏡像zImage,并使用Linux-RT內核鏡像zImage-rt替換原來的zImage文件。

      Host# cd filesystem/boot/

      Host# cp zImage zImage-linux

      Host# mv zImage-rt zImage

      圖 3

      將制卡工具包“filesystem/modules/”文件夾備份,并使用“filesystem/boot/modules-rt/”文件夾將其替換,命令如下。

      Host# mv?../modules ../modules-linux

      Host# mv?modules-rt ../modules

      圖 4

      替換完成后,即可繼續參照后續章節方法制作Linux-RT內核版本的Linux系統啟動卡。

      2.Linux系統啟動卡制作

      評估板出廠時,默認提供一張配套的Micro SD卡,此卡為可正常使用的Linux系統啟動卡。本章節主要說明Linux系統啟動卡的制作方法,可使用配套的Linux系統啟動卡,或者使用新的空白Micro SD卡。如下步驟使用配套的Linux系統啟動卡進行操作,如使用空白Micro SD卡,步驟類似。

      2.1?Micro?SD卡掛載

      將Micro SD卡通過讀卡器連接到PC機,Ubuntu系統識別后,一般會自動掛載Micro?SD卡分區,如下圖所示。

      圖 5

      如果Ubuntu系統沒有自動識別,請右擊右下角的USB大容量存儲設備圖標,再點擊“Connect?(Disconnect from Host)”進行識別。

      圖 6

      如果沒有以上圖標或者連接不成功,請嘗試如下方法:

      請將Micro?SD卡通過讀卡器插到PC機USB 2.0接口,而不是USB 3.0接口,部分版本VMware可能不兼容USB 3.0。

      請將Micro?SD卡插在PC機上,然后重啟Ubuntu,在Ubuntu重啟過程中不要取出。Ubuntu系統重啟后,存儲設備圖標會重新出現。

      2.2Micro SD卡設備節點名確認

      執行如下命令,確認Micro?SD卡在Ubuntu系統的設備節點名。

      Host# sudo fdisk -l

      圖 7

      可以看到Micro?SD卡設備節點是“/dev/sdb”,并且有三個分區,分別為sdb1、sdb2和sdb3分區。設備節點名字是可變的,一般插拔多次或者使用不同的卡插拔后,可能會顯示sdc或者sdd。

      2.3PV工具安裝

      PV(Pipe Viewer)是一種基于終端的工具,用于通過管道監測數據的進度。

      為了更直觀地顯示系統啟動卡的制作進度,Linux系統啟動卡制作過程中會使用到PV工具。請執行如下命令通過網絡安裝PV工具,如未安裝PV工具將會導致系統啟動卡制作失敗。

      Host# sudo apt-get install pv

      圖 8

      2.4Linux系統啟動卡制作

      如下為Linux系統啟動卡制作命令。命令中“/dev/sdb”為Micro?SD卡設備節點,如錯誤輸入其他存儲介質設備節點,將會造成存儲介質數據損壞,請確認命令中設備節點無誤后,再執行命令。

      Host# sudo ./mksdboot.sh -d /dev/sdb

      圖 9

      根據提示按回車鍵,進行Linux系統啟動卡制作。

      圖 10

      耗時約5~10min,Linux系統啟動卡制作完成。同時,系統會打印提示信息,如下圖所示。制作時間與Linux系統大小、Micro?SD卡容量和接口性能有關。

      圖 11

      執行如下命令,可看到新制作的Linux系統啟動卡共有BOOT、rootfs和rootfs-backup三個分區。其中BOOT分區為FAT32格式,rootfs分區和rootfs-backup分區為EXT4格式。FAT32格式分區在Windows系統下可見,EXT4格式分區在Windows系統下不可見,三個分區在Linux系統下均可見。

      圖 12

      BOOT分區:主要存放U-Boot鏡像MLO、u-boot.img、LOGO等文件,從制卡工具包boot目錄復制而來。使用Linux系統啟動卡啟動系統時,將使用此目錄的MLO、u-boot.img文件啟動U-Boot。

      rootfs分區:存放文件系統。rootfs分區boot目錄主要存放內核鏡像、基礎設備樹文件等文件,從制卡工具包“filesystem/boot/”目錄復制而來。使用Linux系統啟動卡啟動系統時,將使用此目錄的zImage、tl335x-evm.dtb文件啟動內核。

      rootfs-backup分區:存放文件系統備份文件。系統固化時,將其內容固化到eMMC或NAND FLASH。

      點擊右下角的大容量存儲設備圖標,選擇“Disconnect(Connect to host)”選項(如下圖),斷開Micro?SD卡和Ubuntu的連接,完成Linux系統啟動卡制作。

      圖 13

      2.5從Linux系統啟動卡啟動系統

      評估板斷電,將Linux系統啟動卡插入評估板Micro SD卡槽,根據評估底板絲印將撥碼開關撥為00010(1~5),此檔位為SD卡啟動模式。使用Micro USB線連接評估板的USB TO UART3調試串口到PC機,然后將評估板上電啟動,串口調試終端會打印以下類似啟動信息。

      圖 14

      Linux系統啟動卡制作及系統固化

      圖 15

      系統啟動后會自動登陸root用戶,說明使用Linux系統啟動卡啟動評估板成功。

      圖 16

      可執行如下命令查看當前Linux內核版本信息。

      Host# cat /proc/version

      圖 17?Linux內核

      圖 18?Linux-RT內核

      3.固化Linux系統(SPI FLASH+eMMC)

      本小節介紹Linux系統固化過程,固化過程包含固化U-Boot到SPI FLASH和固化文件系統到eMMC。固化成功后,評估板從SPI FLASH啟動U-Boot,然后從eMMC加載內核、設備樹和文件系統。

      3.1掛載信息和SPI FLASH分區說明

      進入評估板系統后執行如下命令,分別查看系統啟動卡和eMMC掛載詳細信息,以及SPI FLASH分區信息。

      Target# df?-h

      Target# cat /proc/mtd

      圖 19

      表 1

      Linux系統啟動卡

      BOOT分區

      設備節點:/dev/mmcblk0p1

      掛載路徑:/run/media/mmcblk0p1

      rootfs-backup分區

      設備節點:/dev/mmcblk0p3

      掛載路徑:/run/media/mmcblk0p3

      eMMC設備

      BOOT分區

      設備節點:/dev/mmcblk1p1

      掛載路徑:/run/media/mmcblk1p1

      rootfs分區

      設備節點:/dev/mmcblk1p2

      掛載路徑:/run/media/mmcblk1p2

      data分區(用戶分區)

      設備節點:/dev/mmcblk1p3

      掛載路徑:/run/media/mmcblk1p3

      SPI FLASH

      MTD0

      spi.spl:存放U-Boot第一階段啟動文件MLO

      MTD1

      spi.u-boot:存放U-Boot第二階段啟動文件u-boot.img

      MTD2

      spi.env:存放環境變量

      MTD3

      spi.devicetree:存放基礎設備樹文件(暫未使用)

      MTD4

      spi.kernel:存放內核鏡像(暫未使用)

      3.2固化Linux系統

      Linux系統啟動卡制作時,已將系統固化的腳本文件mkemmcboot.sh復制到了Linux系統啟動卡文件系統的“/opt/tools/make-system”目錄下。

      圖 20

      執行如下命令進行一鍵固化。

      Target# /opt/tools/make-system/mkemmcboot.sh

      圖 21

      腳本會進行如下操作:

      擦除SPI FLASH。

      將eMMC格式化為BOOT、rootfs和data分區。

      將Linux系統啟動卡BOOT分區中的U-Boot固化到SPI FLASH對應分區。

      將Linux系統啟動卡BOOT分區中的LOGO文件固化到eMMC的BOOT分區。

      將Linux系統啟動卡rootfs-backup分區中的文件系統固化到eMMC的rootfs分區,包括內核鏡像和基礎設備樹文件。

      用時約3 min, Linux系統固化成功,同時串口調試終端打印提示信息。

      備注:腳本會將內核鏡像、基礎設備樹文件固化到SPI FLASH中,實際啟動并不會從SPI FLASH中加載內核鏡像和基礎設備樹文件。

      3.3從SPI+eMMC啟動系統

      評估板斷電,將Linux系統啟動卡從評估板Micro SD卡槽中取出,根據評估底板絲印將撥碼開關撥為10010(1~5),此檔位為SPI FLASH啟動模式。評估板上電,串口調試終端將會打印如下類似啟動信息。

      圖 22

      圖 23

      3.4動態設備樹dtbo文件加載方法

      評估板設備樹文件包含基礎設備樹dtb文件和動態設備樹dtbo文件,Linux系統啟動時會自動加載dtb文件,dtbo文件需要在文件系統下進行加載。本章節以tl335x-evm-lcd-overlay.dtbo動態設備樹為例,演示動態設備樹文件的方法。

      Linux系統啟動卡制作時,已將動態設備樹dtbo文件拷貝到文件系統的“/lib/firmware/”目錄下。將需要加載其他dtbo文件,請將其拷貝到文件系統“/lib/firmware/”目錄下。

      圖 24

      文件系統下依次執行如下命令,加載tl335x-evm-lcd-overlay.dtbo動態設備樹文件。

      Target# mkdir /configfs //創建configfs文件夾,如已存在,則無需重復創建

      Target# mount -t configfs configfs /configfs

      Target# mkdir /configfs/device-tree/overlays/full //創建full目錄,根據實際需要修改

      Target# echo -n "tl335x-evm-lcd-overlay.dtbo"?> /configfs/device-tree/overlays/full/path

      圖 25

      正常加載動態設備樹文件后,系統會打印驅動加載的相關信息,部分驅動也有可能不打印任何信息。可執行如下命令查看動態設備樹文件的加載狀態。

      Target# cat /configfs/device-tree/overlays/full/status

      Target# cat /configfs/device-tree/overlays/full/path

      圖 26

      Linux Ubuntu

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:2018有哪些前端技術值得我們關注
      下一篇:特征工程——文本特征
      相關文章
      国产亚洲sss在线播放| 在线亚洲人成电影网站色www| 久久精品亚洲男人的天堂| 在线观看日本亚洲一区| 亚洲福利秒拍一区二区| 亚洲无圣光一区二区| 亚洲高清资源在线观看| 91在线亚洲精品专区| 亚洲精品成人久久| 亚洲精品成人久久| 亚洲成人网在线播放| 亚洲精品综合久久中文字幕| 666精品国产精品亚洲| 亚洲精品日韩中文字幕久久久| 亚洲最大的成网4438| 亚洲一级二级三级不卡| 日韩亚洲Av人人夜夜澡人人爽 | 亚洲avav天堂av在线网毛片| 亚洲精品无码高潮喷水A片软| 亚洲码和欧洲码一码二码三码 | 亚洲国产精品无码专区在线观看| 国产亚洲色婷婷久久99精品| 国产AV无码专区亚洲AVJULIA| 亚洲春色在线视频| 久久久久亚洲AV无码麻豆| 亚洲成人动漫在线观看| 亚洲一级特黄特黄的大片| 亚洲综合一区无码精品| 久久精品国产亚洲av瑜伽| 国产成人亚洲综合无| 亚洲人成人网站在线观看| 亚洲综合熟女久久久30p| 国产亚洲A∨片在线观看| 亚洲国产天堂在线观看| 亚洲成a人片7777| 亚洲日韩精品A∨片无码加勒比| 亚洲AV成人片无码网站| 久久久久噜噜噜亚洲熟女综合| 亚洲国产精品SSS在线观看AV| 91亚洲va在线天线va天堂va国产| 亚洲人成高清在线播放|