uboot-splash screen

470 views
Skip to first unread message

Manoj Gudi

unread,
Jan 13, 2013, 10:41:09 AM1/13/13
to linux_o...@googlegroups.com
Past few days I am working on enabling uboot splash screen; Is there a way to test it on an emulator such as qemu? (I checked latest qemu-system-arm doesnt support allwinner chipsets) since dding each time will take up lot of time in again creating filesystems and copying kernel... Am I missing anything obvious?

 

Srikant

unread,
Jan 13, 2013, 11:48:37 AM1/13/13
to Manoj Gudi, linux_o...@googlegroups.com
Sorry I forgot to send last mail to group.
The link looks promising, let me try that :-)

On Sun, Jan 13, 2013 at 9:33 PM, Manoj Gudi <manoj....@gmail.com> wrote:
Yes I have read the documentation of uboot and add this line to sunxi-common.h; this is git diff =>

diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index 95d5c0d..a167bd2 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -45,6 +45,8 @@
 
 /* Clock Defines */
 
+/* Splash Screen * and its offset*/
+#define CONFIG_SPLASH_SCREEN
 
 /* Serial & console */
 #define CONFIG_SYS_NS16550


Also, this will require me to go to uboot shell and set environment variables during runtime as mentioned here

I am trying to add splashscreen during compile time by modifying fw_env.c in ./tools/env/ and defining splashscreen variable, which is tricky.

On Sun, Jan 13, 2013 at 9:20 PM, Srikant <u.srikan...@gmail.com> wrote:
I don't think qemu need to be exactly of same SOC to test boot splash(user space), any versatile ARM cortex image should do, more over we want boot splash in u-boot which I think can only be tested on tablet (AFAIK). There is no frame buffer device during uboot, first we need to enable LCD(framebuffer) to show logo.
Now there is a tux logo comes during kernel stage (approximately ~5sec after button press).

On Sun, Jan 13, 2013 at 9:11 PM, Manoj Gudi <manoj....@gmail.com> wrote:
Past few days I am working on enabling uboot splash screen; Is there a way to test it on an emulator such as qemu? (I checked latest qemu-system-arm doesnt support allwinner chipsets) since dding each time will take up lot of time in again creating filesystems and copying kernel... Am I missing anything obvious?

 .

--
 
 



Manoj Gudi

unread,
Jan 13, 2013, 11:57:04 AM1/13/13
to Srikant, linux_o...@googlegroups.com
Please lemme know if it works or not...

However keeping in mind that for mass-scale distribution of linux, we do need to add splashscreen during compile time and form one neat uboot.bin

Srikant

unread,
Jan 14, 2013, 10:10:49 PM1/14/13
to Manoj Gudi, linux_o...@googlegroups.com
Hi, still trying..unable to configure kernel with 'CONFIG_FB_PRE_INIT_FB' mentioned in this link
http://www.denx.de/wiki/DULG/LinuxSplashScreen

Manoj Gudi

unread,
Jan 14, 2013, 10:37:34 PM1/14/13
to Srikant, linux_o...@googlegroups.com
okay, I am working on compile time addition on uboot splash... lemme see what i can come up with

Also I tried out Py_Finder, it works perfectly well... added some patches to removfe some glitches like to have quit button (v0.9.2)etc...


Manoj Gudi

unread,
Jan 15, 2013, 12:14:02 PM1/15/13
to Srikant, linux_o...@googlegroups.com
Okay, the uboot splashscreen is hard nut to crack...

What I am trying to do ->

1> setenv splashimage method(mentioned in previous messages) cannot be used at all since it is runtime modification of uboot environment variables. They hace used tftp connection during a network boot (most of arm boards support that, I dont think aakash does.)

2> I think the only sensible way to do this is 
   a> Save our bmp image as a 8bpp or 16bpp .c or any header file using gimp software(It saves an array of pixel position, data)
   b> Import the bmp header file in our config file (sunxi-common.h)
   c> write a lcd_write function that is initiated at bootup, this lcd function will write each bitmap pixel value as given in header file

something like this

#ifdef CONFIG_SPLASH_SCREEN
      #include"our_bmp_image.h"
      draw_bmp_lcd(pixel_number, bmp_pixel_data)
#endif

3> I am intermediate in embedded C programming and this would take time for me to search correct functions in huge linux-sunxi repository, also the datasheet/support for allwinner a13 seems less(official datasheet has just half page documentation of lcd)...
It would be kind if any one can guide me in where to hunt these function and methods

Srikant

