/***********************************************************************
* OK335xS psplash Screen 移植
* 说明:
* 有时候,每次看到TI的logo自己心里是不爽的,因为本来就是定制的东西,
* 为什么还要他的开机Logo呢,于是自己尝试移植编译一下psplash。
*
* 2016-4-16 深圳 南山平山村 曾剑锋
**********************************************************************/ 一、参考文档:
. Customizing the SDK Splash Screen
http://processors.wiki.ti.com/index.php/Customizing_the_SDK_Splash_Screen
. Makefile Makefile.am Makefile.in
http://blog.csdn.net/OLillian/article/details/6281126
. config.h.in missing? #
https://github.com/stevedh/readingdb/issues/1 二、download:
http://git.yoctoproject.org/cgit/cgit.cgi/psplash/commit/ 三、编译、运行流程:
. aclocal;
. autoconf;
. automake --add-missing;
. autoreconf --install
. ./configure --host=arm-linux CC=arm-linux-gnueabihf-gcc;
. make.
. Replace the /usr/bin/psplash file in your root file system with the generated psplash file. 四、编译错误:
. error:
. 现象:
Qt@zengjf:~/cmdTest/psplash-master$ ./autogen.sh --host=arm-linux CC=arm-linux-gnueabihf-gcc
bash: ./autogen.sh: No such file or directory
. 解决办法:
. aclocal;
. autoconf;
. automake --add-missing;
. ./configure --host=arm-linux CC=arm-linux-gnueabihf-gcc;
. make.
. error:
. 现象:
configure.ac:: required file `config.h.in' not found
. 解决办法:
autoreconf --install
. error:
. 现象:
......
Screenshot-img.h::: warning: missing whitespace after the macro name [enabled by default]
Screenshot-img.h::: warning: "psplash" redefined [enabled by default]
Screenshot-img.h::: note: this is the location of the previous definition
psplash.c: In function ‘main’:
psplash.c::: error: ‘POKY_IMG_WIDTH’ undeclared (first use in this function)
psplash.c::: note: each undeclared identifier is reported only once for each function it appears in
psplash.c::: error: ‘POKY_IMG_HEIGHT’ undeclared (first use in this function)
psplash.c::: error: ‘POKY_IMG_BYTES_PER_PIXEL’ undeclared (first use in this function)
psplash.c::: error: ‘POKY_IMG_ROWSTRIDE’ undeclared (first use in this function)
psplash.c::: error: ‘POKY_IMG_RLE_PIXEL_DATA’ undeclared (first use in this function)
make[]: *** [psplash.o] Error
make[]: Leaving directory `/home/Qt/cmdTest/psplash-master'
make: *** [all] Error
. 解决办法:
./make-image-header.sh Screenshot.png POKY
. 原因:
psplash.c中的需要用到这个POKY有关的宏名,如果改了,那么这里也要跟着改。
Qt@zengjf:~/cmdTest/psplash-master$ grep POKY *
psplash.c: (fb->width - POKY_IMG_WIDTH)/,
psplash.c: (fb->height - POKY_IMG_HEIGHT)/,
psplash.c: / PSPLASH_IMG_SPLIT_DENOMINATOR - POKY_IMG_HEIGHT)/,
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:: installing `./install-sh'
configure.ac:: installing `./missing'
Makefile.am: installing `./INSTALL'
configure.ac:: 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[]: 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[]: 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$

OK335xS psplash Screen 移植的更多相关文章

  1. OK335xS psplash make-image-header.sh hacking

    /***************************************************************************** * OK335xS psplash mak ...

  2. OK335xS psplash 进度条工作原理 hacking

    #!/bin/sh # # rc This file is responsible for starting/stopping # services when the runlevel changes ...

  3. OK335xS ethtool 移植

    /******************************************************************* * OK335xS ethtool 移植 * 声明: * 由于 ...

  4. ubuntu OPENCV移植

    Installing OpenCV 2.4.1 in Ubuntu 12.04 LTS 这是转载国外一篇文章  移植PC上的OPENCV  http://www.samontab.com/web/20 ...

  5. S5PV210开发系列四_uCGUI的移植

    S5PV210开发系列四 uCGUI的移植 象棋小子          1048272975 GUI(图形用户界面)极大地方便了非专业用户的使用,用户无需记忆大量的命令,取而代之的是能够通过窗体.菜单 ...

  6. U-BOOT 移植到友善之臂mini2440

    U-BOOT 移植到友善之臂mini2440 开发环境:ubuntu 10.10 编译器:友善之臂mini2440光盘自带arm-linux-gcc 4.4.3 一. 在denx官网下载源码,我所用版 ...

  7. Lenovo k860i 移植Android 4.4 cm11进度记录【下篇--实时更新中】

    2014.8.24 k860i的cm11的移植在中断了近两三个月之后又開始继续了,进度记录的日志上一篇已经没什么写的了,就完结掉它吧,又一次开一篇日志做下篇好了.近期的战况是,在scue同学的努力之下 ...

  8. android4.0移植,拨号异常

    D/dalvikvm( 2274): GC_CONCURRENT freed 206K, 12% free 6571K/7431K, paused 2ms+3ms D/dalvikvm( 2274): ...

  9. LCD驱动移植在在mini2440(linux2.6.29)和FS4412(linux3.14.78)上实现对比(deep dive)

    1.Linux帧缓冲子系统 帧缓冲(FrameBuffer)是Linux为显示设备提供的一个接口,用户可以将帧缓冲看成是显示内存的一种映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作 ...

随机推荐

  1. execvp使用实例

    问题描述:           本程序实现模拟shell功能,用户输入命令,返回相应的结果 问题解决: 注:        以上指出了execvp函数的使用,使用时第一个参数是文件名,第二个参数是一个 ...

  2. oracle一些函数

    NVL( string1, replace_with):判断string1是否为空,如果是空就用replace_with代替. NVL2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回 ...

  3. AngularJS 基础

    1. AngularJs 是一个JS 框架,是一种基于MVC的设计模式 2. script 需引用 <script src="angular.min.js">,安装包 ...

  4. C# Socket服务器端如何判断客户端断开

    使用Socket类中的Poll方法,就可以. Socket client //假如已经创建好了,连接到服务器端得Socket的客户端对象. 我们只要client.Poll(10,SelectMode. ...

  5. POJ 1850

    #include <iostream> #include <string> using namespace std; int fac(int num); int C(int n ...

  6. Linux下c++通过动态链接库调用类

    http://hi.baidu.com/ablenavy/item/b498901c6826bbf587ad4e33 Linux下的动态链接库叫so,即Shared Object,共享对象.一些函数就 ...

  7. gcc / g++ 编译选项

    g++ -Wall -m64 -W -O2 a.cpp b.cpp -o a 用下面的命令编译,生成libtriangle.so  先生成动态库 g++ -g -fpic -shared -o lib ...

  8. hdu 3579 Hello Kiki

    不互质的中国剩余定理…… 链接http://acm.hdu.edu.cn/showproblem.php?pid=3579 #include<iostream>#include<st ...

  9. VBS生成随机数

    自动化工作中常常遇到因数据重复使业务无法提交的问题,我想到了利用随机数来解决这个问题,下面对VBS生成随机数做下解析: 一.Randomize语句 Randomize :初始化随机数生成器. 语法 : ...

  10. 为什么需要用到序列化?为什么HttpSession中对象要序列化

    简单说就是为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来.虽然你可以用你自己的各种各样的方法来保存Object States,但是Java给你提供一种应该比你自己好的保存对象状态的 ...