CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 10866|回复: 7

[嵌入式学习]开机全屏LOGO,去掉启动打印

[复制链接]
发表于 2014-8-23 10:18:53 | 显示全部楼层 |阅读模式
本帖最后由 @allen 于 2014-9-1 20:40 编辑


更多的基于cubieboard 的学习贴可搜:嵌入式学习



使用的3.4.79内核,ct-lubuntu-server   卡系统,ct nand 板子

1)制作logo的方法:
a. 使用gimp软件
1、打开自己LOGO图片,在image/mode/indexed..中修改最大颜色数为224
2、保存为ppm格式,选择asiic存放格式
3、代替logo目录下相应图形即可



b.  linux 工具(pngtopnm,pnmquant,pnmtoplainpnm)

$pngtopnm linuxlogo.png > linuxlogo.pnm
$pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
$pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm
或者
$bmptoppm pic.bmp > temp1.ppm //生成ppm
$ppmquant 224 temp1.ppm > temp2.ppm  //转换成224颜色
$pnmnoraw temp2.ppm > logo.ppm   //转换成ascii格式

我用gimp,linux 工具没试过,命令不知道正不正确

2)配置logo选项在内核路径下执行make menuconfig
开发板上开启logo显示的选项
a、选择虚拟控制台显示驱动
Device Drivers --->Graphicssupport --->下有
选项Console display driver support---> <*>Framebuffer console support
选项 Bootup logo ---><*> Standart 224-color linux logo

一般都选上了,可以跳过这部分


3)修改文件

1.  重命名自己的LOGO文件 为 logo_linux_clut224.ppm ,拷贝到 drivers/video/logo/logo_linux_clut224.ppm ,最好备份原来的

2.  
a.   如果只想在左上角显示LOGO,已经做完成了,重新编译内核,丢到板子启动应该能看到LOGO。看不到LOGO的情况是图片格式不是224 ,图片太大了


b.   如果想全屏显示LOGO,
         
则修改
  1. diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
  2. index a01317c..6a5999b 100644
  3. --- a/drivers/video/console/fbcon.c
  4. +++ b/drivers/video/console/fbcon.c
  5.         if (fb_get_color_depth(&info->var, &info->fix) == 1)
  6.                 erase &= ~0x400;
  7.         logo_height = fb_prepare_logo(info, ops->rotate);
  8. +       logo_height += (info->var.yres / 2) - (logo_height / 2);
  9.         logo_lines = DIV_ROUND_UP(logo_height, vc->vc_font.height);
复制代码
  1. diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
  2. index 5641a22..5163c50 100644
  3. --- a/drivers/video/fbmem.c
  4. +++ b/drivers/video/fbmem.c
  5. @@ -493,11 +493,14 @@ static int fb_show_logo_line(struct fb_info *info, int rotate,
  6.                 fb_set_logo(info, logo, logo_new, fb_logo.depth);
  7.         }
  8. -       image.dx = 0;
  9. -       image.dy = y;
  10.         image.width = logo->width;
  11.         image.height = logo->height;

  12. +       image.dx = (info->var.xres / 2) - (image.width / 2);
  13. +       image.dy = (info->var.yres / 2) - (image.height / 2);
  14. +
  15.         if (rotate) {
  16.                 logo_rotate = kmalloc(logo->width *
  17.                                       logo->height, GFP_KERNEL);
复制代码
3)去掉启动打印
添加  console=null 到  第一分区的nEvn.txt


注意改了后,串口会用不了


附件是我 ppm格式的LOGO



最后说下linux 企鹅 LOGO,内核启动会依据检测到cpu核心显示企鹅,A10会显示一只企鹅 ,A20会显示两只企鹅,八核就能看到八只企鹅



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

发表于 2014-8-25 13:31:53 | 显示全部楼层
非常有用。收藏了
回复 支持 反对

使用道具 举报

发表于 2015-12-30 10:37:39 | 显示全部楼层
请问去掉启动打印的命令路径是怎样的?
回复 支持 反对

使用道具 举报

发表于 2016-1-22 17:15:55 | 显示全部楼层
为啥我配置内核后 编译在烧录 A20就不启动了呢
回复 支持 反对

使用道具 举报

发表于 2016-5-27 16:55:26 | 显示全部楼层
我按照下面的方法设置就不启动了,串口打印到sunxi_rtc_gettime(34): err, losc_err_flag is 1 就停止了

Device Drivers --->Graphicssupport --->下有
选项Console display driver support---> <*>Framebuffer console support
选项 Bootup logo ---><*> Standart 224-color linux logo

以下是串口打印信息
Starting kernel ...

aw_pm_init: not support super standby.
aw_pm_init: script_parser_fetch err.
notice: ir_wakeup = 0.
can't get item for emac_power gpio !
rtc_hw_init(416) err: set clksrc to external losc failed! rtc time will be wrong
sunxi_rtc_gettime(34): err, losc_err_flag is 1
回复 支持 反对

使用道具 举报

发表于 2016-7-5 17:05:50 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2016-8-22 15:25:19 | 显示全部楼层
学习了,我使用的是
$pngtopnm linuxlogo.png > linuxlogo.pnm
$pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
$pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm
回复 支持 反对

使用道具 举报

发表于 2016-9-23 15:11:03 | 显示全部楼层
base bootcmd=run setargs_nand boot_normal
bootcmd set setargs_nand
key 0
recovery key high 6, low 4
cant find fstbt value
to be run cmd=run setargs_nand boot_normal
the user data'magic is bad
WORK_MODE_BOOT
sunxi_bmp_display
WORK_MODE_BOOT
[      0.847]Hit any key to stop autoboot:  0
read boot or recovery all
[      1.395]sunxi flash read ffset 4000000, 13273337 bytes OK
[      1.403]ready to boot
NAND_UbootExit
NB1 : NAND_LogicExit
[      1.406]
Starting kernel ...

aw_pm_init: not support super standby.
can't get item for emac_power gpio !

打印,卡在这里了
求助!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-11-22 18:12 , Processed in 0.027176 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部