EasyARM-i.MX283A 更換內核開機LOGO,需要做以下幾步工作:
1、製作圖片
2、編譯內核
3、燒錄內核
編譯內核前需要安裝arm-fsl-linux-gnueabi-gcc 交叉工具鏈
安裝交叉工具鏈
1、獲取安裝包
arm-fsl-linux-gnueabi-gcc 交叉工具鏈下載鏈接
鏈接:https://pan.baidu.com/s/1-Dh9dLEhpvohoMMkgca6sQ
提取碼:xdrf
2、安裝工具鏈
mkdir -p /opt/freescale/usr/local
tar zxvf gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz -C /opt/freescale/usr/local
3、添加環境變量
在/etc/profile 下添加
export ARCH=arm
export CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-
export PATH=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin:$PATH
使之生效
source /etc/profile
測試
arm-fsl-linux-gnueabi-gcc -v
編譯內核
1、安裝工具
sudo apt-get install netpbm
2、製作圖片
pngtopnm logo.png | ppmquant -fs 224 | pnmtoplainpnm > logo_linux_clut224.ppm
其中 logo.png 是你要顯示的logo圖片
3、替換圖片
將轉換好的logo_linux_clut224.ppm文件拷貝至內核文件夾下:linux-2.6.35.3/drivers/video/logo 子目錄,替換原 logo_linux_clut224.ppm 文件
4、編譯測試內核
在內核根目錄下執行
./config-kernel
make uImage
如果提示:mkimage command not found – U-Boot images will not be built 將無法生成ulmage,只能在 arch/arm/boot/目錄下找到Image和zImage。那麼需要執行下一步。
(PS : 其中Image爲內核映像文件,而zImage爲內核的一種映像壓縮文件,Image大約爲4M,而zImage不到2M。uImage是uboot專用的映像文件,它是在zImage之前加上一個長度爲64字節的“頭”,說明這個內核的版本、加載位置、生成時間、大小等信息;其0x40之後與zImage沒區別。)
5、安裝mkimage工具
sudo apt-get install uboot-mkimage
再次make uImage,arch/arm/boot/下就生成了ulmage
下載內核
1、搭建tftp服務器
安裝
sudo apt-get install tftpd-hpa tftp-hpa
建立tftp根目錄
vmuser@Linux-host ~$ sudo mkdir /tftpboot
[sudo] password for vmuser:
vmuser@Linux-host ~$ sudo chmod –R 777 /tftpboot
vmuser@Linux-host ~$ sudo chown –R nobody /tftpboot
修改配置文件
sudo vi /etc/default/tftpd-hpa
修改爲:
TFTP_USERNAME=“tftp”
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS=“0.0.0.0:69”
TFTP_OPTIONS="-l -c -s"
修改後應該要重啓一下linux虛擬機才能生效。
準備升級文件
把之前生成的uImage(內核固件)放到/tftpboot下
2、uboot連接tftp升級
進入UBOOT命令行
配置IP
MX28 U-Boot > setenv ipaddr 192.168.31.205 //開發板IP地址
MX28 U-Boot > setenv serverip 192.168.31.206 //服務器IP地址
MX28 U-Boot > saveenv //保存
ping 192.168.31.206
Using FEC0 device
host 192.168.31.206 is alive #表示網絡連接暢通
執行燒寫
run upkernel
完成後重啓
logo更換成功