欢迎光临
我们一直在努力

IMX6ULL 修改内核启动LOGO

一、默认LOGO及内核配置

内核配置LOGO显示需要选择 CONFIG_LOGO_LINUX_CLUT224 配置,IDO-EVB6Y09内核源码中默认已开启了LOGO显示的支持,默认为一只企鹅图片。如下图所示:

图片文件路径为: drivers\\video\\logo\\logo_linux_clut224.ppm

二、图片格式转换

1、准备好一张png格式logo图片,将logo图片名称修改为 logo.png。

2、 Ubuntu 环境下验证图片格式转换,将会用到 pngtopnm、ppmquant、pnmtoplainpnm工具,如果执行过程中提示没有这些工具则需要先安装软件包。

$ sudo apt-get install netpbm 

3、此处我使用logo_maker.sh脚本一键自动化执行所有命令:

#logo_maker.sh

if [ $# -eq 0 ]; then
echo "错误:请指定源PNG文件路径"
echo "用法: $0 <png文件>"
exit 1
fi
srcpng=$1
echo "输入文件: $srcpng"

echo "转换PNG到PNM格式 (pngtopnm)…"
pngtopnm $srcpng > loongson.pnm
if [ $? -ne 0 ]; then
echo "❌ PNG转换失败!请检查输入文件"
exit 1
fi

sync
sync
pnmquant 224 loongson.pnm > loongson224.pnm
sync
sync
pnmtoplainpnm loongson224.pnm > loongson224.ppm
sync
sync
cp loongson224.ppm ../drivers/video/logo/logo_linux_clut224.ppm
cp loongson224.ppm ../release/logo_linux_clut224.ppm
sync
sync

其中 logo.png 为原始图片,logo_linux_clut224.ppm 为转换后的目标图片。

三、图片替换及内核编译

将转换后的图片 logo_linux_clut224.ppm 文件替换内核源码的 drivers\\video\\logo\\logo_linux_clut224.ppm。

替换完成后,我通过build_emmc.sh脚本自动化编译内核和设备树:

#build_emmc.sh

#!/bin/sh
export CPUS=`grep -c processor /proc/cpuinfo`
export ARCH=arm
export CROSS_COMPILE=/usr/local/arm/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-linux-
export PATH=/usr/local/arm/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin:$PATH

make distclean
cp ./linux_imx6ul_emmc_config .config
make zImage -j${CPUS}
#cp ./arch/arm/boot/zImage ../../../OTA/zImage-emmc
make dtbs
#cp ./arch/arm/boot/dts/imx6ul-14×14-evk-7.dtb ../../../OTA/imx6ul-14×14-evk-emmc-c-7-1024×600.dtb
#make modules

我的核心板使用的是emmc版本,如使用的是nand版本脚本如build_nand.sh:

#!/bin/sh
export CPUS=`grep -c processor /proc/cpuinfo`
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
make distclean
cp ./linux_imx6ul_nand_config .config
make zImage -j${CPUS}
make dtbs
#make modules

四、最后将新编译好的内核和设备树拷贝到指定文件夹下,以便后续使用,releaseFile.sh:

#releaseFile.sh

#!/bin/sh

cp ../arch/arm/boot/*Image ./

#cp ../drivers/hid/hid-multitouch.ko ./

cp ../arch/arm/boot/dts/imx6ul-14×14-evk-7.dtb ./

执行完脚本后,在指定文件夹下可以看到我们所需要的文件:

赞(0)
未经允许不得转载:171主机测评 » IMX6ULL 修改内核启动LOGO
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址