unread,
Jan 15, 2013, 12:19:43 PM1/15/13
to Manoj Gudi, linux_o...@googlegroups.com
LCD init of kernel ??
Kernel shows display only after fb module loaded then it shows linux logo. You can try this config file for logo.
Rename it to .config and put it in linux-sunxi directory.
.config-10-1-2013.logo.stable

Srikant

unread,
Jan 15, 2013, 12:22:07 PM1/15/13
to Manoj Gudi, linux_o...@googlegroups.com
We need a way to initialize lcd(fb driver) in uboot to get any immediate image

Manoj Gudi

unread,
Jan 15, 2013, 12:27:31 PM1/15/13
to Srikant, linux_o...@googlegroups.com
On Tue, Jan 15, 2013 at 10:52 PM, Srikant <u.srikan...@gmail.com> wrote:
We need a way to initialize lcd(fb driver) in uboot to get any immediate image

Exactly. defining CONFIG_SPLASH_SCREEN implicitly enables bitmap support for uboot, which I believe, will take care of loading of fb driver 

isachin

unread,
Jan 18, 2013, 1:01:23 AM1/18/13
to Manoj Gudi, Srikant, linux_o...@googlegroups.com
I have opend and issue regarding Uboot Splash, in case anyone wants to follow up

https://github.com/linux-sunxi/linux-sunxi/issues/111


--
 
 



--
Sachin

Manoj Gudi

unread,
Jan 18, 2013, 1:21:27 PM1/18/13
to isachin, linux_o...@googlegroups.com
It might sound silly, feel free to ignore if it doesnt make sense

During my embedded C days, I used to refer datasheets before writing code; like reading 16char LCD toshiba-display datasheet which contained all information like registers which must be enabled and data registers etc...

Do we have any datasheets for aakash peripherals(mainly LCD controller) ?? All I could find is scanty information in a brief datasheet of allwinner a13 chipset.
Or is this unnecessary and incorrect and proper variables must be configured in kernel which do these things automatically?

Srikant

unread,
Jan 18, 2013, 1:24:09 PM1/18/13
to Manoj Gudi, isachin, linux_o...@googlegroups.com
For what you need datasheet. You can try tracking the lcd vendor first in the boot log of android. But i'm curious to know why suddenly lcd?

--
 
 

Manoj Gudi

unread,
Jan 18, 2013, 1:27:05 PM1/18/13
to Srikant, isachin, linux_o...@googlegroups.com
On Fri, Jan 18, 2013 at 11:54 PM, Srikant <u.srikan...@gmail.com> wrote:
For what you need datasheet. You can try tracking the lcd vendor first in the boot log of android.
>> How do we check boot log (not very familiar to android), a link would help 
But i'm curious to know why suddenly lcd?
>> Uboot splashscreen, as mentioned earlier I plan to write own function to display pixel data and plug it in during boot-time

Srikant

unread,
Jan 18, 2013, 1:31:53 PM1/18/13
to Manoj Gudi, isachin, linux_o...@googlegroups.com
Ok got it.

adb logcat
send its content to a local file.

Manoj Gudi

unread,
Jan 21, 2013, 3:43:48 AM1/21/13
to Srikant, isachin, linux_o...@googlegroups.com
Here's one interesting idea worth investigating=> getting rid of uboot
I do understand uboot's advantages like a tftp boot and hush support, but sadly aakash cannot network boot using tftp.. 

which means we cannot use the shell and thus simple solution of enabling boot-splash by setting up environment variables (using setenv) wont work.

Here's a brief video which I stumbled upon frustratingly trying to solve this:
briefly this video describes using linux as bootloader instead of uboot (logically it seems correct since most of uboot drivers and arch support are directly forked from linux repo)

The speaker in this video has similar problems on a beagleboard, it has ethernet but doesnt support tftp boot (since its a usb-nic). He plans to use kexec feature of linux along with a tiny initrd/ramfs to boot linux from sdcard.

It has a long way to go, but I find it worth investigating

Srikant

unread,
Jan 21, 2013, 3:48:55 AM1/21/13
to Manoj Gudi, isachin, linux_o...@googlegroups.com
OK, I will check it in a while.
Meanwhile you guys can also explore this http://www.alwaysinnovating.com/products/aios.htm
If we can port this, many problems will be answered

Manoj Gudi

unread,
Jan 23, 2013, 10:34:05 AM1/23/13
to Srikant, linux_o...@googlegroups.com
hey Srikant, can you please give me the .config file for the (white)device which I have

I tried the current .config files, which generate 3.6mb image (on booting touch doesnt work), the original image which this device(white colored) had 3.9mb uImage
Reply all
Reply to author
Forward
0 new messages