ARM Linux 更新啟動畫面
1). 配置
本文引用地址:http://www.ex-cimer.com/article/201611/319522.htm開發(fā)主機(jī):Ubuntu 14.04 X86_64
目標(biāo)板:Toradex ARM 計算機(jī)模塊及自帶的Embedded Linux
2). 準(zhǔn)備
下載Toradex Embedded Linux 源碼包
請按這里說明如何下載及編譯Kernel內(nèi)核
安裝相關(guān)軟件包
----------------------------------------------------------------------------
$ sudo apt-get install gimp
$ sudo aptget install tgif xfonts-100dpi xfonts-75dpi
----------------------------------------------------------------------------
3). 創(chuàng)建原始啟動畫面圖片
根據(jù)自己的需要利用gimp工具創(chuàng)建合適分辨率的圖片,詳細(xì)說明請見這里。這里將做好的圖片命名為"toradexlogo_1024x600.ppm"
4). 修改圖片顏色和編碼
----------------------------------------------------------------------------
$ ppmquant 224 toradexlogo_1024x600.ppm > toradexlogo_1024x600_224.ppm
$ pnmnoraw toradexlogo_1024x600_224.ppm > toradexlogo_1024x600_ascii_224.ppm
----------------------------------------------------------------------------
5). 將最終圖片改為系統(tǒng)默認(rèn)名字后放置于源碼目錄下對應(yīng)位置
----------------------------------------------------------------------------
$ cp toradexlogo_1024x600_ascii_224.ppm logo_custom_clut224.ppm
$ mv logo_custom_clut224.ppm linux-kernel/drivers/video/logo/
----------------------------------------------------------------------------
6). 修改編譯配置文件
a). linux-kernel/drivers/video/logo目錄里面需要修改Kconfig,Makfile和logo.c,如默認(rèn)已經(jīng)添加則無需修改。
./ Kconfig 文件添加下面內(nèi)容
----------------------------------------------------------------------------
config LOGO_CUSTOM_CLUT224
bool "Custom 224-color Linux logo"
default n
----------------------------------------------------------------------------
./ Makefile文件添加下面內(nèi)容
----------------------------------------------------------------------------
obj-$(CONFIG_LOGO_CUSTOM_CLUT224) += logo_custom_clut224.o
----------------------------------------------------------------------------
./ logo.c文件添加下面內(nèi)容
----------------------------------------------------------------------------
#ifdef CONFIG_LOGO_CUSTOM_CLUT224
logo = &logo_custom_clut224;
#endif
----------------------------------------------------------------------------
b). linux-kernel/include/linux/目錄里面,修改linux_logo.h,如默認(rèn)已經(jīng)添加則無需修改。
./ linux_logo.h文件添加下面內(nèi)容
----------------------------------------------------------------------------
extern const struct linux_logo logo_custom_clut224;
----------------------------------------------------------------------------
7). 重新編譯內(nèi)核
詳細(xì)說明請參考這里,這里以Colibri Vybrid產(chǎn)品為例,其他模塊需改為對應(yīng)參數(shù)。
a). 安裝交叉編譯Tool Chain,請從這里下載
----------------------------------------------------------------------------
$ tar xvf gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.tar.xz
$ ln -s gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf gcc-linaro
----------------------------------------------------------------------------
b). 配置環(huán)境變量
----------------------------------------------------------------------------
$ export ARCH=arm
$ export PATH=~/gcc-linaro/bin/:$PATH
$ export CROSS_COMPILE=arm-linux-gnueabihf-
----------------------------------------------------------------------------
c). 生產(chǎn)并修改config文件
----------------------------------------------------------------------------
$ make colibri_vf_defconfig //生成默認(rèn).config文件
$ make menuconfig // 進(jìn)入Device Drivers -> Graphics support -> Bootup logo -> 選擇 "Custom 224-color Linux logo"之后保存。
----------------------------------------------------------------------------
d). 編譯新的kernel image
----------------------------------------------------------------------------
make -j3 zImage | tee build.log
----------------------------------------------------------------------------
8). 部署新的image
a). 按如下方法,將原標(biāo)準(zhǔn)Linux image中的zImage替換為新的定制啟動畫面的zImage
----------------------------------------------------------------------------
$ cp zImage zImage_custom
$ sudo mv zImage_custom Colibri_VF_LinuxImageV2.x/rootfs/boot/
$ ln -fs /boot/zImage-custom zImage
----------------------------------------------------------------------------
b). 按照這里的方法將新的image刷寫到目標(biāo)板
9). 配置目標(biāo)板
進(jìn)入uboot,修改下面uboot環(huán)境變量,然后重啟就可以了
----------------------------------------------------------------------------
$ setenv setup setenv setupargs vt.global_cursor_default=0 console=${console},${baudrate}n8 ${memargs} consoleblank=0
----------------------------------------------------------------------------
評論