android6.0 bootlogo替换

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

android6.0 bootlogo替换

7,824 Views
blackhuang
Contributor I

Dear NXP,

               我使用的是i.mx6 sabresd_6dq  系统是android6.0 内核是4.1.15.

现在想把uboot和内核的bootlogo更换为自己的启动画面。查看下面链接Patch to support uboot logo keep from uboot to kernel for NXP Linux and Android BSP (HDMI, LCD and L... 

使用的是M6.0.1_2.1.0_uboot_logo_keep_patch_2017-01-06.zip

根据readme打好patch,但是有以下疑问,还请帮忙解答:

问题一、我使用make menuconfig查看、无下面选项

Before "make zImage KCFLAGS=-mno-android", make menuconfig can be used to select the display type.
System Type --->
Freescale MXC Implementations --->
MX6 clk setting for smooth UI transtion from bootloader to kernel --->
/
( ) Smooth UI transtion on LCD, IPU1, DI0
( ) Smooth UI transtion on LVDS, IPU1, DI0
( ) Smooth UI transtion on LVDS, IPU1, DI1
( ) Smooth UI transtion on LVDS, IPU2, DI1
( ) Smooth UI transtion on HDMI, IPU1, DI0
(X) Smooth UI transtion on HDMI, IPU2, pastedImage_2.png

是否有影响?

问题二:

         假设上面问题无影响。我使用的是emmc启动,自己的logo.bmp  push到系统中后,

需要将它dd到那个具体分区才能替换掉uboot和内核之前的bootlogo.

-- dd the logo.bmp to SD card address 0x100000 and skip the 54 bytes bmp file header.
sudo dd if=logo.bmp of=/dev/sdc bs=1 seek=1048576 skip=54

下面是系统中的分区表

pastedImage_3.png

非常感谢你们的帮忙!!!

Labels (1)
Tags (1)
0 Kudos
30 Replies

7,166 Views
blackhuang
Contributor I

Dear nxp 

              I have sent the question for a week, can't give a reply?

0 Kudos

7,166 Views
jimmychan
NXP TechSupport
NXP TechSupport

Could you tell me more information?

Is the patch applied successfully?

what do you mean the u-boot cannot display normally? any picture or error message?

0 Kudos

7,166 Views
blackhuang
Contributor I

Hi jimmychan,

               Have you made any progress? Or any good Suggestions?

0 Kudos

7,166 Views
jimmychan
NXP TechSupport
NXP TechSupport

It is because you apply the patch not success. Please apply the patch again. The option "MX6 clk setting for smooth UI transtion from bootloader to kernel " should be  in menuconfig if you successfully applied the 0002-Keep-uboot-logo-for-linux-boot-supports-LCD.patch

0 Kudos

7,166 Views
blackhuang
Contributor I

hi jimmychan

               非常感谢您的帮助,我使用patch -p1 <  ./..... 已经将patch打好、但是关于将logo.bmp dd的位置还麻烦您再次帮助一下。

是根据readme  dd到外部sd卡上,还是要dd到系统具体分区上(如问题2)?我是采用emmc启动。

0 Kudos

7,166 Views
jimmychan
NXP TechSupport
NXP TechSupport

According to the readme, "dd" the bmp to address 0x100000. In the patch (0001-Enable-uboot-logo-for-HDMI-LCD-and-LVDS.patch), the UBOOT_LOGO_BMP_ADDR is defined as 0x00100000.

And in the patch, you can see it read the bmp from the mmc device. You may add "printf" if you not sure the data has read properly. 

+#ifdef CONFIG_UBOOT_LOGO_ENABLE
+ unsigned int size = DISPLAY_WIDTH * DISPLAY_HEIGHT * (DISPLAY_BPP / 8);
+ unsigned char * pData;
+ unsigned int start, count;
+ int i, bmpReady = 0;
+ int mmc_dev = mmc_get_env_devno();
+ struct mmc *mmc = find_mmc_device(mmc_dev);
+
+ pData = (unsigned char *)CONFIG_FB_BASE;
+
+ if (mmc) {
+  if (mmc_init(mmc) == 0) {
+   start = ALIGN(UBOOT_LOGO_BMP_ADDR, mmc->read_bl_len) / mmc->read_bl_len;
+   count = ALIGN(size, mmc->read_bl_len) / mmc->read_bl_len;
+   mmc->block_dev.block_read(mmc_dev, start, count, pData);
+   bmpReady = 1;
+  }
+ }

0 Kudos

7,166 Views
blackhuang
Contributor I

hi jimmychan 

               我将修改MX6 clk setting for smooth UI transtion from bootloader to kernel  配置取消就恢复正常啦。

0 Kudos

7,165 Views
jimmychan
NXP TechSupport
NXP TechSupport

It is looking for a camera. is there a camera on your board? you may check if the camera driver affected or not.

0 Kudos

7,165 Views
blackhuang
Contributor I

hi jimmychan

               i need you help!!!

0 Kudos

7,165 Views
jimmychan
NXP TechSupport
NXP TechSupport

I was asked expert for helping this. I will let you know when I get the reply.

0 Kudos

7,165 Views
blackhuang
Contributor I

hi jimmychan,

            我这边咨询了很多客户、都反应这个patch没有成功过。都出现系统司机或者其他问题

0 Kudos

7,165 Views
jimmychan
NXP TechSupport
NXP TechSupport

I got the reply:

===============

The customer can use while(1) dead loop step by step to check the patch is well applied or not. In each step of the modified code, the display should keep there, if the display failed to work, that means that code is not modified correct, it will cause hang up or other issues.

===============

0 Kudos

7,165 Views
blackhuang
Contributor I

ok\  i see.

但是我只想知道是否有人在android6的版本上使用成功过?

而且即使我使用您说的方法测试、但是依旧会报错啊、该如何解决?

0 Kudos

7,164 Views
jimmychan
NXP TechSupport
NXP TechSupport

The expert created the patch so he tried this on the sabresd board.

The expert want customer to double check that the patch should be applied correct first.

0 Kudos

7,164 Views
blackhuang
Contributor I

jimmychan

            根据显示看是内核的图片跟uboot没有衔接上、下面链接是我拍摄的视频供您参考。

已经又确认了一次patch、都已经收到增加了。

链接:https://pan.baidu.com/s/1hbLAGyVflqk9k-tDEw4PMw
提取码:tsa2
还麻烦您多帮忙看看!!!

0 Kudos

7,164 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

你需要用while(1)死循环,一步一步定位,那一段代码之后,显示衔接不上的。

Uboot的patch没有打错的话,在刚刚进kernel的imx6q_clocks_init()开始的时候,display显示应该是保持的,然后就一步一步在你改patch的代码后面加“while(1);”,看看哪一个代码之后,display不连续的,这样就找到了问题的地方。

0 Kudos

7,164 Views
blackhuang
Contributor I

hi Qiang Li

               补充一下,在ipu_common.c后面(patch为0002-Keep-uboot-logo-for-linux-boot-supports-LCD打的)继续打while(1)后

具体为显示为uboot正常,kernel还是未显示,系统正常。测试后续patch文件效果一样

0 Kudos

7,164 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

Hi Black,

需要先从clk-imx6q.c来查,比如把while(1)放在imx6q_clocks_init()的最后。ipu_common.c已经是后面的代码了。

另外一个,需要确认“CONFIG_MX6_CLK_FOR_BOOTUI_TRANS”这个宏是生效的。

如果Uboot到Android启动中间显示,显示是有异常的,即使最后Android起来后又恢复了,在大量测试中,还是会有display不显示的概率的。

不需要单独测试0001-MLK-12614-mxc-IPUv3-common-Refactor-pixel-clock-tree.patch,这个patch的功能不是保持Uboot logo一直显示,它只是把当前kernel缺失的代码从最新的kernel整合过来。另外的3个patch才是实现保持Uboot logo这个功能的。

0 Kudos

7,164 Views
blackhuang
Contributor I

hi Qiang Li

               我把while(1)放在imx6q_clocks_init()最后也是显示正常的(显示保持),我理解您说得概率。但是我现在一次都没有显示成功过。

CONFIG_MX6_CLK_FOR_BOOTUI_TRANS也使用while(1)进行验证是正常。

现在始终无法使kernel显示出来。您这边是否还有其他需要我注意的,或者有更好的建议?

我的bootargs 是否有影响等

console=ttymxc0,115200 init=/init video=mxcfb0:dev=lcd, CLAA-WVGA if= RGB24,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=256M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=384M androidboot.selinux=disabled androidboot.dm_verity=disabled

项目紧急、还希望您多多帮助,非常感谢!!!

0 Kudos

7,164 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

请仔细比较你移植的patch和原始patch的不同点,调试方法也告诉你了,patch在官方开发板上都是验证过的,很多客户也都用它量产了。

有问题,一般都是移植的问题,移植到你们的板子这个事情只能靠你们自己。

0 Kudos