OK335xS psplash Screen 移植

/***********************************************************************
 *                   OK335xS psplash Screen 移植
 * 说明:
 *     有时候,每次看到TI的logo自己心里是不爽的,因为本来就是定制的东西,
 * 为什么还要他的开机Logo呢,于是自己尝试移植编译一下psplash。
 *
 *                                     2016-4-16 深圳 南山平山村 曾剑锋
 **********************************************************************/

一、参考文档:
    1. Customizing the SDK Splash Screen
        http://processors.wiki.ti.com/index.php/Customizing_the_SDK_Splash_Screen
    2. Makefile Makefile.am Makefile.in
        http://blog.csdn.net/OLillian/article/details/6281126
    3. config.h.in missing? #1
        https://github.com/stevedh/readingdb/issues/1

二、download:
    http://git.yoctoproject.org/cgit/cgit.cgi/psplash/commit/

三、编译、运行流程:
    1. aclocal;
    2. autoconf;
    3. automake --add-missing;
    4. autoreconf --install
    5. ./configure --host=arm-linux CC=arm-linux-gnueabihf-gcc;
    6. make.
    7. Replace the /usr/bin/psplash file in your root file system with the generated psplash file.

四、编译错误:
    1. error:
        1. 现象:
            Qt@zengjf:~/cmdTest/psplash-master$ ./autogen.sh --host=arm-linux CC=arm-linux-gnueabihf-gcc
            bash: ./autogen.sh: No such file or directory
        2. 解决办法:
            1. aclocal;
            2. autoconf;
            3. automake --add-missing;
            4. ./configure --host=arm-linux CC=arm-linux-gnueabihf-gcc;
            5. make.
    2. error:
        1. 现象:
            configure.ac:5: required file `config.h.in' not found
        2. 解决办法:
            autoreconf --install
    3. error:
        1. 现象:
            ......
            Screenshot-img.h:7:16: warning: missing whitespace after the macro name [enabled by default]
            Screenshot-img.h:7:0: warning: "psplash" redefined [enabled by default]
            Screenshot-img.h:6:0: note: this is the location of the previous definition
            psplash.c: In function ‘main’:
            psplash.c:277:19: error: ‘POKY_IMG_WIDTH’ undeclared (first use in this function)
            psplash.c:277:19: note: each undeclared identifier is reported only once for each function it appears in
            psplash.c:282:40: error: ‘POKY_IMG_HEIGHT’ undeclared (first use in this function)
            psplash.c:286:5: error: ‘POKY_IMG_BYTES_PER_PIXEL’ undeclared (first use in this function)
            psplash.c:287:5: error: ‘POKY_IMG_ROWSTRIDE’ undeclared (first use in this function)
            psplash.c:288:5: error: ‘POKY_IMG_RLE_PIXEL_DATA’ undeclared (first use in this function)
            make[1]: *** [psplash.o] Error 1
            make[1]: Leaving directory `/home/Qt/cmdTest/psplash-master'
            make: *** [all] Error 2
        2. 解决办法:
            ./make-image-header.sh Screenshot.png POKY
        3. 原因:
            psplash.c中的需要用到这个POKY有关的宏名,如果改了,那么这里也要跟着改。
                Qt@zengjf:~/cmdTest/psplash-master$ grep POKY *
                psplash.c:             (fb->width  - POKY_IMG_WIDTH)/2,
                psplash.c:             (fb->height - POKY_IMG_HEIGHT)/2,
                psplash.c:              / PSPLASH_IMG_SPLIT_DENOMINATOR - POKY_IMG_HEIGHT)/2,
                psplash.c:             POKY_IMG_WIDTH,
                psplash.c:             POKY_IMG_HEIGHT,
                psplash.c:             POKY_IMG_BYTES_PER_PIXEL,
                psplash.c:             POKY_IMG_ROWSTRIDE,
                psplash.c:             POKY_IMG_RLE_PIXEL_DATA);
                ......

