<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM Linux 更新啟動畫面

          ARM Linux 更新啟動畫面

          作者: 時間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
          啟動畫面(Splash Screen)是指在Linux啟動時候顯示的圖片,通常默認(rèn)情況下Linux只是輸出一些傳統(tǒng)的小企鵝圖標(biāo)和啟動Console命令行,但嵌入式設(shè)備都需要定制自己開機(jī)畫面,這里就以Toradex ARM計算機(jī)模塊及其發(fā)布Linux 為例對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

          ----------------------------------------------------------------------------



          關(guān)鍵詞: ARMLinux啟動畫

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();