轉自:迅為IMX6ULL開發板使用手冊第七十一章
硬體平臺:迅為i.MX6ULL 開發板
本章節介紹的是iTOP-iMX6ULL-修改開機進度條的顯示和修改步驟,使用的資料已經放到了開發板網盤資料中路徑為「11_Linux系統開發進階\71_章節_修改開機進度條修改文檔使用資料」。
1.以下所有操作都在root下執行。下載psplash源碼,可以看到是yocto開源的其中一個項目。USER# git clone git://git.yoctoproject.org/psplash 如果終端提示:
圖 71.1
那就先輸入:apt install git
圖
71.2
現在最新版的psplash已經下載好了。
如果你經過幾次燒寫,操作都沒問題的情況下,但是還沒有出現預期效果,那就很可能是psplash的版本太新的原因了。好,那麼我們輸入官網地址https://git.yoctoproject.org,如圖 71.3、圖71.4和圖71.5所示找到下載地址,下載到主機上,然後通過ssh工具傳入Ubuntu中繼續下步操作。
圖
71.3
圖 71.4
圖 71.5
2.將圖片轉換成頭文件,利用psplash源碼下的 make-image-header.sh腳本進行轉換。轉換前需要下載一些庫才可以,否則會報錯。執行指令安裝庫sudo apt-get install libgdk-pixbuf2.0-dev。
將下兩張主圖片和進度條框複製到psplash源碼目錄下,本人已經複製到我的psplash源碼目錄中了
圖 71.6
3.在當前目錄下輸入下面的指令 ./make-image-header.sh topeet.png POKY生成topeet- img.h
圖 71.7
POKY這個參數只是一個變量,它會傳入 topeet- img.h裡面,可以打開來看看。
下圖我們打開了 topeet-img.h這個文件來看,它必須是這樣命名的。因為其他地方要用到這樣的宏定義,所以要加POKY參數
圖 71.8
在當前目錄下輸入下面的指令 ./make-image-header.sh psplash-bar.png BAR 生成 psplash-bar-img.h
圖 71.9
下圖我們打開了psplash-bar-img.h這個文件來看,它是必須是這樣命名的。因為其他地方要用到這樣的宏定義,所以要加BAR參數
圖 71.10
4.修改 psplash.c,將#include "psplash-poky-img.h"替換成#include "topeet-img.h "。因為進度條的名稱是一樣的,所以不用重新命名
圖 71.11
5.製作autogen.sh腳本,腳本內容如圖一,編寫完成賦予可執行權限」」chmod +x autogen.sh」再執行。
圖 71.12
圖 71.13
6.修改Makefile.am將psplash-poky-img.h改為topeet-img.h『』
圖 71.14
7.配置交叉編譯工具鏈 注意!前提配置環境變量,Yocto 環境的交叉編譯器是之前通過yocto獲取的
即fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh。我們在光碟資料的「i.MX6UL 終結者光碟資料\01_開發及燒寫工具\1.交叉編譯器」目錄下也提供了源碼。配置環境變量後,使用命令「arm-poky-linux-gnueabi-g++ --version」即可看到添加進來的編譯器如下圖
圖 71.15
然後輸入 ./configure --host=arm-linux
圖 71.16
8.執行make:生成psplash與psplash-write,將psplash與psplash-write拷貝到文件系統的根文件系統/usr/bin/目錄下(實質上複製psplash也可以了)
圖 71.17
9. psplash.sh腳本在根文件系統/etc/init.d中,此項已經存在。
10.將psplash.sh軟連結在根文件系統/etc/rcS.d/目錄下,用於開機啟動。
將文件系統打包,注意打包的路徑要寫對,然後燒寫,啟動。開機動畫就改變了,如圖 71.18所示:
圖 71.18
PS:建立軟連接方法:ln -s 源地址 目的地址
例如:比如我把linux文件系統rootfs_dir軟連結到/home/jyg/目錄下
ln -s /opt/linux/rootfs_dir /home/jyg/rootfs_dir就可以了
PS:如果不想顯示開機動畫,可以編輯/etc/init.d/psplash.sh,注釋最後一行
圖 71.19
PS:修改相關源文件,你可以自己對開機動畫做出相應的調整。
psplash-config.h
圖 71.20
psplash-colors.h顏色配置文件(背景色 進度條顏色等)
圖 71.21
設置進度條 高度寬度 psplash_draw_progress(psplash.c)函數中
圖 71.22
設置LOGO 進度條的坐標
圖 71.23