五、完整编译过程如下:
    Qt@zengjf:~/cmdTest/psplash-master$  aclocal
    Qt@zengjf:~/cmdTest/psplash-master$ autoconf
    Qt@zengjf:~/cmdTest/psplash-master$ automake --add-missing
    configure.ac:3: installing `./install-sh'
    configure.ac:3: installing `./missing'
    Makefile.am: installing `./INSTALL'
    configure.ac:5: required file `config.h.in' not found
    Makefile.am: installing `./depcomp'
    Qt@zengjf:~/cmdTest/psplash-master$ autoreconf --install
    Qt@zengjf:~/cmdTest/psplash-master$ ./configure --host=arm-linux CC=arm-linux-gnueabihf-gcc
    configure: WARNING: if you wanted to set the --build type, don't use --host.
        If a cross compiler is detected then cross compile mode will be used
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for arm-linux-strip... no
    checking for strip... strip
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for gawk... no
    checking for mawk... mawk
    checking whether make sets $(MAKE)... yes
    checking for style of include used by make... GNU
    checking for arm-linux-gcc... arm-linux-gnueabihf-gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... yes
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... none needed
    checking dependency style of arm-linux-gnueabihf-gcc... gcc3
    checking for library containing strerror... none required
    checking for arm-linux-gcc... (cached) arm-linux-gnueabihf-gcc
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether arm-linux-gnueabihf-gcc accepts -g... (cached) yes
    checking for arm-linux-gnueabihf-gcc option to accept ISO C89... (cached) none needed
    checking dependency style of arm-linux-gnueabihf-gcc... (cached) gcc3
    checking how to run the C preprocessor... arm-linux-gnueabihf-gcc -E
    checking for grep that handles long lines and -e... /bin/grep
    checking for egrep... /bin/grep -E
    checking for ANSI C header files... yes
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating config.h
    config.status: executing depfiles commands
    Qt@zengjf:~/cmdTest/psplash-master$ make
    make  all-am
    make[1]: Entering directory `/home/Qt/cmdTest/psplash-master'
    arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I.    -g -Wall -Wextra -D_GNU_SOURCE -g -O2 -MT psplash.o -MD -MP -MF .deps/psplash.Tpo -c -o psplash.o psplash.c
    mv -f .deps/psplash.Tpo .deps/psplash.Po
    arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I.    -g -Wall -Wextra -D_GNU_SOURCE -g -O2 -MT psplash-fb.o -MD -MP -MF .deps/psplash-fb.Tpo -c -o psplash-fb.o psplash-fb.c
    mv -f .deps/psplash-fb.Tpo .deps/psplash-fb.Po
    arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I.    -g -Wall -Wextra -D_GNU_SOURCE -g -O2 -MT psplash-console.o -MD -MP -MF .deps/psplash-console.Tpo -c -o psplash-console.o psplash-console.c
    mv -f .deps/psplash-console.Tpo .deps/psplash-console.Po
    arm-linux-gnueabihf-gcc -g -Wall -Wextra -D_GNU_SOURCE -g -O2   -o psplash psplash.o psplash-fb.o psplash-console.o
    arm-linux-gnueabihf-gcc -DHAVE_CONFIG_H -I.    -g -Wall -Wextra -D_GNU_SOURCE -g -O2 -MT psplash-write.o -MD -MP -MF .deps/psplash-write.Tpo -c -o psplash-write.o psplash-write.c
    mv -f .deps/psplash-write.Tpo .deps/psplash-write.Po
    arm-linux-gnueabihf-gcc -g -Wall -Wextra -D_GNU_SOURCE -g -O2   -o psplash-write psplash-write.o
    make[1]: Leaving directory `/home/Qt/cmdTest/psplash-master'
    Qt@zengjf:~/cmdTest/psplash-master$ ls
    aclocal.m4      config.log     install-sh            psplash            psplash-console.o   psplash.o           Screenshot-img.h
    AUTHORS         config.status  Makefile              psplash-bar-img.h  psplash.doap        psplash-poky-img.h  Screenshot.png
    autom4te.cache  configure      Makefile.am           psplash.c          psplash-fb.c        psplash-write       stamp-h1
    base-images     configure.ac   Makefile.in           psplash-colors.h   psplash-fb.h        psplash-write.c
    ChangeLog       COPYING        make-image-header.sh  psplash-config.h   psplash-fb.o        psplash-write.o
    config.h        depcomp        missing               psplash-console.c  psplash.h           radeon-font.h
    config.h.in     INSTALL        NEWS                  psplash-console.h  psplash-hand-img.h  README
    Qt@zengjf:~/cmdTest/psplash-master$
        

 

时间: 2024-10-06 22:11:45

OK335xS psplash Screen 移植的相关文章

OK335xS psplash make-image-header.sh hacking

/***************************************************************************** * OK335xS psplash make-image-header.sh hacking * 说明: * 移植的时候想知道移植psplash中./make-image-header.sh Screenshot.png POKY * 最后的POKY为什么要指定,觉得只要解读这份代码就能知道为什么了. * * 2016-4-18 深圳 南山

OK335xS psplash 进度条工作原理 hacking

#!/bin/sh # # rc This file is responsible for starting/stopping # services when the runlevel changes. # # Optimization feature: # A startup script is _not_ run when the service was # running in the previous runlevel and it wasn't stopped # in the run

OK335xS ethtool 移植

/******************************************************************* * OK335xS ethtool 移植 * 声明: * 由于刘涛需要使用该工具对网卡进行相关的操作,故需要对ethtool * 进行移植. * * 2016-1-6 深圳 南山平山村 曾剑锋 ******************************************************************/ 一.参考文档: 1. 编译arm

FL2440 Linux kernel + yaffs2根文件移植过程(一)

本文全过程为自己亲自试验,成功移植了一个最基本功能的Kernel.根文件系统,现在将这个一耗时.耗精力 的过程写下来,希望对遇到相同问题的朋友们有所帮助! 平台:飞凌FL2440             windows xp sp2             vmware 6.5.build-203739              ubuntu 9.10              交叉编译器: 4.3.2              内核:linux-2.6.28.7.tar.bz2        

嵌入式linux------SDL移植(am335x下显示bmp图片)

#include<stdio.h> #include "/usr/local/ffmpeg_arm/include/SDL/SDL.h" char *bmp_name[3] = {"000.bmp","111.bmp","222.bmp"}; int main() { int i=0; //The images SDL_Surface* hello = NULL; SDL_Surface* screen = NUL

UBI 文件系统移植 sys 设备信息【转】

转自:http://blog.chinaunix.net/uid-25304914-id-3058647.html cat /sys/class/misc/ubi_ctrl/dev -------------------------------------------- UBI: attaching mtd11 to ubi0UBI: physical eraseblock size:   262144 bytes (256 KiB)UBI: logical eraseblock size:  

Linux移植随笔:对tslib库的ts_test测试程序代码的一点分析【转】

转自:http://www.latelee.org/embedded-linux/porting-linux-tstest-code.html 本文是作者对tslib库的ts_test.c文件进行分析的随笔,其实tslib的几个测试程序结构差不多,譬如ts_print.c和ts_print_raw.c等. 本文并没有涉及太多概念,也没有详细介绍这些概念,但并不代表作者对此不了解,也不代表作者对此很精通.如文中提到的input,虽只出现一个单词,但是相信许多人都知道它在文中指的是Linux操作系统

OK335xS U-boot 环境变量解析

/************************************************************************************************** * OK335xS U-boot 环境变量解析 * 声明: * 本文主要是为了知道OK335xS U-boot环境变量设置.如何选择启动方式等等内容. * * 2015-9-28 晴 深圳 南山平山村 曾剑锋 *********************************************

安卓应用开发-Java程序能移植修改为安卓app吗?

问题描述 Java程序能移植修改为安卓app吗? 我们写了一个Java的小软件,希望能改编为安卓的app,但不知道能不能做,怎么做.如果能够移植,修改会很多吗? 解决方案 你需要把里面的逻辑抽出来,搭配上Android的界面布局 解决方案二: 看你的软件复杂程度了,学一下Android开发相关的知识吧